Android在在Kotlin中更好地使用中更好地使用LitePal
今天小编就为大家分享一篇关于Android在Kotlin中更好地使用LitePal,小编觉得内容挺不错的,现在分享给大
家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
Kotlin 是一个用于现代多平台应用的静态编程语言,由 JetBrains 开发。
Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。
Kotlin已正式成为Android官方支持开发语言。
自从LitePal在2.0.0版本中全面支持了Kotlin之后,我也一直在思考如何让LitePal更好地融入和适配Kotlin语言,而不仅仅停留
在简单的支持层面。
Kotlin确实是一门非常出色的语言,里面有许多优秀的特性是在Java中无法实现的。因此,在LitePal全面支持了Kotlin之后,
我觉得如果我还视这些优秀特性而不见的话,就有些太暴殄天物了。所以在最新的LitePal 3.0.0版本里面,我准备让LitePal更
加充分地利用Kotlin的一些语言特性,从而让我们的开发更加轻松。
本篇文章除了介绍LitePal 3.0.0版本的升级内容之外,还会讲解一些Kotlin方面的高级知识。
升级到升级到3.0.0
首先还是来看如何升级。
为什么这次的版本号跨度如此之大,直接从2.0升到了3.0呢?因为这次LitePal在结构上面有了一个质的变化。
为了更好地兼容Kotlin语言,LitePal现在不再只是一个库了,而是变成了两个库,根据你使用的语言不同,需要引入的库也不
同。如果你使用的是Java,那么就在build.gradle中引入如下配置:
dependencies {
implementation 'org.litepal.android:java:3.0.0'
}
而如果你使用的是Kotlin,那么就在build.gradle中引入如下配置:
dependencies {
implementation 'org.litepal.android:kotlin:3.0.0'
}
好了,接下来我们就一起看一看LitePal 3.0.0版本到底变更了哪些东西。
泛型的优化泛型的优化
不得不说,其实LitePal的泛型设计一直都不是很友好,尤其在异步查询的时候格外难受,比如我们看下如下代码:
在异步查询的onFinish()回调中,我们直接得到的并不是查询的对象,而是一个泛型T对象,还需要再经过一次强制转型才能得
到真正想要查询的对象。
如果你觉得这还不算难受的话,那么再来看看下面这个例子: