AndroidStudio开发实战:从零基础到App上线(第3版)(移动开发丛书)

AndroidStudio开发实战:从零基础到App上线(第3版)(移动开发丛书)

免费查看
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书第2版面世已近4年,在此期间信息科技快速发展,万物互联、智慧城市、见屏如见面等场景已从早些年的概念变成如今的生活常态,与此同时,安卓系统无论版本还是开发技术也有了较大的变化。有鉴于此,便有了重新修订之后的本书第3版问世。第3版并不是对第2版的简单修补,而是脱胎换骨式的全面升级。新版主要有以下5点重要的增补变化:1.工具更新颖新版书的App开发全部基于Android12环境,使用的开发工具为AndroidStudioDophin(小海豚版本),JNI用到的NDK则为r23。相关功能都根据上述新版本工具展开论述,比如Android12新增支持AVIF图像、强制使用64位应用,JetPack库内含DataStore、Room、ViewPager2、CameraX等流行组件。2.技术更先进例如物联网涉及的NFC、红外、低功耗蓝牙、快速扫码等,人工智能涉及的语音识别、语音合成、人脸识别、活体检测等,实时音视频涉及的WebSocket、WebRTC、原始音频、视频通话等,第3版为此投入了大量笔墨深入描述相关技术细节。3.案例更实用本书的一大特色是突出实战,每章都给出了技术精炼的实战项目。第3版更是将这个优良传统发扬光大,一方面给部分现有项目补充新功能,例如聊天App原来只支持私聊,新版本增加支持群聊;阅读App除了支持现有格式外,改造后还支持Office文档(含Word、Excel、PPT)。另一方面新增了若干新潮实用的实战项目,包括无线遥控智能小车、智能语音机器人、自动寻人的智慧天眼、手机直播等。4.自主更可控每个App都凝聚着开发者的心血,持续稳定运行非常重要。然而有时由于外部原因导致App无法使用,例如国外服务遭到断供、不在服务范围之内等。为此第3版介绍了稳定可靠的国内自主服务,包括HMS(华为移动服务)、TBS(腾讯浏览服务)。另外,语音服务和地图服务也选用能方便快速集成的第三方SDK。5.讲解更精细作为一部软件开发方面的图书,旨在让读者看得懂、学得会,循序渐进的重要性毋庸置疑。第3版在这方面进行了大力改善,首先增加了第2章AndroidApp开发必备的基础知识,有助于读者打好基础往下学习;其次,对于App开发的4大组件补充了更加全面的描述以及各组件在不同Android版本中需要注意的事项;第三,大幅精简示例源码,避免代码过长引起的疲惫感。综上所述,经过精心修订的第3版图书,无论是广度还是深度,从数量到质量都比第2版有了飞跃的提升。全书的写作目的,不但是教会读者怎么快速开发一个好玩、好看、好用的App,更是让读者领略移动互联网行业的前沿科技,这才是本书一直想要呈献给读者的知识盛宴。

内容简介

本书是一部Android开发的实战教程,由浅入深、由基础到高级,带领读者一步一步走进App开发的神奇世界。全书共分为20章。其中,前10章是基础部分,主要讲解Android Studio的环境搭建、App开发的各种常用控件、App开发的四大组件、App的数据存储方式、如何打造App的安装包;后10章是进阶部分,主要讲解App开发的事件交互、动画特效、网络通信、多媒体、手机阅读、感知定位、物联网、智能语音、机器视觉、在线直播等。书中在讲解知识点的同时给出了大量实战范例,方便读者迅速将所学的知识运用到实际开发中。通过本书的学习,读者不仅能够掌握3类主流App的基本开发技术,包括购物App(电子商务)、聊天App(即时通信)、娱乐App(短视频分享),还能够学会开发一些趣味应用,包括计算器、记账本、抠图工具、动感影集、电子阅读、附近交友、遥控小车、语音问答、人脸识别、视频通话等。

本书适用于Android开发的广大从业者、有志于转型App开发的程序员、App开发的业余爱好者,也可作为大中专院校与培训机构的Android课程教材。

作者简介

欧阳燊  

资深软件开发专家,有14年以上软件开发经验,熟悉C/C++、Java及相关软件架构,从事Android开发8年以上,有丰富的Android开发实战经验。已出版畅销书《Android Studio开发实战:从零基础到App上线》《Kotlin从零到精通Android开发》等。

章节目录

第1章  Android开发环境搭建 1

1.1  Android开发简介 1

1.1.1  Android的发展历程 1

1.1.2  Android Studio的发展历程 2

1.2  搭建Android Studio开发环境 2

1.2.1  计算机配置要求 2

1.2.2  安装Android Studio 3

1.2.3  下载Android的SDK 6

1.3  创建并编译App工程 7

1.3.1  创建新项目 7

1.3.2  导入已有的工程 9

1.3.3  编译App工程 10

1.4  运行和调试App 11

1.4.1  创建内置模拟器 11

1.4.2  在模拟器上运行App 14

1.4.3  观察App的运行日志 15

1.5  小结 16

1.6  动手练习 16

第2章  Android App开发基础 17

2.1  App的开发特点 17

2.1.1  App的运行环境 17

2.1.2  App的开发语言 19

2.1.3  App连接的数据库 22

2.2  App的工程结构 23

2.2.1  App工程目录结构 23

2.2.2  编译配置文件build.gradle 24

2.2.3  运行配置文件AndroidManifest.xml 26

2.3  App的设计规范 27

2.3.1  界面设计与代码逻辑 28

2.3.2  利用XML标记描绘应用界面 29

2.3.3  使用Java代码书写程序逻辑 30

2.4  App的活动页面 31

2.4.1  创建新的App页面 31

2.4.2  快速生成页面源码 33

2.4.3  跳转到另一个页面 34

2.5  小结 35

2.6  动手练习 36

第3章  简单控件 37

3.1  文本显示 37

3.1.1  设置文本的内容 37

3.1.2  设置文本的大小 38

3.1.3  设置文本的颜色 40

3.2  视图基础 42

3.2.1  设置视图的宽和高 42

3.2.2  设置视图的间距 44

3.2.3  设置视图的对齐方式 45

3.3  常用布局 46

3.3.1  线性布局LinearLayout 46

3.3.2  相对布局RelativeLayout 49

3.3.3  网格布局GridLayout 51

3.3.4  滚动视图ScrollView 52

3.4  按钮触控 53

3.4.1  按钮控件Button 53

3.4.2  点击事件和长按事件 55

3.4.3  禁用与恢复按钮 56

3.5  图像显示 58

3.5.1  图像视图ImageView 58

3.5.2  图像按钮ImageButton 60

3.5.3  同时展示文本与图像 61

3.6  实战项目:计算器 62

3.6.1  需求描述 62

3.6.2  界面设计 62

3.6.3  关键代码 63

3.7  小结 65

3.8  动手练习 65

第4章  常用组件 66

4.1  启停活动页面 66

4.1.1  Activity的启动和结束 66

4.1.2  Activity的生命周期 67

4.1.3  Activity的启动模式 70

4.2  在活动之间传递消息 73

4.2.1  显式Intent和隐式Intent 73

4.2.2  普通的活动数据交互 75

4.2.3  改进后的活动数据交互 78

4.3  收发应用广播 80

4.3.1  收发标准广播 80

4.3.2  收发有序广播 83

4.3.3  收发静态广播 84

4.3.4  定时管理器AlarmManager 86

4.4  操作后台服务 89

4.4.1  服务的启动和停止 89

4.4.2  服务的绑定与解绑 92

4.4.3  活动与服务之间的交互 94

4.5  小结 96

4.6  动手练习 96

第5章  中级控件 97

5.1  图形定制 97

5.1.1  图形Drawable 97

5.1.2  形状图形 98

5.1.3  九宫格图片 101

5.1.4  状态列表图形 102

5.2  选择按钮 103

5.2.1  复选框CheckBox 103

5.2.2  开关按钮Switch 105

5.2.3  单选按钮RadioButton 106

5.3  文本输入 108

5.3.1  编辑框EditText 108

5.3.2  焦点变更监听器 110

5.3.3  文本变化监听器 111

5.4  对话框 113

5.4.1  提醒对话框AlertDialog 113

5.4.2  日期对话框DatePickerDialog 115

5.4.3  时间对话框TimePickerDialog 116

5.5  实战项目:找回密码 117

5.5.1  需求描述 117

5.5.2  界面设计 118

5.5.3  关键代码 119

5.6  小结 121

5.7  动手练习 121

第6章  数据存储 122

6.1  键值对 122

6.1.1  共享参数的用法 122

6.1.2  实现记住密码功能 123

6.1.3  更安全的数据仓库 124

6.2  数据库 126

6.2.1  SQL的基本语法 127

6.2.2  数据库管理器SQLiteDatabase 129

6.2.3  数据库帮助器SQLiteOpenHelper 130

6.2.4  优化记住密码功能 133

6.3  存储卡 135

6.3.1  私有存储空间与公共存储空间 135

6.3.2  在存储卡上读写文件 136

6.3.3  运行时动态申请权限 139

6.4  应用组件Application 142

6.4.1  Application的生命周期 142

6.4.2  利用Application操作全局变量 143

6.4.3  避免方法数过多的问题 144

6.4.4  利用Room简化数据库操作 145

6.5  共享数据 148

6.5.1  通过ContentProvider封装数据 148

6.5.2  通过ContentResolver访问数据 151

6.5.3  利用ContentResolver读写联系人 153

6.5.4  利用ContentObserver监听短信 154

6.6  实战项目:购物车 156

6.6.1  需求描述 156

6.6.2  界面设计 158

6.6.3  关键代码 159

6.7  小结 163

6.8  动手练习 163

第7章  高级控件 164

7.1  下拉框 164

7.1.1  下拉框控件Spinner 164

7.1.2  数组适配器ArrayAdapter 166

7.1.3  简单适配器SimpleAdapter 166

7.2  列表类视图 168

7.2.1  基本适配器BaseAdapter 168

7.2.2  列表视图ListView 170

7.2.3  网格视图GridView 174

7.3  翻页类视图 176

7.3.1  翻页视图ViewPager 176

7.3.2  翻页标签栏PagerTabStrip 179

7.3.3  简单的启动引导页 180

7.4  碎片Fragment 183

7.4.1  碎片的静态注册 183

7.4.2  碎片的动态注册 185

7.4.3  改进的启动引导页 188

7.5  实战项目:记账本 190

7.5.1  需求描述 190

7.5.2  界面设计 191

7.5.3  关键代码 192

7.6  小结 195

7.7  动手练习 195

第8章  自定义控件 196

8.1  视图的构建过程 196

8.1.1  视图的构造方法 196

8.1.2  视图的测量方法 199

8.1.3  视图的绘制方法 202

8.2  改造已有的控件 205

8.2.1  自定义月份选择器 205

8.2.2  给翻页标签栏添加新属性 206

8.2.3  不滚动的列表视图 208

8.3  推送消息通知 210

8.3.1  通知推送Notification 210

8.3.2  通知渠道NotificationChannel 213

8.3.3  推送服务到前台 215

8.3.4  仿微信的悬浮通知 216

8.4  通过持续绘制实现简单动画 221

8.4.1  Handler的延迟机制 221

8.4.2  重新绘制视图界面 222

8.4.3  自定义饼图动画 224

8.5  实战项目:广告轮播 227

8.5.1  需求描述 227

8.5.2  界面设计 227

8.5.3  关键代码 228

8.6  小结 231

8.7  动手练习 231

第9章  组合控件 232

9.1  底部标签栏 232

9.1.1  利用BottomNavigationView实现底部标签栏 232

9.1.2  自定义标签按钮 236

9.1.3  结合RadioGroup和ViewPager自定义底部标签栏 238

9.2  顶部导航栏 241

9.2.1  工具栏Toolbar 241

9.2.2  溢出菜单OverflowMenu 242

9.2.3  标签布局TabLayout 244

9.3  增强型列表 246

9.3.1  循环视图RecyclerView 247

9.3.2  布局管理器LayoutManager 249

9.3.3  动态更新循环视图 252

9.4  升级版翻页 254

9.4.1  下拉刷新布局SwipeRefreshLayout 254

9.4.2  第二代翻页视图ViewPager2 256

9.4.3  给ViewPager2集成标签布局 259

9.5  实战项目:电商首页 261

9.5.1  需求描述 261

9.5.2  界面设计 262

9.5.3  关键代码 263

9.6  小结 264

9.7  动手练习 264

第10章  打造安装包 265

10.1  应用打包 265

10.2  规范处理 271

10.3  安全加固 276

10.4  小结 280

10.5  动手练习 280

第11章  事件交互 281

11.1  按键事件 281

11.2  触摸事件 285

11.3  根据触摸行为辨别手势动作 293

11.4  手势冲突处理 300

11.5  实战项目:仿美图秀秀的抠图工具 309

11.6  小结 311

11.7  动手练习 311

第12章  动画特效 312

12.1  帧动画 312

12.2  补间动画 318

12.3  属性动画 325

12.4  遮罩动画及滚动器 335

12.5  实战项目:仿手机QQ的动感影集 344

12.6  小结 350

12.7  动手练习 350

第13章  网络通信 351

13.1  多线程 351

13.2  HTTP访问 358

13.3  图片加载 368

13.4  即时通信 375

13.5  实战项目:仿微信的私聊和群聊 383

13.6  小结 393

13.7  动手练习 393

第14章  多媒体 394

14.1  音频录播 394

14.2  传统摄制 399

14.3  增强摄制 407

14.4  实战项目:仿抖音的短视频分享 416

14.5  小结 422

14.6  动手练习 422

第15章  手机阅读 423

15.1  浏览网页 423

15.2  浏览PDF文件 435

15.3  浏览Office文档 444

15.4  JNI开发 451

15.5  实战项目:笔墨飘香之电子书架 462

15.6  小结 467

15.7  动手练习 468

第16章  感知定位 469

16.1  传感器 469

16.2  基础定位 476

16.3  地图导航 486

16.4  实战项目:仿微信的附近的人 496

16.5  小结 501

16.6  动手练习 502

第17章  物联网 503

17.1  短距离通信 503

17.2  传统蓝牙 515

17.3  低功耗蓝牙 526

17.4  实战项目:自动驾驶的智能小车 538

17.5  小结 544

17.6  动手练习 544

第18章  智能语音 545

18.1  原生语音处理 545

18.2  在线语音处理 551

18.3  基于机器学习的语音推断 561

18.4  实战项目:你问我答之小小机器人 566

18.5  小结 574

18.6  动手练习 574

第19章  机器视觉 575

19.1  简单图像识别 575

19.2  人脸识别 583

19.3  人像进阶 590

19.4  实战项目:寻人神器之智慧天眼 596

19.5  小结 601

19.6  动手练习 601

第20章  在线直播 602

20.1  搭建WebRTC的服务端 602

20.2  给App集成WebRTC 608

20.3  实战项目:仿微信的视频通话 616

20.4  实战项目:仿拼多多的直播带货 621

20.5  小结 629

20.6  动手练习 629

附录A  移动互联网行业的新技术发展简表 630

附录B  Android各版本的新增功能简表 632

附录C  Android常用开发库说明简表 634

附录D  移动开发专业术语索引 636

附录E  本书的服务端程序说明 639


AndroidStudio开发实战:从零基础到App上线(第3版)(移动开发丛书)是1970年由清华大学出版社出版,作者欧阳燊。

得书感谢您对《AndroidStudio开发实战:从零基础到App上线(第3版)(移动开发丛书)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
网站设计 开发 维护 推广 从入门到精通 电子书

畅销图书 全新升级 ——经久不衰的经典教程震撼升级,诠释网页制作的新技术。 实例典型 轻松易学 ——以实例方式讲解理论知识,直观、具体,有助于快速上手。 边学边做 学以致用 ——涵盖网页制作中的各类知识,高效解决工作中的实际问题。 配套课件 便于总结 ——精心配备了课件和案例文件,便于老师教学以及学生复习。 (配套素材文件及PPT课件请扫描封底左侧二维码进入社区,搜索本书书名即可进去资源下载页面)
鸿蒙应用开发实战 电子书

本书为华为鸿蒙系统HarmonyOS开发图书,以JavaScript为开发语言,提供完整源代码。
罗布乐思开发官方指南:从入门到实践 电子书
PyQt编程快速上手:PythonGUI开发从入门到实践 电子书

PyQt实用工具书,帮助读者快速上手功能强大的开发工具,轻松掌握GUI开发技巧,创建各式各样的桌面程序。
Python机器学习开发实战 电子书

Python机器学习入门,以实战为重点,配有大量代码和案例,简单、快速、易学。
SpringBoot开发与测试实战 电子书

一本关于Spring Boot应用程序开发和测试的入门图书。
Angular开发入门与实战 电子书

深入浅出学Angular,实战驱动,快速提升开发实力。