作者:feintkotlin(Kotlin学习网)
摘要:在使用kotlin开发android应用的过程中,anko这个框架能够帮助你省很多的事,让开发的过程变的更加轻松、简单。在这篇文章中,我将向大家讲述anko中几大模块(Anko Commons、Anko Layouts、Anko SQLite、Anko Coroutines),以及它们基本的使用方式。
Commons
依赖:
compile "org.jetbrains.anko:anko-commons:$anko_version"
说明:Commons模块主要对一些常用代码的使用形式进行了简化,例如对话框(Dialog),意图(Intent)和日志(Logging)等等。
使用:
一、对话框(Dialog):toast,警告对话框(alert),多选对话框(selector),进度对话框(progressDialog)
二、意图(Intent):使得活动之间的切换变的更加简洁。
三、日志(Logging):简化了日志的写法,不用自己去定义TAG了。
?注意:如果你已经加入了Anko的Layout依赖,就没必要在加入这个依赖了,以上内容都包含在了Layout模块中。
Coroutine
依赖:
compile "org.jetbrains.anko:anko-coroutines:$anko_version"
说明:Coroutine模块方便你执行异步任务。原来Android中的AsyncTask用起来的确是有些麻烦,添加了这个模块后,执行异步任务变的异常的简单。
使用:
辅助函数bg的返回值是Deferred<T>,其中的T的类型是你在bg后面的lambda表达中所返回的类型。Deferred执行await后的返回值的类型为T。
Layout
依赖:
compile "org.jetbrains.anko:anko-sdk25:$anko_version"
compile "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
compile "org.jetbrains.anko:anko-sdk25-coroutines:$anko_version"
compile "org.jetbrains.anko:anko-appcompat-v7-coroutines:$anko_version"
说明:Anko的Layout模块让我们能够使用DSL来进行布局。咱使用了一段时间后感觉,对于一些经常使用到的布局使用DSL来定义,可以方便复用,这一点要比xml好。不过当布局较为复杂时,使用DSL的体验听糟糕的,特别是还不能对布局效果进行预览(尽管官方出了相应的插件,蛋疼的时它要求的Android studio的最低版本比mac上的最新版本还要高,除非使用3.0预览版)。
使用:
一、XML和DSL混合使用
二、仅使用DSL
SQLite
依赖:
compile "org.jetbrains.anko:anko-sqlite:$anko_version"
说明:SQLite模块,在创建数据表的时候,的确十分的强大。不过在查询的时候将数据行解析成对象的能力并不是十分突出,比使用Jackson将Json转换为对象的使用体验要差很多。但总体来说在增、删、改、查上还是要Android原生的那些方法要方便不少。
使用:
一、创建SQLite的帮助类
二、插入数据
三、查询数据
结语:Anko框架的确是一个十分好用的东西,充分利用了Kotlin语法上的优势,让原来使用Java编写的冗杂的Android代码变的更加简洁。可能有人会说语法糖使用多了,代码的可读性就变差了。其实我觉得这完全是一个习惯问题,当你习惯了这充满语法糖的代码后,反而会觉得看起来更加舒适。
|以上内容皆由feintkotlin(Kotlin学习网)进行创作,未经允许,请勿转载。
本文暂时没有评论,来添加一个吧(●'◡'●)