为你推荐
封面页
书名页
版权页
内容简介
前言 FOREWORD
目录
第1章 Kotlin基础
1.1 Kotlin简介
1.1.1 第一个Kotlin程序
1.1.2 Kotlin的语法糖
1.2 变量
1.2.1 val和var
1.2.2 类型推断
1.3 基本类型
1.4 区间
1.5 循环结构
1.6 异常处理
1.7 相等运算符
1.8 可见性修饰符
1.9 控制流程
1.9.1 if表达式
1.9.2 when表达式
习题
第2章 Kotlin方法
2.1 方法的定义
2.1.1 单行表达式方法
2.1.2 成员方法
2.1.3 本地方法
2.1.4 顶层方法
2.1.5 字面量方法
2.1.6 尾递归方法
2.1.7 纯方法
2.2 参数
2.2.1 命名参数
2.2.2 默认参数
2.2.3 可变参数
2.3 常见操作符
2.3.1 一元操作符
2.3.2 二元操作符
习题
第3章 Kotlin类
3.1 类的基本用法
3.1.1 类与对象
3.1.2 访问级别
3.1.3 内部类
3.1.4 静态方法
3.2 继承
3.3 接口
3.4 抽象类
3.4.1 抽象类的定义
3.4.2 抽象类的使用
3.4.3 抽象类的特点
3.4.4 抽象类的规则
3.4.5 抽象类的实际应用
3.4.6 抽象类和接口的差异
3.5 扩展
3.5.1 扩展函数
3.5.2 扩展属性
3.5.3 伴生对象的扩展
3.5.4 扩展的作用域
3.6 枚举
3.7 密封类
3.8 数据类
3.8.1 数据类的特性
3.8.2 Kotlin中数据类的简洁性
习题
第4章 空安全、反射、注解
4.1 空安全
4.1.1 可空类型
4.1.2 智能转换
4.1.3 访问可空变量
4.1.4 强制操作符
4.1.5 Elvis操作符
4.1.6 安全转换
4.2 反射
4.2.1 Java虚拟机的体系结构
4.2.2 获取类的信息
4.2.3 获取类的其他信息
4.2.4 在Kotlin中使用Java中的反射
4.2.5 Kotlin中的KClass反射
4.3 注解
4.3.1 Java注解的组成部分
4.3.2 在Java中定义Annotation
4.3.3 Java中的常见注解
4.3.4 让Java程序认识注解
4.3.5 在Kotlin中使用注解
4.4 兼容问题
习题
第5章 Kotlin属性
5.1 一般属性
5.1.1 为什么使用属性
5.1.2 语法和变量
5.1.3 属性的访问规则
5.2 延迟加载和懒加载
5.2.1 延迟加载
5.2.2 懒加载
5.2.3 延迟加载和懒加载的差异
5.3 委托属性
5.3.1 什么是委托属性
5.3.2 懒加载属性
5.3.3 可观察属性
5.3.4 把属性存储在映射中
5.3.5 局部委托属性
5.3.6 属性委托的要求
5.3.7 翻译规则
5.4 用属性还是方法
习题
第6章 Kotlin泛型与集合
6.1 泛型简介
6.2 型变
6.2.1 Java的类型通配符
6.2.2 协变与逆变
6.2.3 协变和逆变都是类型安全的
6.3 Kotlin泛型的特色
6.3.1 outT与inT
6.3.2 声明处型变
6.3.3 类型投影
6.3.4 泛型函数和泛型类
6.4 泛型小结
6.5 初识集合
6.5.1 Iterable
6.5.2 MutableIterable
6.5.3 Collection
6.5.4 MutableCollection
6.6 Set
6.6.1 概述
6.6.2 SetAPI
6.6.3 只读Set
6.6.4 可变Set
6.6.5 与Java的比较
6.7 List
6.7.1 概述
6.7.2 常用API
6.7.3 相关操作
6.8 Map
6.8.1 概述
6.8.2 相关操作
习题
第7章 高阶函数
7.1 函数作为参数
7.2 函数作为返回值
7.3 函数赋值
7.4 闭包
7.5 匿名函数
7.6 函数的引用
7.6.1 顶级函数的引用
7.6.2 成员函数和扩展函数的引用
7.7 函数接收器
7.8 记忆化
7.8.1 概述
7.8.2 实现记忆化
习题
第8章 Kotlin DSL
8.1 DSL
8.1.1 通用编程语言和DSL
8.1.2 API和DSL
8.1.3 内部DSL
8.2 有趣的Kotlin DSL
8.2.1 日期
8.2.2 单元测试
8.2.3 HTML构建器
8.2.4 SQL
8.2.5 Android布局
8.2.6 Gradle构建
8.3 实现原理
8.3.1 扩展函数
8.3.2 Lambda表达式和高阶函数
8.3.3 中缀调用
8.3.4 invoke约定
习题
第9章 初识Android Studio
9.1 Android Studio的特性
9.1.1 无比强大的开发工具
9.1.2 比以往更快的编码和访问速度
9.1.3 无限制配置构建
9.1.4 满怀信心地编码
9.1.5 创建丰富且关联的应用
9.1.6 消除令人厌烦的任务
9.2 使用Android Studio
9.2.1 项目结构
9.2.2 界面
9.2.3 调试和分析工具
9.3 Android项目结构概览
9.3.1 模块
9.3.2 项目文件
9.3.3 项目结构设置
9.4 创建第一个Android Studio项目
9.4.1 启动新项目
9.4.2 导入现有项目
9.4.3 添加Kotlin代码
习题
第10章 Android Gradle
10.1 Android Gradle编译文件
10.1.1 settings.gradle
10.1.2 顶级的build.gradle
10.1.3 app模块的build.gradle
10.2 配置SDK版本号以及其他默认配置
10.3 Gradle编译
10.3.1 在命令行中执行Gradle编译
10.3.2 在Android Studio中执行Gradle编译
10.4 处理依赖
10.4.1 添加Java库依赖
10.4.2 同步
10.4.3 依赖传递
10.4.4 使用Android Studio添加库依赖
10.4.5 Configuring Repository
10.5 设置工程属性
10.6 升级新版本的Gradle
习题
第11章 Activity和Fragment
11.1 Activity
11.1.1 概述
11.1.2 Activity的创建方法
11.1.3 Activity的生命周期
11.1.4 Activity之间的通信
11.1.5 Activity的4种启动模式
11.2 Fragment
11.2.1 概述
11.2.2 动态添加Fragment
11.2.3 Fragment的生命周期
11.2.4 Fragment的通信
习题
第12章 Service和广播
12.1 Service详解
12.1.1 Service的基本用法
12.1.2 Service的生命周期
12.1.3 Service和Activity进行通信
12.1.4 前台服务
12.1.5 Service和Thread的关系
12.2 广播
12.2.1 概述
12.2.2 静态注册
12.2.3 动态注册
12.2.4 本地广播
12.2.5 使用私有权限
12.2.6 实战演练
习题
第13章 Kotlin实战之简单天气
13.1 RxJava介绍
13.1.1 作用
13.1.2 项目引用
13.1.3 概念
13.1.4 RxJava中的观察者模式
13.1.5 基本的用法
13.1.6 RxJava中的操作符
13.1.7 RxJava中的Scheduler
13.1.8 RxJava在网络请求中的使用
13.2 Disposable简介及使用
13.2.1 Disposable简介
13.2.2 Disposable对象的获得
13.3 Flowable
13.3.1 Flowable的产生
13.3.2 处理Backpressure的策略
13.4 天气数据源
13.4.1 数据源简介
13.4.2 API地址和常用参数
13.4.3 获取JSON展示样例
13.5 Demo开发
13.5.1 创建项目
13.5.2 建立数据模型
13.5.3 请求数据
13.6 UI界面交互和数据
13.6.1 主页面的实现
13.6.2 搜索城市页面的实现
13.6.3 当前天气页面的实现
13.6.4 多日预报页面的实现
13.6.5 分时查询页面的实现
第14章 Kotlin实战之会议App
14.1 Dagger2介绍
14.2 Dagger2的使用
14.2.1 引入Dagger2
14.2.2 注解的使用
14.3 RoomDB存储
14.3.1 Room的3大组件
14.3.2 Room的实际使用
14.4 导入第三方依赖库
14.5 界面分析
14.5.1 首页的实现
14.5.2 个人主页
14.5.3 详情页面
参考文献
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜