Meskipun versi terbaru Android sering menyediakan API yang sangat baik untuk aplikasi, Anda harus terus mendukung versi Android yang lebih lama sampai ada lebih banyak perangkat yang diupdate. Pelajaran ini menunjukkan cara memanfaatkan API terbaru sambil terus mendukung versi yang lebih lama.
Gunakan wizard Project Baru di Android Studio untuk menemukan distribusi perangkat aktif yang menjalankan setiap versi Android. Distribusi ini didasarkan pada jumlah perangkat yang membuka Google Play Store. Secara umum, sebaiknya dukung sekitar 90% perangkat aktif, sambil menargetkan aplikasi Anda ke versi terbaru.
Tips: Untuk menyediakan fitur dan fungsi terbaik di beberapa versi Android, Anda harus menggunakan Android Support Library di aplikasi Anda, yang memungkinkan untuk menggunakan beberapa API platform terbaru pada versi yang lebih lama.
Menentukan level API minimum dan target
File AndroidManifest.xml akan
menjelaskan detail aplikasi Anda dan
mengidentifikasi versi Android yang didukungnya. Secara khusus, atribut minSdkVersion
dan targetSdkVersion
untuk elemen <uses-sdk>
mengidentifikasi level API terendah yang kompatibel dengan aplikasi Anda dan level API tertinggi
yang digunakan untuk mendesain dan menguji aplikasi Anda.
Misalnya:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... > <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" /> ... </manifest>
Saat versi Android yang baru dirilis, beberapa gaya dan perilaku mungkin berubah.
Untuk memungkinkan aplikasi Anda memanfaatkan perubahan ini dan memastikan aplikasi telah sesuai dengan gaya
masing-masing perangkat pengguna, Anda harus menetapkan nilai
targetSdkVersion
untuk mencocokkan dengan versi Android
terbaru yang tersedia.
Memeriksa versi sistem pada runtime
Android akan menyediakan kode unik untuk setiap versi platform di class
konstanta Build
. Gunakan kode-kode ini dalam aplikasi Anda untuk menciptakan kondisi yang
memastikan bahwa kode yang bergantung pada level API yang lebih tinggi hanya dijalankan saat API tersebut tersedia di sistem.
Kotlin
private fun setUpActionBar() { // Make sure we're running on Honeycomb or higher to use ActionBar APIs if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { actionBar.setDisplayHomeAsUpEnabled(true) } }
Java
private void setUpActionBar() { // Make sure we're running on Honeycomb or higher to use ActionBar APIs if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); } }
Catatan: Saat mengurai resource XML, Android akan mengabaikan atribut XML
yang tidak didukung oleh perangkat saat ini. Jadi, Anda dapat secara aman menggunakan atribut XML yang
hanya didukung oleh versi yang lebih baru tanpa khawatir dengan kerusakan pada versi yang lebih lama saat
menemukan kode tersebut. Misalnya, jika Anda menetapkan
targetSdkVersion="11"
, aplikasi Anda akan menyertakan ActionBar
secara default
di Android 3.0 dan versi yang lebih tinggi. Kemudian, untuk menambahkan item menu ke panel tindakan, Anda perlu menetapkan
android:showAsAction="ifRoom"
pada XML resource menu. Tindakan ini aman dilakukan
dalam file XML lintas versi, karena versi Android yang lebih lama mengabaikan atribut
showAsAction
(berarti, Anda tidak memerlukan versi
yang terpisah di res/menu-v11/
).
Menggunakan gaya dan tema platform
Android menyediakan tema pengalaman pengguna yang menghadirkan tampilan dan nuansa dari sistem operasi yang saat ini digunakan pada aplikasi Anda. Tema-tema ini dapat diterapkan ke aplikasi Anda dalam file manifes. Dengan gaya dan tema bawaan ini, aplikasi Anda secara alami akan mengikuti tampilan dan nuansa Android terbaru dengan setiap rilis baru.
Untuk membuat aktivitas Anda tampak seperti kotak dialog:
<activity android:theme="@android:style/Theme.Dialog">
Untuk membuat aktivitas Anda memiliki latar belakang transparan:
<activity android:theme="@android:style/Theme.Translucent">
Untuk menerapkan tema kustom Anda sendiri yang ditentukan di /res/values/styles.xml
:
<activity android:theme="@style/CustomTheme">
Untuk menerapkan tema ke seluruh aplikasi Anda (semua aktivitas), tambahkan atribut
android:theme
ke elemen <application>
:
<application android:theme="@style/CustomTheme">
Untuk mempelajari pembuatan dan penggunaan tema lebih lanjut, baca panduan Gaya dan Tema.