你的位置:首页 > 软件开发 > 操作系统 > Kotlin将Realm提升到更高层次

Kotlin将Realm提升到更高层次

发布时间:2017-02-18 00:00:18
作者:Víctor Manuel Pineda时间:Feb 14, 2017原文链接:https://antonioleiva.com/kotlin-realm-extensions/ 当有人问我,最喜欢Kotlin什么,我很难找出其突出特性。 数据类型、 ...

Kotlin将Realm提升到更高层次

 

作者:Víctor Manuel Pineda

时间:Feb 14, 2017

原文链接:https://antonioleiva.com/kotlin-realm-extensions/

Kotlin将Realm提升到更高层次

 

 

当有人问我,最喜欢Kotlin什么,我很难找出其突出特性。

 

数据类型、拉姆达(Lambda)表达式、类型推断、委托… 所有这些都担当起一系列完整的、有意义的提升,使其在这些方面不同于其基础的Java

 

探索Kotlin扩展

 

当然,这些特性其中任何一个都是我使用最多的扩展。在所有我的Android项目中,我都利用Kotlin的扩展

 

我第一次听到这概念时感到很奇怪。无需继承就可以添加函数进入类,甚至不用访问,似乎对我时无用的和没有必要的。

 

加入类的任何内容位置点是在我的范围中吗?我的第一印象不是很好。我认为这将导致一些坏习惯,且代码难于理解。

 

然而,在我开始理解所有这些简单概念背后的强大能力,所有疑问很快就消失了。

 

用imageView.loadFrom(url)从url加载图像,简单地10.toPx(context)将dp单位转换到px单位,或用view.removeFromParent()方法从父视图中删除一个视图时,是非常有趣的。它们都是我需要的方法。

 

现在,我已经可以如同它们是Android SDK的一部分使用它们了

 

Realm遇到Kotlin:能力更强大

 

所有这些促使我编写小型扩展库简化Realm的用法

 

如果你已经试用(且忍受)Android的Realm,你就应该知道它包含一些通用操作的模板。另外,它有些限制使其变得复杂,如需要人为打开和关闭Realm实例,且要在同一个线程中执行

 

另一个限制是,你没有先从Realm解开不同线程之间的链接,那么你就不能在它们之间传递你的查询结果。即使你要执行的是单一操作,你还必须注意事务管理。

 

有些很烦人的限制例子,你必须意识到它们在未来避免这些问题。

 

我编写这个库的目的是要将Realm API转换我所喜欢的那样。我要忽略所有Realm的限制,使其工作在更高的抽象层上。

 

这个库的名称是Kotlin Realm Extensions(Kotlin Realm扩展),你可以在这里找到。

 

它使用起来非常简单。首先,你必须包含以下依赖关系到你的build.gradle文件中:

1 compile 'com.github.vicpinm:krealmextensions:1.0.4'

原标题:Kotlin将Realm提升到更高层次

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录