第1章 了解Kotlin
1.1 Kotlin是什么
1.2 Kotlin的特点
1.2.1 简洁
1.2.2 安全
1.2.3 与Java互操作
1.2.4 自带IDE支持
1.3 用Kotlin能开发什么
1.3.1 服务器端程序
1.3.2 网页应用
1.3.3 本地执行程序
1.3.4 Android应用
1.4 为什么选择Kotlin
1.4.1 Java程序员的选择
1.4.2 新手的选择
1.5 发展趋势展望
第2章 准备工作
2.1 开发工具介绍
2.1.1 IntelliJ IDEA
2.1.2 Android Studio
2.1.3 Eclipse
2.2 构建工具
2.2.1 Gradle
2.2.2 Maven
2.3 编程规范
2.3.1 软件UI规范和人机交互规范
2.3.2 编码风格
2.4 本书阅读指导
第3章 基本语法
3.1 基本类型
3.1.1 数值
3.1.2 字符
3.1.3 布尔
3.1.4 数组
3.1.5 字符串
3.2 集合
3.2.1 Set
3.2.2 List
3.2.3 Map
3.2.4 集合常用函数
3.2.5 扩展阅读
3.3 变量
3.3.1 变量声明
3.3.2 Any类型和null
3.3.3 智能转换和is运算符
3.3.4 可空变量和不可空变量
3.4 运算符
3.4.1 赋值运算符
3.4.2 算术运算符
3.4.3 关系运算符
3.4.4 区间运算符
3.4.5 逻辑运算符
3.4.6 位运算符
3.4.7 其他运算符
3.4.8 优先级
3.4.9 运算符重载
3.5 表达式
3.5.1 if表达式
3.5.2 when表达式
3.5.3 throw、try…catch表达式
3.5.4 正则表达式
3.5.5 return表达式
3.6 语句
3.6.1 异常处理
3.6.2 判断语句
3.6.3 循环语句
3.7 自定义函数
3.7.1 函数声明
3.7.2 函数调用
3.7.3 函数的范围
3.7.4 函数分类
3.8 程序组织及可见性修饰符
3.8.1 包
3.8.2 可见性修饰符
第4章 接口、类和对象
4.1 综述
4.1.1 定义接口
4.1.2 定义类
4.1.3 关于对象
4.1.4 编程示例
4.2 类
4.2.1 类的声明
4.2.2 构造函数
4.2.3 类的继承
4.2.4 类的实例化
4.3 类的成员
4.3.1 属性
4.3.2 函数
4.3.3 嵌套类
4.3.4 内部类
4.3.5 匿名内部类
4.3.6 初始化模块
4.3.7 对象声明
4.4 特殊的类
4.4.1 抽象类
4.4.2 枚举类
4.4.3 密封类
4.4.4 数据类
4.5 类的扩展
4.5.1 扩展函数
4.5.2 扩展属性
4.5.3 扩展伴生对象
4.6 类委托
4.7 对象
4.7.1 对象声明
4.7.2 匿名对象
4.8 类的设计
4.8.1 设计原则
4.8.2 常用图标
4.8.3 PowerDesigner设计类图
4.9 标准类库
第5章 Kotlin开发Android应用
5.1 再次开发HelloWorld程序
5.1.1 配置Android开发环境
5.1.2 开发HelloWorld
5.1.3 Android开发步骤
5.2 了解Android开发
5.2.1 Android系统的技术架构
5.2.2 Android应用程序的构成
5.3 Activity和Intent
5.3.1 Toast提示
5.3.2 打开多个Activity
5.3.3 关闭Activity
5.3.4 Activity生命周期
5.4 关于控件
5.4.1 概述
5.4.2 关于布局
5.4.3 控件大全
5.5 布局
5.5.1 线性布局
5.5.2 相对布局
5.5.3 帧布局
5.5.4 表格布局
5.5.5 网格布局
5.6 常用控件
5.6.1 TextView
5.6.2 EditText
5.6.3 Button
5.6.4 ImageView
5.6.5 选择用途的控件
5.7 关于事件
5.7.1 事件机制
5.7.2 监听事件机制
5.7.3 回调事件机制
5.8 对话框
5.8.1 简单对话框
5.8.2 单选对话框
5.8.3 多选对话框
5.8.4 进度对话框
5.8.5 自定义对话框
5.9 菜单
5.9.1 选项菜单
5.9.2 上下文菜单
5.9.3 弹出菜单
第6章 数据操作
6.1 综述
6.1.1 SharedPreferences
6.1.2 文件
6.1.3 数据库和数据库框架(SQLite数据库)
6.1.4 ContentProvider
6.1.5 网络
6.2 SharedPreferences
6.2.1 获取SharedPreferences对象
6.2.2 读取信息
6.2.3 写入信息
6.2.4 其他知识点
6.3 文件
6.3.1 资源文件读取
6.3.2 内部数据文件的读写
6.3.3 外部数据文件的读写
6.4 SQLite数据库
6.4.1 概述
6.4.2 使用SQLiteOpenHelper类
6.4.3 使用SQLiteDatabase类
6.5 ContentProvider
6.5.1 综述
6.5.2 开发ContentProvider
6.5.3 开发ConvertResolver
6.5.4 监听ContentProvider数据改变
6.6 网络
6.6.1 开发步骤
6.6.2
展开