Android KTX 简介

KTX 简介

Android KTX 是一组 Kotlin 扩展程序,属于 Android Jetpack 系列。它优化了供 Kotlin 使用的 Jetpack 和 Android 平台 API。Android KTX 旨在让您利用 Kotlin 语言功能(例如扩展函数/属性、lambda、命名参数和参数默认值),以更简洁、更愉悦、更惯用的方式使用 Kotlin 进行 Android 开发。Android KTX 不会向现有的 Android API 添加任何新功能。

KTX 使用

要开始使用 Android KTX,请将以下代码添加到项目的 build.gradle 文件中:

repositories {
    google()
}

Android KTX 划分为不同的模块。每个模块都包含一个或多个软件包。

使用模块时,请在应用的 build.gradle 文件中为每个 Android KTX 软件工件添加一个依赖项。请记住在软件工件后面附上版本号。例如,如果您使用 core-ktx 模块,则完整的依赖项将如下所示:

dependencies {
    implementation 'androidx.core:core-ktx:1.0.0-alpha1'
}

KTX 模块

Android KTX 由以下 Maven 软件工件组成。要获取 API 参考文档,请点击特定软件包名称并查看扩展函数摘要。

KTX 模块 版本 软件包
androidx.core:core-ktx 1.0.0-alpha1 查看下面的所有核心软件包
androidx.fragment:fragment-ktx 1.0.0-alpha1 androidx.fragment.app
androidx.palette:palette-ktx 1.0.0-alpha1 androidx.palette.graphics
androidx.sqlite:sqlite-ktx 1.0.0-alpha1 androidx.sqlite.db
androidx.collection:collection-ktx 1.0.0-alpha1 androidx.collection
androidx.lifecycle:lifecycle-viewmodel-ktx 2.0.0-alpha1 androidx.lifecycle
androidx.lifecycle:lifecycle-reactivestreams-ktx 2.0.0-alpha1 androidx.lifecycle
android.arch.navigation:navigation-common-ktx 1.0.0-alpha01 androidx.navigation
android.arch.navigation:navigation-fragment-ktx 1.0.0-alpha01 androidx.navigation.fragment
android.arch.navigation:navigation-runtime-ktx 1.0.0-alpha01 androidx.navigation
android.arch.navigation:navigation-testing-ktx 1.0.0-alpha01 androidx.navigation.testing
android.arch.navigation:navigation-ui-ktx 1.0.0-alpha01 androidx.navigation.ui
android.arch.work:work-runtime-ktx 1.0.0-alpha01 androidx.work.ktx

core-ktx

核心模块包括以下软件包:

KTX 示例

Android KTX 是 Android Jetpack 基础组件。您可以在 Sunflower 演示应用中查看它的使用情况。

以下示例演示了一些 Android KTX 扩展函数。它们按模块(软件工件)名称分组。有关扩展函数的完整列表,请查看完整的软件包参考文档。

androidx.core:core-ktx

Kotlin:

sharedPreferences.edit()
    .putBoolean("key", value)
    .apply()

Kotlin + Android KTX:

sharedPreferences.edit {
    putBoolean("key", value)
}

androidx.sqlite:sqlite-ktx

Kotlin:

db.beginTransaction()
try {
    // insert data
    db.setTransactionSuccessful()
} finally {
    db.endTransaction()
}

Kotlin + Android KTX:

db.transaction {
    // insert data
}

androidx.fragment:fragment-ktx

Kotlin:

supportFragmentManager
    .beginTransaction()
    .replace(R.id.my_fragment_container, myFragment, FRAGMENT_TAG)
    .commitAllowingStateLoss()

Kotlin + Android KTX:

supportFragmentManager.transaction(allowStateLoss = true) {
    replace(R.id.my_fragment_container, myFragment, FRAGMENT_TAG)
}

KTX 资源

Android KTX 的相关网站:


评论
 上一篇
Java 8 新特性 Java 8 新特性
Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的 Strea
2018-11-12
下一篇 
Kotlin 资源大全 Kotlin 资源大全
官网及文档 Kotlin 官网 Kotlin 官方文档 Kotlin 官方博客 Kotlin 官方论坛 Kotlin 中文官网 Kotlin 中文文档 Kotlin 中文博客 Kotlin 中文论坛 Kotlin on GitHub 社区
2018-11-10
  目录