Thursday, December 6, 2018

Android KTX

Android KTX adalah seperangkat ekstensi Kotlin yang merupakan bagian dari keluarga Android Jetpack. Android KTX mengoptimalkan Jetpack and API platform Android untuk penggunaan Kotlin. Tujuan dari Android KTX adalah untuk membuat pengembangan Android dengan Kotlin lebih ringkas, nyaman, dan idiomatis dengan cara memanfaatkan fitur bahasa Kotlin seperti fungsi/properti ekstensi, lambda, parameter bernama, dan nilai default parameter. Android KTX tidak menambahkan fitur baru apa pun ke API Android yang sudah ada.
Untuk mempelajari tentang Android KTX, lihatlah video DevBytes kami.

Memulai

Untuk mulai menggunakan Android KTX, tambahkan kode berikut ini ke file build.gradle proyek:
repositories {
    google()
}
Android KTX diatur dalam modul. Setiap modul berisi satu paket atau lebih.
Saat Anda menggunakan modul, sertakan dependensi untuk setiap artefak Android KTX di file build.gradle aplikasi. Ingatlah untuk menambahkan versi ke artefak. Misalnya, jika Anda menggunakan modul core-ktx , dependensi yang berbentuk lengkap akan terlihat sebagai berikut:
dependencies {
    implementation 'androidx.core:core-ktx:1.0.0-alpha1'
}

Modul

Android KTX terdiri dari artefak Maven berikut ini. Untuk dokumentasi referensi API, klik pada nama paket spesifik dan lihatlah ringkasan fungsi Ekstensi.
Modul (artefak) Versi Paket
androidx.core:core-ktx 1.0.0-alpha1 Lihat semua paket inti di bawah.
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
Paket-paket berikut ini termasuk dalam modul inti:

Contoh

Android KTX adalah komponen fondasi Android Jetpack. Lihat penggunaannya pada aplikasi demo Sunflower.
Contoh di bawah ini menunjukkan beberapa fungsi ekstensi Android KTX. Android KTX dikelompokkan berdasarkan nama modul (artefak). Lihatlah dokumentasi referensi paket lengkap untuk daftar lengkap fungsi ekstensi.

androidx.core:core-ktx

Kotlin

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

Kotlin + Android KTX

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

Kotlin

view.viewTreeObserver.addOnPreDrawListener(
    object : ViewTreeObserver.OnPreDrawListener {
        override fun onPreDraw(): Boolean {
            viewTreeObserver.removeOnPreDrawListener(this)
            actionToBeTriggered()
            return true
        }
    }
)
 

Kotlin + Android KTX

view.doOnPreDraw {
     actionToBeTriggered()
}

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

Masukan

Android KTX saat ini masih dalam versi Alpha. Kami akan terus menambahkan ekstensi Kotlin baru di seluruh Jetpack dan kami menanti masukan Anda. Jika Anda ingin melaporkan masalah atau menyarankan fitur, silakan tulis kritik atau saran Anda di pelacak masalah Android KTX.

Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.


Source :

Android KTX 

3 comments:

Rekomendasi Aplikasi Penghasil Cuan :D Dirumah saja tetap Dapet Duit !!!

Hallo Bosskyuuh semua. Perkenalkan aku Patrick Ananta berasal dari Jawa Tengah. Aku sudah lama sekali dirumahkan dikarenakan covid19 sehingg...