定 价:¥89.50
作 者: | 关东升 |
出版社: | 清华大学出版社 |
丛编项: | |
标 签: | 暂缺 |
ISBN: | 9787302604457 | 出版时间: | 2022-10-01 | 包装: | 平装-胶订 |
开本: | 128开 | 页数: | 字数: |
基 础 篇
第1章 开篇综述 3
1.1 Kotlin语言简介 3
1.1.1 Kotlin语言设计目标 3
1.1.2 Kotlin语言特点 3
1.2 Android移动操作系统概述 4
1.2.1 Android历史介绍 4
1.2.2 Android架构 5
1.2.3 Android平台介绍 6
1.3 本章总结 7
第2章 Kotlin语言基础 8
2.1 Kotlin语言学习环境的搭建 8
2.2 JDK 8
2.2.1 JDK的下载和安装 8
2.2.2 设置环境变量 9
2.3 IntelliJ IDEA开发工具 11
2.3.1 创建第一个IntelliJ IDEA项目 12
2.3.2 编写Kotlin源代码文件 14
2.3.3 运行程序 15
2.4 变量与常量 16
2.5 Kotlin数据类型 17
2.5.1 基本数据类型 17
2.5.2 可空类型 18
2.6 字符串 21
2.6.1 字符串表示形式 21
2.6.2 字符串模板 22
2.7 Kotlin中的函数 23
2.7.1 函数声明 23
2.7.2 使用命名参数调用函数 24
2.7.3 参数默认值 24
2.7.4 表达式函数体 25
2.8 Kotlin函数式编程 25
2.8.1 函数类型 26
2.8.2 Lambda表达式 26
2.9 Kotlin面向对象编程 28
2.9.1 类声明 28
2.9.2 构造函数 29
2.9.3 属性 30
2.10 数据类 32
2.11 嵌套类 32
2.11.1 声明嵌套类 32
2.11.2 内部类 34
2.11.3 对象表达式 35
2.12 抽象类与接口 37
2.12.1 抽象类声明及实现 37
2.12.2 接口声明及实现 39
2.13 数据容器 40
2.13.1 数组 41
2.13.2 set集合 44
2.13.3 List集合 48
2.13.4 Map集合 51
2.14 本章总结 55
第3章 Android开发环境的搭建 56
3.1 下载和安装Android Studio 56
3.2 安装Android SDK 57
3.2.1 配置Android SDK环境变量 58
3.2.2 变更Android SDK的安装路径 59
3.3 创建Android模拟器 60
3.4 本章总结 62
第4章 第一个Android应用程序 63
4.1 通过Android Studio工具创建项目 63
4.2 Android项目剖析 65
4.2.1 Android项目目录结构 65
4.2.2 活动文件MainActivity.kt 65
4.2.3 activity_main.xml布局文件 66
4.2.4 AndroidManifest.xml文件 66
4.3 运行项目 67
4.4 学会使用Android开发者社区帮助文档 68
4.4.1 在线帮助文档 68
4.4.2 Android SDK API文档 68
4.4.3 Android SDK开发指南 69
4.5 本章总结 69
界 面 篇
第5章 Android界面编程基础 73
5.1 Android界面组成 73
5.1.1 视图 73
5.1.2 视图组 73
5.2 Android应用界面构建 74
5.2.1 使用Android Studio界面设计工具 74
5.2.2 LabelButton实例:界面布局实现 74
5.3 事件处理模型 78
5.3.1 活动作为事件监听器 78
5.3.2 对象表达式作为事件监听器 80
5.3.3 Lambda表达式作为事件监听器 80
5.4 屏幕上的事件处理 81
5.4.1 触摸事件 81
5.4.2 实例:屏幕触摸事件 82
5.4.3 键盘事件 84
5.4.4 实例:改变图片的透明度 84
5.5 本章总结 86
第6章 Android界面布局 87
6.1 Android界面布局设计模式 87
6.1.1 表单布局模式 87
6.1.2 列表布局模式 88
6.1.3 网格布局模式 88
6.2 布局管理 89
6.2.1 帧布局 89
6.2.2 实例:帧布局 89
6.2.3 线性布局 91
6.2.4 线性布局实例:构建登录界面 91
6.2.5 相对布局 94
6.2.6 相对布局实例:构建查询功能界面 94
6.2.7 网格布局 96
6.2.8 网格布局实例:构建计算器界面 96
6.2.9 布局文件嵌套实例:构建登录界面 98
6.3 Android约束布局 100
实例:使用约束布局重构LabelButton界面 100
6.4 本章总结 103
第7章 Android基础控件 104
7.1 按钮 104
7.1.1 Button 104
7.1.2 ImageButton 104
7.1.3 ToggleButton 105
7.1.4 实例:ButtonSample 106
7.2 标签 107
7.3 文本框 108
7.3.1 文本框相关属性 108
7.3.2 实例:用户登录 109
7.3.3 实例:文本框输入控制 110
7.4 单选按钮 113
7.4.1 RadioButton 113
7.4.2 RadioGroup 114
7.4.3 实例:使用单选按钮 114
7.5 复选框 116
7.5.1 CheckBox 116
7.5.2 实例:使用复选框 117
7.6 进度栏 119
7.6.1 进度栏相关属性和函数 119
7.6.2 实例:水平条状进度栏 120
7.6.3 实例:圆形进度栏 124
7.7 拖动栏 125
7.7.1 SeekBar 126
7.7.2 实例:使用拖动栏 126
7.8 本章总结 128
第8章 Android高级控件 129
8.1 列表类型控件 129
8.1.1 适配器 129
8.1.2 Spinner 129
8.1.3 实例:使用Spinner进行选择 131
8.1.4 ListView 132
8.1.5 实例:使用ListView实现显示文本 133
8.1.6 实例:使用ListView实现显示文本 图片 134
8.2 Toast 138
实例:文本类型Toast 138
8.3 对话框 139
8.3.1 实例:显示文本信息对话框 139
8.3.2 实例:简单列表项对话框 141
8.3.3 实例:单选列表对话框 142
8.3.4 实例:复选列表对话框 144
8.3.5 实例:复杂布局对话框 146
8.4 操作栏和菜单 148
8.4.1 操作栏 148
8.4.2 菜单编程 149
8.4.3 实例:文本菜单 149
8.4.4 实例:操作表按钮 151
8.5 本章总结 152
第9章 活动 153
9.1 活动概述 153
9.1.1 创建活动 153
9.1.2 活动的生命周期 155
9.1.3 实例:Back和Home按钮的区别 156
9.2 多个活动之间的跳转 161
9.2.1 用户登录 161
9.2.2 启动下一个活动 162
9.2.3 参数传递 164
9.2.4 返回上一个活动 165
9.3 活动任务与返回栈 166
9.4 本章总结 167
第10章 碎片 168
10.1 界面重用问题 168
10.2 碎片技术 169
10.3 碎片的生命周期 169
10.4 使用碎片开发 171
10.4.1 碎片相关类 171
10.4.2 创建碎片 172
10.4.3 静态添加碎片到活动 173
10.4.4 动态添加碎片到活动 174
10.4.5 管理碎片事务 175
10.4.6 碎片与活动之间的通信 175
10.5 实例:比赛项目 176
10.5.1 创建两个碎片 177
10.5.2 创建MainActivity活动 181
10.5.3 点击Master碎片列表项 183
10.5.4 数据访问对象 186
10.6 本章总结 187
进 阶 篇
第11章 意图 191
11.1 意图概述 191
11.1.1 意图与目标组件间的通信 191
11.1.2 意图对象包含的内容 191
11.2 意图类型 192
11.2.1 显式意图 192
11.2.2 隐式意图 193
11.3 匹配组件 193
11.3.1 动作 194
11.3.2 数据 195
11.3.3 类别 196
11.4 实例:Android系统内置意图 197
11.5 本章总结 199
第12章 数据存储 200
12.1 Android数据存储概述 200
12.2 本地文件 200
12.2.1 沙箱目录设计 200
12.2.2 访问应用程序files目录 201
12.2.3 实例:访问本地CSV文件 201
12.3 SQLite数据库 205
12.3.1 SQLite数据类型 205
12.3.2 Android平台下管理SQLite数据库 206
12.4 SQLite数据存储实例:我的备忘录 207
12.4.1 我的备忘录App概述 207
12.4.2 数据库设计 208
12.4.3 SQLiteOpenHelper帮助类 208
12.4.4 数据查询 209
12.4.5 数据插入 213
12.4.6 数据删除 214
12.5 使用SharedPreferences 217
实例:读写SharedPreferences 217
12.6 本章总结 219
第13章 使用内容提供者共享数据 220
13.1 内容提供者概述 220
13.2 Content URI 221
13.2.1 Content URI概述 221
13.2.2 内置Content URI 222
13.3 实例:访问联系人信息 223
13.3.1 查询联系人 223
13.3.2 运行时权限 227
13.4 实例:查询联系人Email 229
13.5 实例:查询联系人电话 231
13.6 实例:访问通话记录 232
13.7 本章总结 237
第14章 Android多任务开发 238
14.1 Android中使用Kotlin协程 238
14.1.1 在项目中添加协程库 238
14.1.2 第一个Android协程程序 240
14.2 案例:协程实现计时器 241
14.2.1 主线程更新UI问题 242
14.2.2 协程解决更新UI问题 242
14.3 本章总结 243
第15章 服务 244
15.1 服务概述 244
15.1.1 创建服务 244
15.1.2 服务的分类 245
15.2 启动类型服务 246
15.2.1 启动类型服务生命周期 246
15.2.2 实例:启动类型服务 247
15.3 绑定类型服务 248
15.3.1 绑定类型服务生命周期 248
15.3.2 实例:绑定类型服务 249
15.4 本章总结 252
第16章 广播接收器 253
16.1 广播接收器概述 253
16.2 编写与注册广播接收器 253
16.2.1 编写广播接收器 253
16.2.2 注册广播接收器 254
16.2.3 实例:发送广播 255
16.3 系统广播 257
16.3.1 系统广播动作 257
16.3.2 实例:Downloader 257
16.4 通知 262
发送通知实例:NotificationSample 262
16.5 本章总结 265
第17章 多媒体开发 266
17.1 多媒体文件概述 266
17.1.1 音频文件 266
17.1.2 视频文件 267
17.2 Android音频/视频播放API 267
17.2.1 核心API——MediaPlayer类 268
17.2.2 播放状态 268
17.3 音频播放实例:MyAudioPlayer 270
17.3.1 资源音频文件播放 270
17.3.2 本地音频文件播放 274
17.4 Android音频/视频录制API 277
17.5 音频录制实例:MyAudioRecorder 278
17.6 视频播放 281
17.6.1 VideoView控件 281
17.6.2 实例:使用VideoView控件播放视频 281
17.7 本章总结 283
第18章 网络通信技术 284
18.1 网络通信技术概述 284
18.1.1 Socket通信 284
18.1.2 HTTP 284
18.1.3 HTTPS 285
18.1.4 Web服务 285
18.1.5 搭建自己的Web服务器 285
18.2 发送网络请求 287
18.2.1 使用java.net.URL 288
18.2.2 重构实例:“我的备忘录”App 291
18.2.3 使用第三方请求库OkHttp4 293
18.2.4 OkHttp4发送Post请求实例:“我的备忘录”App 293
18.2.5 实例:Downloader 295
18.3 本章总结 296
第19章 百度地图与定位服务 297
19.1 使用百度地图 297
19.1.1 获得Android签名证书中的SHA1值 297
19.1.2 搭建和配置环境 298
19.1.3 实例:显示地图 301
19.1.4 实例:设置地图状态 304
19.1.5 实例:地图覆盖物 306
19.2 定位服务 308
19.2.1 定位服务授权 308
19.2.2 位置信息提供者 309
19.2.3 管理定位服务 310
19.2.4 实例:MyLocation 311
19.2.5 测试定位服务 314
19.3 定位服务与地图结合实例:WhereAMI 317
19.4 本章总结 321
第20章 Android绘图与动画技术 322
20.1 Android 2D绘图技术 322
20.1.1 画布和画笔 322
20.1.2 实例:绘制点和线 323
20.1.3 实例:绘制矩形 324
20.1.4 实例:绘制弧线 326
20.1.5 实例:绘制位图 327
20.2 位图变换 328
20.2.1 矩阵 328
20.2.2 实例:位图变换 328
20.3 调用Android照相机获取图片 329
20.3.1 调用Android照相机 329
20.3.2 调用Android照相机实例:CameraTake 330
20.4 Android动画技术 334
20.4.1 渐变动画 334
20.4.2 实例:渐变动画 335
20.4.3 动画插值器 339
20.4.4 使用动画集 340
20.4.5 帧动画 340
20.5 本章总结 342
第21章 手机电话功能开发 343
21.1 拨打电话功能 343
21.1.1 拨打电话功能概述 343
21.1.2 实例:拨打电话 344
21.2 访问电话呼入状态功能 346
21.2.1 呼入电话状态 346
21.2.2 实例:电话黑名单(Blacklist) 347
21.3 本章总结 351
实 战 篇
第22章 项目实战——“我的备忘录”云服务版 355
22.1 应用分析与设计 355
22.2 编码实现过程 356
22.2.1 用Android Studio创建项目 356
22.2.2 查询备忘录功能 357
22.2.3 增加备忘录功能 362
22.2.4 删除备忘录功能 366
22.3 Android设备测试 368
22.4 还有“最后一公里” 369
22.4.1 添加图标 369
22.4.2 生成数字签名文件 369
22.4.3 发布打包 370