第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
第8章 自定义控件 196
第9章 组合控件 232
第10章 打造安装包 265
第11章 事件交互 281
第12章 动画特效 312
第13章 网络通信 351
第14章 多媒体 394
第15章 手机阅读 423
第16章 感知定位 469
第17章 物联网 503
第18章 智能语音 545
第19章 机器视觉 575
第20章 在线直播 602
附录A 移动互联网行业的新技术
发展简表 630
附录B Android各版本的新增
功能简表 632
附录C Android常用开发库说明简表 634
附录D 移动开发专业术语索引 636
附录E 本书的服务端程序说明 639