Support Library

Catatan: Dengan dirilisnya Android 9.0 (API level 28), ada support library versi baru yang disebut AndroidX, yang merupakan bagian dari Jetpack. Library AndroidX berisi support library yang ada, juga menyertakan komponen Jetpack terbaru.

Anda dapat terus menggunakan support library ini. Artefak historis (versi 27 dan yang lebih lama, serta yang dipaketkan sebagai android.support.*) akan tetap tersedia di Google Maven. Namun, semua pengembangan library baru akan terjadi di library AndroidX.

Kami merekomendasikan penggunaan library AndroidX di semua project baru. Sebaiknya pertimbangkan juga untuk memigrasikan project yang ada ke AndroidX.

Saat mengembangkan aplikasi yang mendukung beberapa versi API, Anda mungkin menginginkan cara standar untuk menyediakan fitur yang lebih baru pada versi Android sebelumnya atau dengan lancar kembali ke fungsionalitas yang setara. Daripada membuat kode untuk menangani versi platform yang lebih lama, Anda dapat memanfaatkan library ini untuk menyediakan lapisan kompatibilitas tersebut. Selain itu, Support Library menyediakan fitur dan class praktis tambahan yang tidak tersedia di Framework API standar untuk pengembangan dan dukungan yang lebih mudah di lebih banyak perangkat.

Berawal dari library biner tunggal untuk aplikasi, Android Support Library telah berkembang menjadi serangkaian library untuk pengembangan aplikasi. Banyak dari library ini yang sekarang menjadi bagian penting atau sangat direkomendasikan dari pengembangan aplikasi.

Dokumen ini memberikan ringkasan tentang support library untuk membantu Anda memahami komponen dan cara menggunakan support library secara efektif di aplikasi Anda.

Perhatian: Dimulai dengan rilis Support Library 26.0.0 (Juli 2017), API level minimum yang didukung di sebagian besar support library telah meningkat ke Android 4.0 (API level 14) untuk sebagian besar paket library. Sebagai informasi selengkapnya, lihat Dukungan Versi dan Paket Nama di halaman ini.

Penggunaan Support Library

Ada beberapa penggunaan yang berbeda untuk support library. Class dengan kompatibilitas versi sebelumnya untuk versi platform yang lebih lama hanyalah salah satunya. Berikut ini adalah daftar lengkap cara menggunakan support library di aplikasi Anda:

  • Kompatibilitas Mundur untuk API yang lebih baru - Sejumlah besar support library menyediakan kompatibilitas mundur untuk metode dan class framework yang lebih baru. Misalnya, class dukungan Fragment menyediakan dukungan untuk fragmen di perangkat yang menjalankan versi sebelum versi Android 3.0 (API level 11).
  • Class Praktis dan Penunjang - Support library menyediakan sejumlah class penunjang, terutama untuk pengembangan antarmuka pengguna. Sebagai contoh yang diberikan class RecyclerView kepada pengguna widget antarmuka untuk menampilkan dan mengelola daftar yang sangat panjang, dapat digunakan di versi Android dari API level 7 dan yang lebih baru.
  • Proses Debug dan Utilitas - Ada banyak fitur yang menyediakan utilitas selain kode yang Anda masukkan ke aplikasi, termasuk library support-annotations untuk pemeriksaan lint kode yang lebih baik pada input metode dan dukungan Multidex untuk mengonfigurasi dan mendistribusikan aplikasi dengan lebih dari 65.536 metode.

Menggunakan Dukungan versus Framework API

Support Library menyediakan class dan metode yang sangat mirip dengan API pada Framework Android. Setelah menemukan ini, Anda mungkin bertanya-tanya apakah Anda harus menggunakan versi framework API atau support library yang setara. Berikut ini panduan untuk menentukan kapan Anda harus menggunakan class support library sebagai pengganti Framework API:

  • Kompatibilitas untuk Fitur Tertentu - Jika Anda ingin mendukung fitur platform terbaru pada perangkat yang menjalankan versi platform sebelumnya, gunakan class dan metode yang setara dari support library.
  • Kompatibilitas untuk Fitur Library Terkait - Class support library yang lebih canggih mungkin bergantung pada satu atau beberapa class support library tambahan, sehingga Anda harus menggunakan class support library untuk dependensi tersebut. Misalnya, class dukungan ViewPager harus digunakan dengan FragmentPagerAdapter atau class dukungan FragmentStatePagerAdapter.
  • Kompatibilitas Perangkat Umum - Jika Anda tidak memiliki fitur platform tertentu yang ingin digunakan dengan aplikasi dengan cara yang memungkinkan kompatibilitas mundur, sebaiknya tetap gunakan class support library di aplikasi Anda. Misalnya, Anda mungkin ingin menggunakan ActivityCompat sebagai pengganti class Activity framework, sehingga nantinya Anda dapat memanfaatkan fitur yang lebih baru, seperti menggabungkan model izin baru yang diperkenalkan pada Android 6.0 (API level 23).

Class Support Library yang menyediakan implementasi class API platform yang kompatibel mungkin tidak dapat menyediakan kumpulan fungsi lengkap yang tersedia dalam rilis terbaru, karena keterbatasan versi platform perangkat host. Dalam hal ini, class Support Library didesain agar mendegradasi dengan lancar, dan mungkin tidak menyediakan semua fungsi atau data dari platform API saat ini. Karenanya, Anda harus meninjau dokumentasi referensi untuk class dan metode library yang Anda gunakan, serta melakukan pengujian menyeluruh pada perangkat yang menjalankan versi paling awal platform yang didukung oleh aplikasi Anda.

Catatan: Support library tidak menyediakan metode dan class yang setara untuk setiap framework API. Dalam beberapa kasus, Anda mungkin perlu menggabungkan panggilan metode framework dengan pemeriksaan versi SDK yang eksplisit dan menyediakan kode alternatif untuk menangani metode yang tidak tersedia di perangkat. Untuk informasi selengkapnya terkait penggunaan pemeriksaan versi pada kode Anda, lihat Mendukung Versi Platform yang Berbeda.

Dukungan Versi dan Nama Paket

Beberapa paket Support Library memiliki nama paket untuk menunjukkan level minimum API yang semula didukungnya, menggunakan notasi v#, seperti paket support-v4. Dimulai dengan versi Support Library 26.0.0 (dirilis pada Juli 2017), API level minimum yang didukung telah berubah menjadi Android 4.0 (API level 14) untuk semua paket support library. Karena alasan ini, saat bekerja dengan rilis terbaru support library, Anda tidak boleh berasumsi bahwa notasi paket v# menunjukkan level dukungan API minimum. Perubahan pada rilis terbaru ini juga berarti bahwa paket library dengan v4 dan v7 pada dasarnya setara dalam level minimum API yang didukung paket library. Misalnya, baik paket support-v4 maupun support-v7 mendukung API level minimum 14, untuk rilis Support Library dari 26.0.0 dan yang lebih tinggi.

Versi Rilis Support Library

Versi rilis Support Library, seperti 24.2.0 atau 25.0.1 berbeda dengan API level minimum yang didukung oleh semua library dalam rilis tersebut. Nomor versi rilis menunjukkan versi platform API tempat dibuatnya, dan oleh karena itu, apa yang paling terbaru API mungkin disertakan dalam versi library ini.

Secara khusus, bagian pertama nomor versi rilis, misalnya nomor 24 dalam versi 24.2.0, umumnya sesuai dengan versi API platform yang tersedia saat versi tersebut dirilis. Level versi rilis support library menunjukkan bahwa support library menyertakan beberapa fitur level API tersebut, tetapi Anda tidak boleh berasumsi bahwa support library tersebut menyediakan kompatibilitas dengan semua fitur yang dirilis dalam versi API platform yang baru.

Dependensi Library

Sebagian besar library dalam rangkaian Android Support Library memiliki beberapa dependensi pada satu atau beberapa library. Misalnya, hampir semua support library memiliki dependensi pada paket support-compat. Secara umum, Anda tidak perlu mengkhawatirkan dependensi support library, karena alat build gradle mengelola dependensi library untuk Anda, dengan menyertakan library dependen secara otomatis.

Jika Anda ingin melihat library dan dependensi library mana yang disertakan dalam aplikasi Anda, jalankan perintah berikut pada root build project pengembangan aplikasi Anda guna mendapatkan laporan dependensi untuk project tersebut, termasuk beberapa Android Support Library dan library lainnya:

gradle -q dependencies your-app-project:dependencies

Untuk informasi tentang cara menambahkan support library ke project pengembangan Anda menggunakan Gradle lebih lanjut, lihat Penyiapan Support Library. Untuk informasi terkait bekerja dengan Gradle lebih lanjut, lihat Mengonfigurasi Build Anda.

Perlu diperhatikan bahwa semua Android Support Library juga bergantung pada beberapa level dasar platform, untuk rilis terbaru, yaitu Android 4.0 (API level 14) atau yang lebih tinggi.