为了账号安全,请及时绑定邮箱和手机立即绑定

Kotlin功能强大的Android库:Anko

标签:
Android

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() 函数,是你的代码在一个公共池中执行。

  • 使用 Anko

    <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"
        }

    这有一个 IntelliJ IDEA 工程

    如果你的项目不是基于 Gradle 的, 仅仅是从 Anko

原文链接:http://www.apkbus.com/blog-822719-72359.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消