额外的函数
额外的函数
通过数据类,我们可以方便地得到很多有趣的函数,一部分是来自属性,我们之前已经讲过(从编写getter和setter函数):
equals(): 它可以比较两个对象的属性来确保他们是相同的。
hashCode(): 我们可以得到一个hash值,也是从属性中计算出来的。
copy(): 你可以拷贝一个对象,可以根据你的需要去修改里面的属性。我们会在稍后的例子中看到。
一系列可以映射对象到变量中的函数。我也很快就会讲到这个。
Kotlin 中文指南
目录
写在前面
关于本书
这本书适合你吗?
关于作者
介绍
什么是Kotlin?
我们通过Kotlin得到什么
准备工作
Android Studio
安装Kotlin插件
创建一个新的项目
在Android Studio中创建一个项目
配置Gradle
把MainActivity转换成Kotlin代码
测试是否一切就绪
类和函数
怎么定义一个类
类继承
函数
构造方法和函数参数
编写你的第一个类
创建一个layout
The Recycler Adapter
变量和属性
基本类型
变量
属性
Anko和扩展的函数
Anko是什么?
开始使用Anko
扩展函数
从API中获取数据
执行一个请求
在主线程以外执行请求
数据类
额外的函数
复制一个数据类
映射对象到变量中
解析数据
转换json到数据类
构建domain层
在UI中绘制数据
操作符重载
操作符表
例子
扩展函数中的操作符
使Forecast list可点击
Lambdas
简化setOnClickListener()
ForecastListAdapter的click listener
扩展语言
可见性修饰符
修饰符
构造器
润色我们的代码
Kotlin Android Extensions
怎么去使用Kotlin Android Extensions
重构我们的代码
Application单例化和属性的Delegated
Applicaton单例化
委托属性
标准委托
怎么去创建一个自定义的委托
重新实现Application单例化
创建一个SQLiteOpenHelper
ManagedSqliteOpenHelper
定义表
实现SqliteOpenHelper
依赖注入
集合和函数操作符
总数操作符
过滤操作符
映射操作符
元素操作符
生产操作符
顺序操作符
从数据库中保存或查询数据
创建数据库model类
写入和查询数据库
Kotlin中的null安全
可null类型怎么工作
可null性和Java库
创建业务逻辑来访问数据
Flow control和ranges
If表达式
When表达式
For循环
While和do/while循环
Ranges
创建一个详情界面
准备请求
提供一个新的activity
启动一个activity:reified函数
接口和委托
接口
委托
在我们的App中实现一个例子
泛型
基础
变体
泛型例子
设置界面
创建一个设置activity
访问Shared Preferences
泛型preference委托
测试你的App
Unit testing
Instrumentation tests
其它的概念
内部类
枚举
密封(Sealed)类
异常(Exceptions)
结尾