Android Jetpack
Mengembangkan UI dengan Compose
Pelajari cara menggunakan Jetpack
Pelatihan Dasar
Tutorial Interaktif
Aplikasi contoh Now in Android
Library Jetpack Pelajari semua library
* Library yang populer dan sering digunakan akan dicantumkan terlebih dahulu
activity * | Mengakses API composable yang dibuat dari Activity. |
appcompat * | Mengizinkan akses ke API baru pada versi API platform yang lebih lama (sebagian besar menggunakan Desain Material). |
appsearch * | Membuat kemampuan penelusuran dalam aplikasi khusus untuk pengguna Anda. |
camera * | Membuat aplikasi kamera seluler. |
compose * | Menentukan UI Anda secara terprogram dengan fungsi composable yang mendeskripsikan bentuk dan dependensi datanya. |
databinding * | Mengikat komponen UI di tata letak ke sumber data di aplikasi Anda menggunakan format deklaratif. |
fragment * | Membagi aplikasi Anda menjadi beberapa layar mandiri yang dihosting dalam Activity. |
hilt * | Memperluas fungsionalitas Dagger Hilt untuk mengaktifkan injeksi dependensi class tertentu dari library androidx. |
lifecycle * | Membuat komponen berbasis siklus proses yang dapat menyesuaikan perilaku berdasarkan status siklus proses saat ini dari suatu aktivitas atau fragmen. |
Komponen Desain Material * | Komponen UI Desain Material modular dan dapat disesuaikan untuk Android. |
navigation * | Membuat dan menyusun UI dalam aplikasi, menangani deep link, dan menavigasi antar-layar. |
paging * | Memuat data dalam halaman dan menampilkannya di RecyclerView. |
room * | Membuat, menyimpan, dan mengelola data persisten yang didukung oleh database SQLite. |
test * | Pengujian di Android. |
work * | Menjadwalkan dan menjalankan tugas latar belakang berbasis batasan yang dapat ditangguhkan. |
ads | Mendapatkan ID iklan dengan atau tanpa Layanan Play. |
annotation | Mengekspos metadata yang memudahkan alat dan developer lain memahami kode aplikasi Anda. |
arch.core | Helper untuk dependensi arch lainnya, termasuk aturan pengujian JUnit yang dapat digunakan dengan LiveData. |
asynclayoutinflater | Meng-inflate tata letak secara asinkron untuk menghindari jank di UI. |
autofill | Meningkatkan akurasi isi otomatis melalui petunjuk yang diperluas. |
benchmark | Mengukur performa kode Anda secara akurat dalam Android Studio. |
biometric | Mengautentikasi dengan biometrik atau kredensial perangkat, dan melakukan operasi kriptografi. |
bluetooth | Gunakan fitur Bluetooth platform Android dengan API yang kompatibel dengan versi sebelumnya. |
browser | Menampilkan halaman di browser default pengguna. |
camera.media3 | TODO |
camera.viewfinder | Jendela Bidik berbasis Composable dan View Mandiri untuk Kamera" |
car-app | Mem-build aplikasi dengan template untuk Android Auto dan Android Automotive OS. |
cardview | Mengimplementasikan pola kartu Desain Material dengan sudut melengkung dan drop shadow. |
collection | Mengurangi dampak memori dari koleksi baru dan lama yang berukuran kecil. |
compose.animation | Mem-build animasi di aplikasi Jetpack Compose untuk memperkaya pengalaman pengguna. |
compose.compiler | Mentransformasi fungsi @Composable dan mengaktifkan pengoptimalan dengan plugin compiler Kotlin. |
compose.foundation | Menulis aplikasi Jetpack Compose dengan elemen penyusun siap pakai dan memperluas dasar untuk mem-build bagian sistem desain Anda sendiri. |
compose.material | Mem-build UI Jetpack Compose dengan Komponen Desain Material siap pakai. Ini adalah titik entri pada tingkat yang lebih tinggi untuk Compose, yang dirancang untuk menyediakan komponen yang cocok dengan yang dijelaskan di www.material.io. |
compose.material3 | Mem-build UI Jetpack Compose dengan Komponen Desain Material 3, evolusi berikutnya dari Desain Material. Material 3 menyertakan tema dan komponen yang diperbarui serta fitur personalisasi Material You, seperti warna dinamis. Material 3 juga didesain agar selaras dengan gaya visual dan UI sistem Android 12 yang baru. |
compose.material3.adaptive | Gunakan library adaptif Material 3 untuk membuat UI adaptif yang akan menyesuaikan secara otomatis sesuai dengan konfigurasi jendela saat ini seperti class ukuran jendela atau postur perangkat. Library ini menyediakan penerapan scaffold default dan composable elemen penyusun yang diperlukan untuk membuat pengalaman kustom Anda sendiri. |
compose.runtime | Elemen penyusun yang penting untuk model pemrograman dan pengelolaan status Compose, serta runtime inti untuk ditargetkan oleh Plugin Compose Compiler. |
compose.ui | Komponen dasar compose UI yang diperlukan untuk berinteraksi dengan perangkat, termasuk tata letak, gambar, dan input. |
concurrent | Memindahkan tugas dari thread utama dengan coroutine dan memanfaatkan ListenableFuture. |
constraintlayout | Mengubah posisi dan ukuran widget secara fleksibel dengan posisi relatif. |
contentpager | Memuat dan memanggil semua data ContentProvider di thread latar belakang. |
coordinatorlayout | Menempatkan widget aplikasi level teratas, seperti AppBarLayout dan FloatingActionButton. |
core | Menargetkan API dan fitur platform terbaru sekaligus mendukung perangkat lama. |
core.uwb | Menerapkan UWB (ultra-wideband) pada perangkat yang didukung. |
credentials | Library ini memberikan akses terpadu ke kredensial pengguna. Hal ini dapat mencakup sandi, kunci sandi, dan kredensial gabungan. Library ini harus digunakan untuk memberikan pengalaman login yang lancar dan aman. |
credentials.registry | Untuk mengatasi hal ini, kami menambahkan mekanisme registry baru yang memungkinkan aplikasi memberikan kredensial digital dengan cara yang menjaga privasi. Pada tingkat tinggi, aplikasi penyedia akan melakukan prapendaftaran semua kredensial digital kandidatnya dengan Pengelola Kredensial; Saat menerima permintaan aplikasi untuk kredensial digital tertentu, Pengelola Kredensial akan menjalankan pencocokan kredensial dan UI pemilih pengguna di sandbox. |
cursoradapter | Mengekspos data Cursor ke widget ListView. |
customview | Mengimplementasikan tampilan kustom. |
datastore | Menyimpan data secara asinkron, konsisten, dan transaksional, yang mengatasi beberapa kelemahan SharedPreferences |
documentfile | Melihat dokumen file. |
draganddrop | Menerima data tarik lalu lepas dari aplikasi lain atau dalam aplikasi, dan menampilkan kemampuan target operasi lepas yang konsisten. |
drawerlayout | Mengimplementasikan widget panel samping Desain Material. |
dynamicanimation | Membuat animasi yang halus dengan API animasi berbasis fisika. |
emoji | Menampilkan emoji di perangkat saat ini dan yang lebih lama. |
emoji2 | Menampilkan emoji di perangkat saat ini dan yang lebih lama. |
enterprise | Membuat aplikasi yang siap digunakan perusahaan. |
exifinterface | Membaca dan menulis tag EXIF file gambar. |
games | Menggunakan Android Game SDK secara native di aplikasi Anda untuk melakukan tugas game yang kompleks, seperti Frame Pacing. |
glance | Membuat tata letak untuk platform jarak jauh menggunakan API khas Jetpack Compose. |
graphics | Memanfaatkan fasilitas grafis di beberapa rilis platform Android |
gridlayout | Mengimplementasikan tata letak berbentuk petak. |
health | Membuat aplikasi kesehatan berperforma tinggi dengan cara yang tidak bergantung pada platform. |
health.connect | Memungkinkan developer membaca atau menulis catatan kesehatan dan kebugaran pengguna. |
heifwriter | Mengenkode gambar atau kumpulan gambar dalam format HEIF menggunakan codec yang tersedia di perangkat Android. |
ink | Menginspirasi aplikasi pena terbaik di kelasnya. Menurunkan hambatan masuk developer untuk pengalaman menulis indah dan berperforma tinggi. |
input | Mengurangi latensi interaksi input dengan memprediksi MotionEvents di masa mendatang |
interpolator | Menggunakan interpolator animasi di platform yang lebih lama. |
javascriptengine | Mengaktifkan aplikasi Android Anda untuk mengevaluasi JavaScript. |
jetifier | Alat mandiri untuk memigrasikan dependensi library dari support library yang tidak digunakan lagi ke dependensi AndroidX yang setara. |
leanback | Gunakan Compose untuk TV, bukan artefak ini. |
legacy | Artefak ini beserta class-nya tidak digunakan lagi. Mulai Android 8, pembatasan pemeriksaan latar belakang membuat class ini tidak lagi berguna. |
lint | Pemeriksaan lint untuk memverifikasi penggunaan API Gradle |
loader | Memuat data untuk UI Anda yang tetap bertahan saat terjadi perubahan konfigurasi. |
localbroadcastmanager | Artefak ini beserta class-nya tidak digunakan lagi. Gunakan LiveData atau streaming reaktif saja. |
media | Membagikan konten dan kontrol media ke aplikasi lain. Digantikan oleh media3. |
media2 | Membagikan konten dan kontrol media ke aplikasi lain. |
media3 * | Mendukung library untuk kasus penggunaan media. |
mediarouter | Mengaktifkan tampilan dan pemutaran media pada perangkat penerima jarak jauh menggunakan antarmuka pengguna umum. |
multidex | Men-deploy aplikasi dengan beberapa file dex di perangkat sebelum Android 5. |
metrics | Melacak dan melaporkan berbagai metrik runtime untuk aplikasi Anda |
palette | Mengekstrak palet warna representatif dari gambar. |
Library untuk menambahkan kemampuan melihat PDF di dalam aplikasi. | |
percentlayout | Artefak ini beserta class-nya tidak digunakan lagi. Sebagai gantinya, gunakan ConstraintLayout dan tata letak terkait. |
performa | Memberikan anotasi sumber untuk pengoptimalan performa. |
preference | Membuat layar setelan yang interaktif tanpa perlu berinteraksi dengan penyimpanan perangkat atau mengelola UI. |
Mencetak foto, dokumen, serta gambar dan visual lainnya dari aplikasi Anda. | |
privacysandbox.activity | TODO |
privacysandbox.ads | Library ini memungkinkan integrasi dengan Privacy Preserving API, yang merupakan bagian dari Privacy Sandbox di Android. |
privacysandbox.plugins | Plugin Gradle Library Sdk Android Privacy Sandbox |
privacysandbox.sdkruntime | Library ini menyediakan komponen untuk konsumen yang mengetahui SdkRuntime |
privacysandbox.tools | Library untuk menggunakan fungsi Privacy Sandbox di Android |
privacysandbox.ui | TODO |
profileinstaller | Memungkinkan library mengisi otomatis rekaman aktivitas kompilasi terlebih dahulu sebelum dibaca oleh ART. |
recommendation | Mempromosikan konten ke layar utama Peluncur Android TV. |
recyclerview | Menampilkan set data dalam jumlah besar pada UI sambil meminimalkan penggunaan memori. |
remotecallback | Membuat wrapper yang memudahkan developer menyediakan PendingIntent. |
resourceinspection | Menampilkan atribut tampilan kustom di Live Layout Inspector Android Studio. |
savedstate | Menuliskan komponen yang dapat dicocokkan yang menyimpan status UI saat proses berhenti, dan memulihkannya saat proses dimulai ulang. |
security | Mengelola kunci dengan aman serta mengenkripsi file dan sharedpreferences. |
sharetarget | Memberikan kompatibilitas mundur untuk menggunakan pintasan sebagai target berbagi langsung. |
slice | Menampilkan elemen UI dengan template di luar aplikasi Anda. |
slidingpanelayout | Mengimplementasikan pola UI panel geser. |
startup | Mengimplementasikan cara yang praktis dan berperforma tinggi untuk melakukan inisialisasi komponen saat aplikasi dimulai. |
sqlite | Berfungsi dengan database SQLite lokal. Jika memungkinkan, gunakan Room. |
swiperefreshlayout | Mengimplementasikan pola UI geser untuk refresh. |
test.uiautomator | Framework untuk pengujian UI fungsional lintas aplikasi |
textclassifier | Mengidentifikasi percakapan, link, pilihan, dan konstruksi lain yang serupa dalam teks. |
tracing | Menulis peristiwa rekaman aktivitas ke buffering pelacakan sistem. |
transition | Menganimasikan gerakan di UI dengan tata letak awal dan akhir. |
tv | Menyediakan fungsi Compose dan Desain material kepada developer agar dapat menulis aplikasi untuk TV |
tvprovider | Menyediakan saluran Android TV. |
xr.arcore | Hadirkan konten digital ke dunia nyata dengan kemampuan persepsi. |
xr.compose | Buat tata letak UI spasial secara deklaratif yang memanfaatkan kemampuan spasial Android XR. |
xr.compose.material3 | Mem-build dengan komponen dan tata letak Material yang beradaptasi untuk XR |
xr.runtime | Mulai sesi AR atau 3D kustom Anda dengan runtime native kami. |
xr.scenecore | Buat dan manipulasi grafik tampilan Android XR dengan konten 3D. |
vectordrawable | Merender grafik vektor. |
versionedparcelable | Memberikan format serialisasi biner yang stabil dan ringkas yang dapat diteruskan di seluruh proses atau dipertahankan dengan aman. |
viewpager | Menampilkan View atau Fragment dalam format yang dapat digeser. Jika memungkinkan, gunakan viewpager2. |
viewpager2 | Menampilkan View atau Fragment dalam format yang dapat digeser. |
wear | Membuat aplikasi untuk smartwatch Wear OS by Google. |
wear.compose | Menulis aplikasi Jetpack Compose untuk perangkat Wearable dengan memberikan fungsi guna mendukung perangkat, ukuran, bentuk, dan gestur navigasi khusus perangkat wearable. |
wear.protolayout | Library ini memungkinkan penentuan serangkaian tata letak UI dan ekspresi non-UI dirender/dievaluasi pada platform jarak jauh. |
wear.tiles | Membuat aplikasi untuk smartwatch Wear OS by Google. |
wear.watchface | Membuat aplikasi untuk smartwatch Wear OS by Google. |
webkit | Berfungsi dengan WebView API modern di Android 5 dan versi yang lebih baru. |
window | Membantu mendukung berbagai faktor bentuk perangkat seperti perangkat foldable. |
window.extensions.core | Core API untuk Ekstensi Library Window Manager |
Mengapa menggunakan Android Jetpack?
Mengikuti praktik terbaik
Menghapus kode boilerplate
Mengurangi fragmentasi
Berita dan video
Mendukung beberapa link dalam satu string teks
Updated 22 Februari 2025
Anda dapat mendukung beberapa link dalam satu string teks untuk memberi pengguna opsi tempat yang akan dituju dan meningkatkan engagement.
Memberi gaya pada bagian teks
Updated 22 Februari 2025
Anda dapat menata gaya bagian teks untuk meningkatkan keterbacaan, meningkatkan pengalaman pengguna yang positif, dan mendorong kreativitas yang lebih besar melalui penggunaan warna dan font.
Memvalidasi input saat pengguna mengetik
Updated 22 Februari 2025
Anda dapat memvalidasi input saat pengguna mengetik di kolom teks, seperti memasukkan nama, email, alamat, atau informasi kontak lainnya. Validasi ini mengurangi error dan menghemat waktu pengguna.
Memuat dan menampilkan gambar
Updated 22 Februari 2025
Untuk menampilkan gambar di aplikasi Anda untuk konten dan respons terhadap tindakan pengguna, muat gambar dari disk atau dari sumber eksternal di internet.
Membuat kartu sebagai penampung
Updated 6 Februari 2025
Kartu menyediakan penampung Desain Material untuk UI Anda.
Animasi di Compose
Updated 6 Februari 2025
Lihat cara menganimasikan nilai status, menggunakan transisi, menganimasikan visibilitas atau perubahan ukuran, dan crossfade menggunakan API animasi Compose.
Menampilkan panel aplikasi atas
Updated 6 Februari 2025
Buat panel aplikasi atas untuk membantu pengguna menavigasi dan mengakses fungsi di aplikasi Anda, menggunakan composable TopAppBar.
Menampilkan panel aplikasi
Updated 6 Februari 2025
Panel aplikasi adalah penampung di bagian atas atau bawah layar yang berisi fitur utama dan item navigasi.
Menampilkan atau menyembunyikan sandi berdasarkan tombol pengguna
Updated 6 Februari 2025
Anda dapat membuat ikon untuk menyembunyikan atau menampilkan sandi berdasarkan tombol pengguna untuk meningkatkan keamanan dan meningkatkan pengalaman pengguna.
Menampilkan gambar animasi
Updated 6 Februari 2025
Anda dapat membuat pengalaman pengguna yang lebih interaktif dan menarik di aplikasi dengan memuat file drawable untuk menampilkan gambar animasi. Gambar animasi berguna untuk membuat indikator pemuatan, indikator keberhasilan atau error, memfasilitasi pengembangan game, dan berbagai fungsi UI lainnya.
Menggambar teks di Compose
Updated 6 Februari 2025
Lihat cara menggunakan Compose API yang dirancang khusus untuk menggambar teks di kanvas. Segmen ini menunjukkan kode untuk menggambar font emoji dalam persegi panjang membulat.
Mengelola perubahan konfigurasi keyboard yang dapat dilepas
Updated 6 Februari 2025
Pelajari cara mengelola perubahan konfigurasi keyboard yang dapat dilepas.
Menampilkan gambar yang dipangkas ke bentuk
Updated 6 Februari 2025
Anda dapat menggambar bayangan di sekitar area gambar yang dipangkas sehingga Anda dapat menampilkan gambar dalam bentuk klip.
Membatasi orientasi aplikasi di ponsel, tetapi tidak untuk perangkat layar besar
Updated 6 Februari 2025
Membatasi orientasi aplikasi di layar kecil, tetapi tidak di layar besar.
Menampilkan daftar paging
Updated 6 Februari 2025
Buat daftar paging sehingga pengguna dapat men-scroll untuk mengakses konten yang terlalu besar untuk ditampilkan di satu layar. Daftar paging horizontal dapat membantu pengguna menjelajahi konten seperti gambar, slideshow, atau carousel produk. Daftar paging vertikal berguna untuk aplikasi yang berisi banyak konten, tempat pengguna mungkin perlu men-scroll item dalam jumlah besar, seperti artikel.
Menambahkan tombol yang dapat diaktifkan atau dinonaktifkan pengguna
Updated 6 Februari 2025
Anda dapat menggunakan tombol untuk memungkinkan pengguna memilih salah satu dari dua status.
Membuat chip untuk mewakili entitas kompleks
Updated 6 Februari 2025
Komponen chip secara visual mewakili entity kompleks, sering kali dengan ikon dan label.
Pengujian di Compose
Updated 6 Februari 2025
Buat pengujian Jetpack Compose pertama Anda. Pelajari cara menggunakan artefak pengujian Compose untuk menulis pengujian UI, menggunakan aturan pengujian, pencari, dan pernyataan.
Menampilkan komponen interaktif
Updated 6 Februari 2025
Pilih komponen yang tepat untuk UI Anda dan lihat cara menerapkannya di aplikasi.
Membuat tombol tindakan mengambang (FAB)
Updated 6 Februari 2025
Tombol tindakan mengambang memungkinkan pengguna melakukan tindakan utama di aplikasi.
Menolak sentuhan telapak tangan stilus
Updated 6 Februari 2025
Menolak sentuhan telapak tangan stilus yang tidak disengaja.
Menampilkan pesan pop-up atau permintaan input pengguna
Updated 6 Februari 2025
Dialog menampilkan pesan pop-up atau meminta input pengguna di lapisan di atas konten aplikasi utama.
Membuat petak yang dapat di-scroll
Updated 6 Februari 2025
Anda dapat mengelola set data besar dan konten dinamis dengan petak lambat, sehingga meningkatkan performa aplikasi. Dengan composable petak lambat, Anda dapat menampilkan item dalam penampung yang dapat di-scroll, yang membentang di beberapa kolom atau baris.
Mengoptimalkan aplikasi untuk layar besar
Updated 6 Februari 2025
Aktifkan aplikasi Anda untuk mendukung pengalaman pengguna yang dioptimalkan di tablet, perangkat foldable, dan perangkat ChromeOS.
Mengelola status WebView
Updated 6 Februari 2025
Mengelola status WebView di seluruh perubahan konfigurasi.
Membuat komponen scaffold untuk menyatukan UI
Updated 6 Februari 2025
Scaffold menyediakan berbagai bagian UI, seperti panel aplikasi dan tombol tindakan mengambang, sehingga memberikan tampilan dan nuansa yang koheren pada aplikasi.
Tata letak lanjutan di Compose
Updated 6 Februari 2025
Lihat cara membuat desain kompleks untuk tata letak Compose, yang berfokus pada fase tata letak dan batasan, tata letak subkomposisi, dan pengukuran intrinsik.
Membuat menu geser dengan komponen panel navigasi
Updated 6 Februari 2025
Panel navigasi adalah menu navigasi geser.