Library Dukungan

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

Anda dapat terus menggunakan library dukungan. Artefak historis (yang berversi 27 dan 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 menggunakan library AndroidX di semua project baru. Anda juga harus mempertimbangkan 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, Library Dukungan 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 menyediakan ringkasan tentang library dukungan untuk membantu Anda memahami komponen dan cara menggunakan library dukungan secara efektif di aplikasi Anda.

Perhatian: Dimulai dengan rilis Library Dukungan 26.0.0 (Juli 2017), level API minimum yang didukung di sebagian besar library dukungan telah meningkat ke Android 4.0 (API level 14) untuk sebagian besar paket library. Untuk informasi lebih lanjut, lihat Dukungan Versi dan Nama Paket dalam dokumen ini.

Penggunaan Library Dukungan

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

  • Kompatibiltas Versi Lama untuk API yang lebih baru - Sejumlah besar library dukungan menyediakan kompatibilitas dengan versi sebelumnya untuk metode dan class framework yang lebih baru. Misalnya, class dukungan Fragment menyediakan dukungan untuk fragmen pada perangkat yang menjalankan versi yang lebih lama dari Android 3.0 (API level 11).
  • Class Praktis dan Penunjang - Library dukungan menyediakan sejumlah class penunjang, terutama untuk pengembangan antarmuka pengguna. Misalnya, class RecyclerView menyediakan widget antarmuka pengguna untuk menampilkan dan mengelola daftar yang sangat panjang, dapat digunakan pada versi Android dari API level 7 ke atas.
  • Proses Debug dan Utilitas - Ada banyak fitur yang menyediakan utilitas di luar kode yang Anda masukkan ke aplikasi, termasuk library support-annotations untuk pemeriksaan lint kode yang ditingkatkan pada input metode dan dukungan Multidex untuk mengonfigurasi dan mendistribusikan aplikasi dengan lebih dari 65.536 metode.

Menggunakan Dukungan versus Framework API

Library Dukungan 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 library dukungan yang setara. Berikut ini panduan untuk menentukan kapan Anda harus menggunakan class library dukungan 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 library dukungan.
  • Kompatibilitas untuk Fitur Library Terkait - Class library dukungan yang lebih canggih mungkin bergantung pada satu atau lebih class library dukungan tambahan, sehingga Anda harus menggunakan class library dukungan 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 Anda gunakan dengan aplikasi sedemikian rupa sehingga kompatibel dengan versi lama, menggunakan class library dukungan masih merupakan ide yang bagus. Misalnya, Anda mungkin ingin menggunakan ActivityCompat sebagai pengganti class Activity framework, sehingga nantinya Anda bisa mendapatkan manfaat dari fitur yang lebih baru, seperti menggabungkan model izin baru yang diperkenalkan pada Android 6.0 (API level 23).

Class Library Dukungan yang menyediakan implementasi class API platform yang kompatibel mungkin tidak dapat menyediakan set lengkap fungsionalitas yang tersedia dalam rilis terbaru, karena keterbatasan versi platform perangkat host. Dalam hal ini, class Library Dukungan dirancang untuk mendegradasi dengan lancar, dan mungkin tidak menyediakan semua fungsionalitas atau data dari API platform saat ini. Karena alasan ini, 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: Library dukungan tidak menyediakan metode dan class yang setara untuk setiap API framework. 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 lebih lanjut mengenai cara menggunakan pemeriksaan versi pada kode Anda, lihat Mendukung Versi Platform yang Berbeda.

Dukungan Versi dan Nama Paket

Beberapa paket Library Dukungan memiliki nama paket untuk menunjukkan level minimum API yang semula didukungnya, menggunakan notasi v#, seperti paket support-v4. Dimulai dengan versi Library Dukungan 26.0.0 (dirilis pada Juli 2017), level API minimum yang didukung telah berubah menjadi Android 4.0 (API level 14) untuk semua paket library dukungan. Karena alasan ini, saat bekerja dengan rilis terbaru library dukungan, 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 level API minimum 14, untuk rilis Library Dukungan dari 26.0.0 dan yang lebih tinggi.

Versi Rilis Library Dukungan

Versi rilis Library Dukungan, seperti 24.2.0 atau 25.0.1, berbeda dengan level API minimum yang didukung oleh library mana pun dalam rilis tersebut.Nomor versi rilis menunjukkan di versi platform API mana versi tersebut dibuat, dan karenanya, API terbaru 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 library dukungan menunjukkan bahwa library dukungan menyertakan beberapa fitur level API tersebut, tetapi Anda tidak boleh berasumsi bahwa library dukungan 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 lebih library. Misalnya, hampir semua library dukungan memiliki dependensi pada paket support-compat. Secara umum, Anda tidak perlu mengkhawatirkan dependensi library dukungan, karena fitur build gradle mengelola dependensi library dukungan 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 untuk mendapatkan laporan dependensi untuk project tersebut, termasuk beberapa Android Support Library dan library lainnya:

    gradle -q dependencies your-app-project:dependencies
    

Untuk informasi lebih lanjut tentang menambahkan library dukungan ke project pengembangan Anda menggunakan Gradle, lihat Penyiapan Library Dukungan. Untuk informasi lebih lanjut tentang bekerja dengan Gradle, lihat Mengonfigurasi Build Anda.

Perhatikan 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.