书籍的核心内容被化分成10个章节,所涉及技术点包含:Kotlin语言、Android界面技术、多线程技术、数据持久化和系统服务等,相关内容的讨论和结果可为基本的Android应用程序开发提供技术指导和支持。本书以案例驱动方式介绍相关程序的实现方法和过程,本书还通过示例程序版本迭代的方式,逐渐升入讨论核心技术和实现方法。
薛岗 云南大学软件学院副教授。主要研究方向为:服务计算、嵌入式应用技术。参与多项科学研究及工程开发项目,发表(或参与)发表学术论文近40余篇,申请(或参与申请)获得软件著作权4项,参与获得省级科技奖励3项。
第1章 Kotlin语言基础 1
1.1 基本语法 1
1.1.1 基本数据类型 3
1.1.2 包 6
1.1.3 程序的控制结构 6
1.1.4 返回值与循环结构的跳转 8
1.1.5 集合类型 9
1.1.6 数值范围 9
1.1.7 等式 10
1.1.8 操作符 10
1.1.9 其他操作符 10
1.1.10 违例处理 10
1.2 方法与Lambda表达式 11
1.2.1 方法(或函数) 11
1.2.2 方法的声明与使用 12
1.2.3 Lambda表达式和高阶方法 13
1.2.4 匿名方法和闭包 14
1.3 类与对象 15
1.3.1 类的声明 16
1.3.2 类的构建器 16
1.3.3 类的实例化 18
1.3.4 设值器和取值器(setter和getter) 18
1.3.5 类的继承 19
1.3.6 继承中方法的覆盖 20
1.3.7 继承中属性的覆盖 21
1.3.8 抽象类与接口 21
1.3.9 多重继承 23
1.3.10 程序对象的可见性说明 24
1.3.11 扩展 24
1.3.12 数据类 25
1.3.13 拆分结构 26
1.3.14 嵌套类和内部类 27
1.3.15 枚举类 27
1.3.16 this操作符 27
1.4 泛型、对象表达式和代理 28
1.4.1 泛型 28
1.4.2 基于泛型声明方法和泛型限制 30
1.4.3 对象表达式 30
1.4.4 对象声明 31
1.4.5 伴随对象 32
1.4.6 类代理 32
1.4.7 代理属性 33
1.4.8 预定义的代理工具 34
1.4.9 本地代理属性 35
1.4.10 注解 36
1.4.11 反省 36
本章练习 38
第2章 Android应用开发概述 39
2.1 Android平台与开发环境 39
2.2 开发项目的创建 41
2.2.1 新建项目中的源程序 42
2.2.2 程序的运行与修改 44
2.3 构建可交互的简单应用 45
2.3.1 配置主窗体的布局文件 46
2.3.2 交互界面及功能实现 49
2.3.3 按钮功能的其他实现方法 51
2.4 日志工具的使用 53
本章练习 54
第3章 多窗体应用 55
3.1 窗体类的实现 56
3.1.1 项目的主配置文件 57
3.1.2 下拉列表组件功能的实现 58
3.1.3 定义新窗体 59
3.2 窗体间的消息传递 61
3.3 基于Intent对象启动运行环境中其他应用程序 63
3.3.1 使用Intent对象启动短消息应用 63
3.3.2 使用Intent对象启动Email应用 64
本章练习 65
第4章 布局与界面交互组件 66
4.1 布局 67
4.1.1 相对布局 67
4.1.2 线性布局 70
4.1.3 网格布局 72
4.1.4 约束布局 75
4.1.5 ScrollView组件 76
4.2 界面交互组件 77
4.2.1 视图类组件 77
4.2.2 按钮类组件 78
4.2.3 信息提示组件 82
本章练习 83
第5章 窗体类运行时的生命周期 86
5.1 基于多线程的界面更新 87
5.1.1 界面计时功能的实现 89
5.1.2 窗体界面状态的变化 91
5.2 Android平台中通讯录(组件)的访问 94
5.2.1 通讯录 94
5.2.2 通讯录的访问 95
5.2.3 用户信息在通讯录中的保存 97
本章练习 99
第6章 列表与适配器 100
6.1 项目资源和数据准备 101
6.2 程序中界面的实现 103
6.2.1 主窗体的实现 103
6.2.2 显示设备名称 109
6.2.3 显示设备信息 112
6.3 界面显示内容的动画效果 113
6.3.1 动画效果的定义与使用 113
6.3.2 在示例程序中实现动画效果 116
本章练习 116
第7章 碎片技术 118
7.1 碎片的创建与加载 119
7.1.1 创建碎片 119
7.1.2 在窗体中加载碎片 124
7.2 实现界面中的交互功能 125
7.2.1 更新InfoFragment类 125
7.2.2 调整主窗体布局及实现类 126
7.2.3 修改ItemFragment类 128
7.3 根据显示条件显示不同的界面 129
7.3.1 布局文件的组织 130
7.3.2 应用程序的调整 132
本章练习 134
第8章 菜单与导航抽屉式界面 135
8.1 菜单的组织与声明 137
8.1.1 创建菜单 137
8.1.2 示例程序中的数据类 139
8.1.3 实现基本的程序类 139
8.2 菜单的加载与功能实现 142
8.2.1 菜单的加载 142
8.2.2 菜单项的功能实现方法 142
8.2.3 完善程序中其他功能 143
8.2.4 项目中窗体间的关系声明 146
8.3 导航抽屉式界面 147
8.3.1 Android SDK中的支持类库 147
8.3.2 导航抽屉式界面的程序组成 147
8.3.3 在导航抽屉式界面中实现共享功能 150
8.3.4 基于导航抽屉式界面的地图应用 152
本章练习 156
第9章 基于SQLite的数据持久化 157
9.1 SQLite的使用 157
9.1.1 数据库的创建与管理 157
9.1.2 数据库的版本控制 159
9.1.3 数据库的访问 161
9.2 基于SQLite构建简单的应用程序 163
9.2.1 数据库创建类 163
9.2.2 数据库访问类 165
9.2.3 界面类的实现 168
9.3 异步任务 172
本章练习 174
第10章 应用服务 175
10.1 Started服务 175
10.1.1 基于Started服务推送系统通知 176
10.1.2 在Started服务中实现音频的播放 182
10.2 Bound服务 182
10.2.1 基于Bound服务实现音频播放功能 184
10.2.2 基于Bound服务实现GPS定位 187
本章练习 192
第11章 传感器 193
11.1 传感器的检测 194
11.1.1 应用程序的界面布局 194
11.1.2 检测设备中的传感器 195
11.2 传感器的访问 197
本章练习 201
附录A Android应用开发环境的配置 202
附录B Android Studio中程序的断点调试方法 205
参考文献 207
基于Kotlin的Android应用程序开发pdf