Anko 是一个 kotlinx.coroutines 的工具库.。
wiki);
Dialogs and toasts (wiki);
Resources and dimensions (Anko Layouts (<a target="_blank title=" null"="" href="https://github.com/Kotlin/anko/wiki/Anko-Layouts" style="word-wrap: break-word; color: rgb(59, 67, 72);">wiki)
Anko Layouts 是一个专门编写Android动态布局的DSL。 这是一个使用 Anko DSL 写的UI小例子:
verticalLayout { val name = editText() button("Say Hello") { onClick { toast("Hello, ${name.text}!") } } }
这段代码在 LinearLayout
种创建了一个按钮,并在按钮上附加了 OnClickListener
。 此外, onClick
支持一种 插件 让 Android Studio 支持预览 Anko DSL 布局。
wiki)
你是否尝试过使用Android cursor解析SQLite的查询结果?Anko SQLite 提供了大量的帮助类,使得对SQLite数据库的操作更加的简单。
下面这个例子是根据姓名获取用户的列表:
fun getUsers(db: ManagedSQLiteOpenHelper): List<User> = db.use { db.select("Users") .whereSimple("family_name = ?", "John") .doExec() .parseList(UserParser) }
wiki)
Anko Coroutines 基于 bg()
函数,是你的代码在一个公共池中执行。
<a target="_blank title=" null"="" href="https://github.com/Kotlin/anko#gradle-based-project" style="word-wrap: break-word; color: rgb(59, 67, 72);">基于Gradle的工程
Anko 有一个元依赖一次性将所有的特性 (including Commons, Layouts, SQLite) 添加到你的工程中去:
dependencies { compile "org.jetbrains.anko:anko:$anko_version" }
如果你只需要其中的一部分特性, 你可以引用 Anko's 的任何一部分:
dependencies { // Anko Commons compile "org.jetbrains.anko:anko-commons:$anko_version" // Anko Layouts compile "org.jetbrains.anko:anko-sdk25:$anko_version" // sdk15, sdk19, sdk21, sdk23 are also available compile "org.jetbrains.anko:anko-appcompat-v7:$anko_version" // Coroutine listeners for Anko Layouts compile "org.jetbrains.anko:anko-sdk25-coroutines:$anko_version" compile "org.jetbrains.anko:anko-appcompat-v7-coroutines:$anko_version" // Anko SQLite compile "org.jetbrains.anko:anko-sqlite:$anko_version" }
这里还有大量为Android支持库提供的 artifacts :
dependencies { // Appcompat-v7 (only Anko Commons) compile "org.jetbrains.anko:anko-appcompat-v7-commons:$anko_version" // Appcompat-v7 (Anko Layouts) compile "org.jetbrains.anko:anko-appcompat-v7:$anko_version" compile "org.jetbrains.anko:anko-coroutines:$anko_version" // CardView-v7 compile "org.jetbrains.anko:anko-cardview-v7:$anko_version" // Design compile "org.jetbrains.anko:anko-design:$anko_version" compile "org.jetbrains.anko:anko-design-coroutines:$anko_version" // GridLayout-v7 compile "org.jetbrains.anko:anko-gridlayout-v7:$anko_version" // Percent compile "org.jetbrains.anko:anko-percent:$anko_version" // RecyclerView-v7 compile "org.jetbrains.anko:anko-recyclerview-v7:$anko_version" compile "org.jetbrains.anko:anko-recyclerview-v7-coroutines:$anko_version" // Support-v4 (only Anko Commons) compile "org.jetbrains.anko:anko-support-v4-commons:$anko_version" // Support-v4 (Anko Layouts) compile "org.jetbrains.anko:anko-support-v4:$anko_version" }
如果你的项目不是基于 Gradle 的, 仅仅是从 Anko
共同学习,写下你的评论
评论加载中...
作者其他优质文章