继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Kotlin功能强大的Android库:Anko

繁星点点滴滴
关注TA
已关注
手记 217
粉丝 67
获赞 333

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP