商品详情
书名:Kotlin移动应用开发技术
定价:108.0
ISBN:9787121414466
作者:白喆
版次:第1版
出版时间:2021-07
内容提要:
本书基于Kotlin语言对Android移动应用程序开发的知识点进行总结,对常用的SDK进行分析,并通过实例工程进行演示。本书共15章,内容包括Android的开发环境、工程创建、工程结构、Kotlin基础语法、控件与布局、活动与碎片、后台服务与广播、数据存储与共享、多媒体与传感器、HTTP网络通信、快速开发套件、“粉色辣椒”开发流程等。针对使用技巧、注意事项和相关概念,本书还提供了相应的“提示”。
作者简介:
白喆,沈阳师范大学新闻与传播学院教师,多次获得第七届全国信息技术应用水平大赛*佳指导教师奖,第四届全国大学生广告艺术大赛优秀指导教师奖等。
目录:
第1章 Android的基础知识 1
1.1 Android与Andy Rubin 1
1.2 Android的开发环境 1
1.2.1 Android Studio的下载 1
1.2.2 Android Studio的安装 2
1.2.3 Android SDK的下载安装 2
1.2.4 Android Studio界面 4
1.2.5 Gradle更新 7
1.2.6 重构工程 9
1.3 创建Android工程 9
1.3.1 Android工程的新建命令 9
1.3.2 Android工程的创建向导 10
1.3.3 虚拟设备运行工程 12
1.3.4 物理设备运行工程 15
1.3.5 生成签名的APK文件 15
1.4 Android的工程结构 17
1.4.1 Project视图 17
1.4.2 AndroidManifest.xml文件 18
1.4.3 build.gradle文件 19
1.4.4 res文件夹 20
第2章 Kotlin基础 21
2.1 简介 21
2.2 变量 21
2.2.1 变量的命名规则 21
2.2.2 变量的命名方法 21
2.2.3 变量的声明 22
2.3 数据类型 22
2.3.1 基本数据类型 22
2.3.2 基本数据类型的自动转换 23
2.3.3 基本数据类型的强制转换 23
2.3.4 引用数据类型 24
2.4 运算符和位运算 24
2.4.1 算术运算符 24
2.4.2 关系运算符 26
2.4.3 逻辑运算符 27
2.4.4 赋值运算符 28
2.4.5 运算符优先级 29
2.5 字符串 29
2.5.1 字符串字面量 29
2.5.2 String类 30
2.5.3 StringBuffer类和
StringBuilder类 33
2.6 分支语句 35
2.6.1 if语句 35
2.6.2 if…else语句 36
2.6.3 if…else if…else语句 37
2.6.4 when语句 38
2.7 循环语句 39
2.7.1 while语句 39
2.7.2 do…while语句 40
2.7.3 for语句 41
2.7.4 repeat语句 42
2.7.5 break语句 42
2.7.6 continue语句 43
2.8 数组 44
2.8.1 创建元素未初始化的数组 44
2.8.2 创建元素初始化的数组 45
2.8.3 空数组 46
2.8.4 二维数组 47
2.9 函数和Lambda表达式 48
2.9.1 函数和高阶函数 48
2.9.2 匿名函数 50
2.9.3 Lambda表达式的基本形式 51
2.9.4 Lambda表达式参数的
省略形式 53
2.9.5 let、also、apply、with和
run函数 53
第3章 Kotlin的面向对象基础 56
3.1 类 56
3.1.1 类的声明 56
3.1.2 创建类的实例 57
3.1.3 属性的get()和set()方法 61
3.1.4 扩展属性和扩展方法 64
3.1.5 自动生成KDoc文档 66
3.1.6 继承 69
3.2 重写与重载 71
3.3 抽象类和抽象方法 73
3.4 包 74
3.5 封装和访问控制符 75
3.6 接口 78
3.7 委托 80
3.7.1 类的委托 80
3.7.2 变量的委托 82
3.8 属性的延迟初始化 83
3.8.1 lateinit 83
3.8.2 by lazy 83
第4章 Kotlin的面向对象进阶 85
4.1 数据类 85
4.2 密封类 86
4.3 对象类 87
4.4 伴生对象 88
4.5 枚举 89
4.5.1 枚举基础用法 89
4.5.2 枚举进阶用法 91
4.6 集合 91
4.6.1 Set集合 91
4.6.2 List集合 93
4.6.3 Map类 94
4.7 泛型 96
4.7.1 泛型类 96
4.7.2 泛型接口 98
4.7.3 泛型方法 99
4.8 异常处理 100
4.8.1 异常处理基础用法 101
4.8.2 异常处理进阶用法 103
4.8.3 自定义异常处理用法 104
4.9 多线程 106
4.9.1 Thread类 106
4.9.2 Runnable接口 109
4.9.3 Callable接口 111
4.9.4 Synchronized注解和
synchronized代码块 112
4.9.5 volatile注解 115
4.10 协程 116
4.10.1 添加依赖库 116
4.10.2 协程作用域 117
4.10.3 启动协程 118
4.10.4 挂起协程 124
第5章 Android的基础控件 126
5.1 控件基础 126
5.1.1 控件的创建方式 126
5.1.2 View类 128
5.1.3 UI控件的常用单位 129
5.2 文本视图 130
5.2.1 TextView控件 130
5.2.2 实例工程:显示文本 131
5.3 输入框 133
5.3.1 EditText控件 133
5.3.2 实例工程:输入发送信息 134
5.4 按钮 136
5.4.1 Button控件 136
5.4.2 实例工程:单击按钮获取
系统时间 136
5.5 图像视图 138
5.5.1 ImageView控件 138
5.5.2 实例工程:显示图像 138
5.6 图像按钮 140
5.6.1 ImageButton控件 140
5.6.2 实例工程:提示广播信息
状态的图像按钮 140
5.7 单选按钮 142
5.7.1 RadioButton控件 142
5.7.2 实例工程:选择性别的
单选框 143
5.8 复选框 145
5.8.1 Checkbox控件 145
5.8.2 实例工程:兴趣爱好的
复选框 146
5.9 开关按钮 148
5.9.1 Switch控件 148
5.9.2 实例工程:房间灯的
开关按钮 149
5.10 提示信息 150
5.10.1 Toast控件 150
5.10.2 实例工程:不同位置显示的
提示信息 151
5.11 对话框 153
5.11.1 AlertDialog控件 153
5.11.2 实例工程:默认对话框和
自定义对话框 154
5.12 日期选择器 157
5.12.1 DatePicker控件 157
5.12.2 实例工程:设置日期的
日期选择器 157
5.13 时间选择器 159
5.13.1 TimePicker控件 159
5.13.2 实例工程:设置时间的
时间选择器 159
5.14 滚动条视图 161
5.14.1 ScrollView控件 161
5.14.2 实例工程:滚动显示视图 162
5.15 通知 164
5.15.1 Notification控件 164
5.15.2 实例工程:弹出式通知和
自定义视图通知 167
第6章 Android的布局组件 170
6.1 线性布局 170
6.1.1 LinearLayout组件 170
6.1.2 实例工程:动态视图的
线性布局 171
6.2 相对布局 172
6.2.1 RelativeLayout组件 172
6.2.2 实例工程:显示方位的
相对布局 173
6.3 表格布局 175
6.3.1 TableLayout组件 175
6.3.2 实例工程:登录界面的
表格视图 175
6.4 网格布局 177
6.4.1 GridLayout组件 177
6.4.2 实例工程:模仿计算器界面的
网格布局 177
6.5 帧布局 179
6.5.1 FrameLayout组件 179
6.5.2 实例工程:分层显示图像的
帧布局 179
6.6 约束布局 180
6.6.1 ConstraintLayout组件 180
6.6.2 实例工程:模仿朋友圈顶部的
约束布局 181
第7章 Android的进阶控件与
适配绑定 183
7.1 数据适配原理 183
7.2 列表视图 183
7.2.1 ListView控件 183
7.2.2 实例工程:简单数据的
列表视图 184
7.2.3 实例工程:带缓存的
自定义视图列表 186
7.3 网格视图 190
7.3.1 GridView控件 190
7.3.2 实例工程:显示商品类别的
网格视图 190
7.4 悬浮框 194
7.4.1 PopupWindow控件 194
7.4.2 实例工程:单击按钮显示
自定义悬浮框 194
7.5 翻转视图 199
7.5.1 ViewFlipper控件 199
7.5.2 实例工程:轮流显示图像的
翻转视图 200
7.6 分页视图 202
7.6.1 ViewPager控件 202
7.6.2 实例工程:欢迎引导页 203
7.7 视图绑定 208
7.7.1 ViewBinding 208
7.7.2 实例工程:使用视图绑定
改造欢迎引导页 209
7.8 数据绑定 210
7.8.1 DataBinding 210
7.8.2 BaseObservable类 211
7.8.3 ObservableField类 211
7.8.4 实例工程:使用数据绑定
改造欢迎引导页 211
第8章 Android的基本程序单元 216
8.1 活动 216
8.1.1 Activity组件 216
8.1.2 Activity的创建和删除 218
8.1.3 Activity的启动和关闭 219
8.1.4 Activity的生命周期 222
8.1.5 Activity的启动模式 226
8.1.6 实例工程:Activity的
数据传递 231
8.2 碎片 234
8.2.1 Fragment组件 234
8.2.2 Fragment的生命周期 236
8.2.3 实例工程:导航分页的
主界面 237
第9章 Android的后台服务与广播 241
9.1 服务 241
9.1.1 Service组件 241
9.1.2 Service的生命周期 242
9.1.3 实例工程:Service的
开启和停止 243
9.1.4 实例工程:Service的
绑定和数据传递 245
9.1.5 实例工程:Service显示
Notification 250
9.2 广播接收器 251
9.2.1 BroadcastReceiver组件 251
9.2.2 接收广播 253
9.2.3 实例工程:显式和隐式
接收广播 253
9.2.4 发送广播 257
9.2.5 实例工程:发送标准广播和
有序广播 257
第10章 Android的数据存储与共享 260
10.1 共享偏好设置 260
10.1.1 SharedPreferences组件 260
10.1.2 实例工程:用户登录 262
10.2 轻量级数据库 263
10.2.1 SQLite的字段类型 263
10.2.2 SQLite组件 264
10.2.3 实例工程:自定义通讯录 267
10.3 内容提供者 270
10.3.1 URI 270
10.3.2 数据交换原理 270
10.3.3 ContentProvider组件 271
10.3.4 实例工程:自定义内容
提供者 273
10.3.5 实例工程:访问和修改
系统通讯录数据 279
10.4 JavaScript对象表示法 285
10.4.1 JSON的数据结构 286
10.4.2 JSONObject类 287
10.4.3 实例工程:合成和
解析JSON数据 288
第11章 Android的多媒体与传感器 291
11.1 系统相机和相册 291
11.1.1 实例工程:拍照、选取和
显示图片 291
11.1.2 实例工程:录制、选取和
播放视频 298
11.2 拍摄照片和录制视频 299
11.2.1 Camera2组件 299
11.2.2 ImageReader类 305
11.2.3 MediaRecorder类 306
11.2.4 实例工程:使用Camera2
类拍摄照片 309
11.2.5 实例工程:使用Camera2类
录制视频 317
11.3 录制音频 324
11.3.1 AudioRecord类 324
11.3.2 AudioTrack类 325
11.3.3 实例工程:使用AudioRecord类
录音 326
11.3.4 实例工程:使用MediaRecorder类
录音 329
11.4 传感器 331
11.4.1 Sensor组件 331
11.4.2 运动类传感器 332
11.4.3 实例工程:摇一摇比大小 333
11.4.4 位置类传感器 335
11.4.5 实例工程:指南针 336
11.4.6 环境类传感器 338
11.4.7 实例工程:光照计和气压计 339
11.5 位置服务 340
11.5.1 Location组件 340
11.5.2 实例工程:获取经纬度坐标 342
第12章 Android的HTTP网络通信 345
12.1 HttpURLConnection类 345
12.2 实例工程:加载网络
图片(带缓存) 346
12.3 实例工程:发布动态
(POST方式) 351
12.4 实例工程:动态列表
(GET方式) 355
第13章 Android的快速开发套件 359
13.1 Jetpack简介 359
13.2 回收视图 360
13.2.1 RecyclerView控件 360
13.2.2 实例工程:瀑布流
动态列表 363
13.3 滑动刷新布局 366
13.3.1 SwipeRefreshLayout组件 366
13.3.2 实例工程:下拉刷新和
上拉加载的动态列表 366
13.4 生物特征认证 373
13.4.1 Biometric组件 373
13.4.2 实例工程:指纹支付 374
13.5 感知生命周期 377
13.5.1 Lifecycle组件 377
13.5.2 实例工程:改造使用
Camera2类录制视频 380
13.6 视图模型 382
13.6.1 ViewModel组件 382
13.6.2 实例工程:足球赛记分器 383
13.7 实时数据 387
13.7.1 LiveData组件 387
13.7.2 实例工程:联想搜索关键字 389
第14章 “粉色辣椒”开发流程 393
14.1 项目介绍 393
14.1.1 市场分析 393
14.1.2 产品定位 393
14.1.3 产品展望 393
14.2 开发流程 394
14.3 开放平台介绍 394
14.3.1 客户端框架结构 394
14.3.2 开发者账号 394
14.3.3 基础工程 396
14.3.4 设置服务器端 397
14.3.5 设置开发者账号和
开发序列号 397
14.4 启动图标 398
14.5 数据模型 399
14.5.1 开发者数据类 399
14.5.2 用户数据类 400
14.5.3 动态数据类 401
14.5.4 动态回复数据类 403
14.5.5 关注数据类 403
14.5.6 消息数据类 403
14.6 欢迎模块 404
14.7 注册模块组 404
14.7.1 注册账号模块 405
14.7.2 找回密码模块 416
14.7.3 登录模块 418
14.8 首页模块组1 421
14.8.1 首页模块 421
14.8.2 附近模块 423
14.8.3 动态列表模块 425
14.8.4 关注模块 436
14.9 发布动态模块 437
14.9.1 发布动态的服务器端
接口页面 437
14.9.2 过滤类 438
14.9.3 发布动态的Activity 439
14.10 MVVM模式 443
14.10.1 逻辑关系 444
14.10.2 优势和劣势 444
14.11 首页模块组2 444
14.11.1 偶遇模块 444
14.11.2 提醒模块 469
14.11.3 自己模块 482
14.12 回复动态模块 491
14.12.1 发布回复的服务器端
接口页面 491
14.12.2 发布回复的视图模型类 492
14.12.3 发布回复的布局 493
14.12.4 发布回复的Activity类 493
14.13 关注和粉丝列表模块 495
14.13.1 关注列表和粉丝列表的
服务器端接口页面 495
14.13.2 关注列表的视图模型类 496
14.13.3 关注或粉丝列表的
子视图缓存类 497
14.13.4 关注或粉丝列表的
Fragment类 498
14.13.5 关注列表的Activity类 499
14.13.6 粉丝列表的Activity类 499
14.14 搜索动态模块 499
14.14.1 搜索关键字提示的
服务器端接口 499
14.14.2 搜索动态的服务器端
接口页面 501
14.14.3 关键字提示列表的
适配器类 501
14.14.4 搜索动态的视图模型类 502
14.14.5 搜索动态的Activity类 502
14.15 私信模块 505
14.15.1 发送私信的服务器端
接口页面 505
14.15.2 发送私信的视图模型类 506
14.15.3 发送私信的Activity类 507
14.15.4 私信箱的Activity类 507
14.16 设置模块组 509
14.16.1 设置的Activity类 509
14.16.2 设置头像的服务器端
接口页面 510
14.16.3 设置头像的视图模型类 510
14.16.4 设置头像的Activity类 511
14.16.5 重置密码的服务器端
接口页面 512
14.16.6 重置密码的视图模型类 512
14.16.7 重置密码的Activity类 513
14.16.8 提交验证身份证的
服务器端接口页面 513
14.16.9 验证身份证的视图模型类 514
14.16.10 验证身份证的Activity类 515
14.17 应用程序发布 516
14.17.1 生成APK文件 516
14.17.2 发布到网站或应用市场 519
参考文献 520
定价:108.0
ISBN:9787121414466
作者:白喆
版次:第1版
出版时间:2021-07
内容提要:
本书基于Kotlin语言对Android移动应用程序开发的知识点进行总结,对常用的SDK进行分析,并通过实例工程进行演示。本书共15章,内容包括Android的开发环境、工程创建、工程结构、Kotlin基础语法、控件与布局、活动与碎片、后台服务与广播、数据存储与共享、多媒体与传感器、HTTP网络通信、快速开发套件、“粉色辣椒”开发流程等。针对使用技巧、注意事项和相关概念,本书还提供了相应的“提示”。
作者简介:
白喆,沈阳师范大学新闻与传播学院教师,多次获得第七届全国信息技术应用水平大赛*佳指导教师奖,第四届全国大学生广告艺术大赛优秀指导教师奖等。
目录:
第1章 Android的基础知识 1
1.1 Android与Andy Rubin 1
1.2 Android的开发环境 1
1.2.1 Android Studio的下载 1
1.2.2 Android Studio的安装 2
1.2.3 Android SDK的下载安装 2
1.2.4 Android Studio界面 4
1.2.5 Gradle更新 7
1.2.6 重构工程 9
1.3 创建Android工程 9
1.3.1 Android工程的新建命令 9
1.3.2 Android工程的创建向导 10
1.3.3 虚拟设备运行工程 12
1.3.4 物理设备运行工程 15
1.3.5 生成签名的APK文件 15
1.4 Android的工程结构 17
1.4.1 Project视图 17
1.4.2 AndroidManifest.xml文件 18
1.4.3 build.gradle文件 19
1.4.4 res文件夹 20
第2章 Kotlin基础 21
2.1 简介 21
2.2 变量 21
2.2.1 变量的命名规则 21
2.2.2 变量的命名方法 21
2.2.3 变量的声明 22
2.3 数据类型 22
2.3.1 基本数据类型 22
2.3.2 基本数据类型的自动转换 23
2.3.3 基本数据类型的强制转换 23
2.3.4 引用数据类型 24
2.4 运算符和位运算 24
2.4.1 算术运算符 24
2.4.2 关系运算符 26
2.4.3 逻辑运算符 27
2.4.4 赋值运算符 28
2.4.5 运算符优先级 29
2.5 字符串 29
2.5.1 字符串字面量 29
2.5.2 String类 30
2.5.3 StringBuffer类和
StringBuilder类 33
2.6 分支语句 35
2.6.1 if语句 35
2.6.2 if…else语句 36
2.6.3 if…else if…else语句 37
2.6.4 when语句 38
2.7 循环语句 39
2.7.1 while语句 39
2.7.2 do…while语句 40
2.7.3 for语句 41
2.7.4 repeat语句 42
2.7.5 break语句 42
2.7.6 continue语句 43
2.8 数组 44
2.8.1 创建元素未初始化的数组 44
2.8.2 创建元素初始化的数组 45
2.8.3 空数组 46
2.8.4 二维数组 47
2.9 函数和Lambda表达式 48
2.9.1 函数和高阶函数 48
2.9.2 匿名函数 50
2.9.3 Lambda表达式的基本形式 51
2.9.4 Lambda表达式参数的
省略形式 53
2.9.5 let、also、apply、with和
run函数 53
第3章 Kotlin的面向对象基础 56
3.1 类 56
3.1.1 类的声明 56
3.1.2 创建类的实例 57
3.1.3 属性的get()和set()方法 61
3.1.4 扩展属性和扩展方法 64
3.1.5 自动生成KDoc文档 66
3.1.6 继承 69
3.2 重写与重载 71
3.3 抽象类和抽象方法 73
3.4 包 74
3.5 封装和访问控制符 75
3.6 接口 78
3.7 委托 80
3.7.1 类的委托 80
3.7.2 变量的委托 82
3.8 属性的延迟初始化 83
3.8.1 lateinit 83
3.8.2 by lazy 83
第4章 Kotlin的面向对象进阶 85
4.1 数据类 85
4.2 密封类 86
4.3 对象类 87
4.4 伴生对象 88
4.5 枚举 89
4.5.1 枚举基础用法 89
4.5.2 枚举进阶用法 91
4.6 集合 91
4.6.1 Set集合 91
4.6.2 List集合 93
4.6.3 Map类 94
4.7 泛型 96
4.7.1 泛型类 96
4.7.2 泛型接口 98
4.7.3 泛型方法 99
4.8 异常处理 100
4.8.1 异常处理基础用法 101
4.8.2 异常处理进阶用法 103
4.8.3 自定义异常处理用法 104
4.9 多线程 106
4.9.1 Thread类 106
4.9.2 Runnable接口 109
4.9.3 Callable接口 111
4.9.4 Synchronized注解和
synchronized代码块 112
4.9.5 volatile注解 115
4.10 协程 116
4.10.1 添加依赖库 116
4.10.2 协程作用域 117
4.10.3 启动协程 118
4.10.4 挂起协程 124
第5章 Android的基础控件 126
5.1 控件基础 126
5.1.1 控件的创建方式 126
5.1.2 View类 128
5.1.3 UI控件的常用单位 129
5.2 文本视图 130
5.2.1 TextView控件 130
5.2.2 实例工程:显示文本 131
5.3 输入框 133
5.3.1 EditText控件 133
5.3.2 实例工程:输入发送信息 134
5.4 按钮 136
5.4.1 Button控件 136
5.4.2 实例工程:单击按钮获取
系统时间 136
5.5 图像视图 138
5.5.1 ImageView控件 138
5.5.2 实例工程:显示图像 138
5.6 图像按钮 140
5.6.1 ImageButton控件 140
5.6.2 实例工程:提示广播信息
状态的图像按钮 140
5.7 单选按钮 142
5.7.1 RadioButton控件 142
5.7.2 实例工程:选择性别的
单选框 143
5.8 复选框 145
5.8.1 Checkbox控件 145
5.8.2 实例工程:兴趣爱好的
复选框 146
5.9 开关按钮 148
5.9.1 Switch控件 148
5.9.2 实例工程:房间灯的
开关按钮 149
5.10 提示信息 150
5.10.1 Toast控件 150
5.10.2 实例工程:不同位置显示的
提示信息 151
5.11 对话框 153
5.11.1 AlertDialog控件 153
5.11.2 实例工程:默认对话框和
自定义对话框 154
5.12 日期选择器 157
5.12.1 DatePicker控件 157
5.12.2 实例工程:设置日期的
日期选择器 157
5.13 时间选择器 159
5.13.1 TimePicker控件 159
5.13.2 实例工程:设置时间的
时间选择器 159
5.14 滚动条视图 161
5.14.1 ScrollView控件 161
5.14.2 实例工程:滚动显示视图 162
5.15 通知 164
5.15.1 Notification控件 164
5.15.2 实例工程:弹出式通知和
自定义视图通知 167
第6章 Android的布局组件 170
6.1 线性布局 170
6.1.1 LinearLayout组件 170
6.1.2 实例工程:动态视图的
线性布局 171
6.2 相对布局 172
6.2.1 RelativeLayout组件 172
6.2.2 实例工程:显示方位的
相对布局 173
6.3 表格布局 175
6.3.1 TableLayout组件 175
6.3.2 实例工程:登录界面的
表格视图 175
6.4 网格布局 177
6.4.1 GridLayout组件 177
6.4.2 实例工程:模仿计算器界面的
网格布局 177
6.5 帧布局 179
6.5.1 FrameLayout组件 179
6.5.2 实例工程:分层显示图像的
帧布局 179
6.6 约束布局 180
6.6.1 ConstraintLayout组件 180
6.6.2 实例工程:模仿朋友圈顶部的
约束布局 181
第7章 Android的进阶控件与
适配绑定 183
7.1 数据适配原理 183
7.2 列表视图 183
7.2.1 ListView控件 183
7.2.2 实例工程:简单数据的
列表视图 184
7.2.3 实例工程:带缓存的
自定义视图列表 186
7.3 网格视图 190
7.3.1 GridView控件 190
7.3.2 实例工程:显示商品类别的
网格视图 190
7.4 悬浮框 194
7.4.1 PopupWindow控件 194
7.4.2 实例工程:单击按钮显示
自定义悬浮框 194
7.5 翻转视图 199
7.5.1 ViewFlipper控件 199
7.5.2 实例工程:轮流显示图像的
翻转视图 200
7.6 分页视图 202
7.6.1 ViewPager控件 202
7.6.2 实例工程:欢迎引导页 203
7.7 视图绑定 208
7.7.1 ViewBinding 208
7.7.2 实例工程:使用视图绑定
改造欢迎引导页 209
7.8 数据绑定 210
7.8.1 DataBinding 210
7.8.2 BaseObservable类 211
7.8.3 ObservableField类 211
7.8.4 实例工程:使用数据绑定
改造欢迎引导页 211
第8章 Android的基本程序单元 216
8.1 活动 216
8.1.1 Activity组件 216
8.1.2 Activity的创建和删除 218
8.1.3 Activity的启动和关闭 219
8.1.4 Activity的生命周期 222
8.1.5 Activity的启动模式 226
8.1.6 实例工程:Activity的
数据传递 231
8.2 碎片 234
8.2.1 Fragment组件 234
8.2.2 Fragment的生命周期 236
8.2.3 实例工程:导航分页的
主界面 237
第9章 Android的后台服务与广播 241
9.1 服务 241
9.1.1 Service组件 241
9.1.2 Service的生命周期 242
9.1.3 实例工程:Service的
开启和停止 243
9.1.4 实例工程:Service的
绑定和数据传递 245
9.1.5 实例工程:Service显示
Notification 250
9.2 广播接收器 251
9.2.1 BroadcastReceiver组件 251
9.2.2 接收广播 253
9.2.3 实例工程:显式和隐式
接收广播 253
9.2.4 发送广播 257
9.2.5 实例工程:发送标准广播和
有序广播 257
第10章 Android的数据存储与共享 260
10.1 共享偏好设置 260
10.1.1 SharedPreferences组件 260
10.1.2 实例工程:用户登录 262
10.2 轻量级数据库 263
10.2.1 SQLite的字段类型 263
10.2.2 SQLite组件 264
10.2.3 实例工程:自定义通讯录 267
10.3 内容提供者 270
10.3.1 URI 270
10.3.2 数据交换原理 270
10.3.3 ContentProvider组件 271
10.3.4 实例工程:自定义内容
提供者 273
10.3.5 实例工程:访问和修改
系统通讯录数据 279
10.4 JavaScript对象表示法 285
10.4.1 JSON的数据结构 286
10.4.2 JSONObject类 287
10.4.3 实例工程:合成和
解析JSON数据 288
第11章 Android的多媒体与传感器 291
11.1 系统相机和相册 291
11.1.1 实例工程:拍照、选取和
显示图片 291
11.1.2 实例工程:录制、选取和
播放视频 298
11.2 拍摄照片和录制视频 299
11.2.1 Camera2组件 299
11.2.2 ImageReader类 305
11.2.3 MediaRecorder类 306
11.2.4 实例工程:使用Camera2
类拍摄照片 309
11.2.5 实例工程:使用Camera2类
录制视频 317
11.3 录制音频 324
11.3.1 AudioRecord类 324
11.3.2 AudioTrack类 325
11.3.3 实例工程:使用AudioRecord类
录音 326
11.3.4 实例工程:使用MediaRecorder类
录音 329
11.4 传感器 331
11.4.1 Sensor组件 331
11.4.2 运动类传感器 332
11.4.3 实例工程:摇一摇比大小 333
11.4.4 位置类传感器 335
11.4.5 实例工程:指南针 336
11.4.6 环境类传感器 338
11.4.7 实例工程:光照计和气压计 339
11.5 位置服务 340
11.5.1 Location组件 340
11.5.2 实例工程:获取经纬度坐标 342
第12章 Android的HTTP网络通信 345
12.1 HttpURLConnection类 345
12.2 实例工程:加载网络
图片(带缓存) 346
12.3 实例工程:发布动态
(POST方式) 351
12.4 实例工程:动态列表
(GET方式) 355
第13章 Android的快速开发套件 359
13.1 Jetpack简介 359
13.2 回收视图 360
13.2.1 RecyclerView控件 360
13.2.2 实例工程:瀑布流
动态列表 363
13.3 滑动刷新布局 366
13.3.1 SwipeRefreshLayout组件 366
13.3.2 实例工程:下拉刷新和
上拉加载的动态列表 366
13.4 生物特征认证 373
13.4.1 Biometric组件 373
13.4.2 实例工程:指纹支付 374
13.5 感知生命周期 377
13.5.1 Lifecycle组件 377
13.5.2 实例工程:改造使用
Camera2类录制视频 380
13.6 视图模型 382
13.6.1 ViewModel组件 382
13.6.2 实例工程:足球赛记分器 383
13.7 实时数据 387
13.7.1 LiveData组件 387
13.7.2 实例工程:联想搜索关键字 389
第14章 “粉色辣椒”开发流程 393
14.1 项目介绍 393
14.1.1 市场分析 393
14.1.2 产品定位 393
14.1.3 产品展望 393
14.2 开发流程 394
14.3 开放平台介绍 394
14.3.1 客户端框架结构 394
14.3.2 开发者账号 394
14.3.3 基础工程 396
14.3.4 设置服务器端 397
14.3.5 设置开发者账号和
开发序列号 397
14.4 启动图标 398
14.5 数据模型 399
14.5.1 开发者数据类 399
14.5.2 用户数据类 400
14.5.3 动态数据类 401
14.5.4 动态回复数据类 403
14.5.5 关注数据类 403
14.5.6 消息数据类 403
14.6 欢迎模块 404
14.7 注册模块组 404
14.7.1 注册账号模块 405
14.7.2 找回密码模块 416
14.7.3 登录模块 418
14.8 首页模块组1 421
14.8.1 首页模块 421
14.8.2 附近模块 423
14.8.3 动态列表模块 425
14.8.4 关注模块 436
14.9 发布动态模块 437
14.9.1 发布动态的服务器端
接口页面 437
14.9.2 过滤类 438
14.9.3 发布动态的Activity 439
14.10 MVVM模式 443
14.10.1 逻辑关系 444
14.10.2 优势和劣势 444
14.11 首页模块组2 444
14.11.1 偶遇模块 444
14.11.2 提醒模块 469
14.11.3 自己模块 482
14.12 回复动态模块 491
14.12.1 发布回复的服务器端
接口页面 491
14.12.2 发布回复的视图模型类 492
14.12.3 发布回复的布局 493
14.12.4 发布回复的Activity类 493
14.13 关注和粉丝列表模块 495
14.13.1 关注列表和粉丝列表的
服务器端接口页面 495
14.13.2 关注列表的视图模型类 496
14.13.3 关注或粉丝列表的
子视图缓存类 497
14.13.4 关注或粉丝列表的
Fragment类 498
14.13.5 关注列表的Activity类 499
14.13.6 粉丝列表的Activity类 499
14.14 搜索动态模块 499
14.14.1 搜索关键字提示的
服务器端接口 499
14.14.2 搜索动态的服务器端
接口页面 501
14.14.3 关键字提示列表的
适配器类 501
14.14.4 搜索动态的视图模型类 502
14.14.5 搜索动态的Activity类 502
14.15 私信模块 505
14.15.1 发送私信的服务器端
接口页面 505
14.15.2 发送私信的视图模型类 506
14.15.3 发送私信的Activity类 507
14.15.4 私信箱的Activity类 507
14.16 设置模块组 509
14.16.1 设置的Activity类 509
14.16.2 设置头像的服务器端
接口页面 510
14.16.3 设置头像的视图模型类 510
14.16.4 设置头像的Activity类 511
14.16.5 重置密码的服务器端
接口页面 512
14.16.6 重置密码的视图模型类 512
14.16.7 重置密码的Activity类 513
14.16.8 提交验证身份证的
服务器端接口页面 513
14.16.9 验证身份证的视图模型类 514
14.16.10 验证身份证的Activity类 515
14.17 应用程序发布 516
14.17.1 生成APK文件 516
14.17.2 发布到网站或应用市场 519
参考文献 520
- 电子工业出版社有限公司
- 电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
- 扫描二维码,访问我们的微信店铺