Register now for Android Dev Summit 2019!

Mendukung versi platform yang berbeda

Meskipun Android versi terbaru sering menyediakan API yang hebat untuk aplikasi Anda, tetapi Anda harus tetap mendukung versi Android yang lebih lama hingga semakin banyak perangkat diupdate. Pelajaran ini menunjukkan cara memanfaatkan API terbaru sekaligus terus mendukung versi yang lebih lama.

Dasbor untuk Versi Platform diupdate secara berkala untuk menunjukkan distribusi perangkat aktif yang menjalankan setiap versi Android, berdasarkan jumlah perangkat yang mengunjungi Google Play Store. Secara umum, ini adalah praktik yang baik untuk mendukung sekitar 90% perangkat aktif, sekaligus menargetkan aplikasi Anda ke versi terbaru.

Tips: Untuk memberikan fitur dan fungsionalitas terbaik di banyak versi Android, Anda harus menggunakan Android Support Library di aplikasi Anda, yang memungkinkan Anda untuk menggunakan beberapa API platform terbaru pada versi yang lebih lama.

Menentukan level minimum dan API target

File AndroidManifest.xml menjelaskan detail tentang 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 merancang dan menguji aplikasi Anda.

Sebagai contoh:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
    ...
</manifest>

Ketika Android versi baru dirilis, beberapa gaya dan perilaku mungkin berubah. Agar aplikasi Anda dapat memanfaatkan perubahan ini dan memastikan bahwa aplikasi Anda sesuai dengan gaya setiap perangkat pengguna, Anda harus menetapkan nilai targetSdkVersion agar sesuai dengan versi Android terbaru yang tersedia.

Memeriksa versi sistem saat runtime

Android menyediakan kode unik untuk setiap versi platform di kelas konstanta Build. Gunakan kode-kode ini di dalam aplikasi Anda untuk membangun kondisi yang memastikan bahwa kode yang bergantung pada level API yang lebih tinggi hanya dijalankan ketika 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 mengabaikan atribut XML yang tidak didukung oleh perangkat saat ini. Jadi, Anda dapat dengan aman menggunakan atribut XML yang hanya didukung oleh versi yang lebih baru tanpa mengkhawatirkan gangguan versi yang lebih lama ketika menemukan kode tersebut Misalnya, jika Anda menetapkan targetSdkVersion="11", aplikasi Anda mencakup ActionBar secara default di Android 3.0 dan lebih tinggi. Untuk menambahkan lebih lanjut item menu ke bilah tindakan, Anda perlu menetapkan android:showAsAction="ifRoom" di XML resource menu Anda. Aman melakukan ini dalam file XML lintas-versi, karena versi Android yang lebih lama mengabaikan atribut showAsAction (yaitu, Anda tidak memerlukan versi terpisah di res/menu-v11/).

Menggunakan gaya dan tema platform

Android menyediakan tema pengalaman pengguna yang memberi tampilan dan kesan sistem operasi yang mendasarinya. Tema-tema ini dapat diterapkan ke aplikasi Anda dalam file manifes. Dengan menggunakan gaya dan tema bawaan ini, aplikasi Anda secara natural akan mengikuti tampilan dan kesan Android terbaru dengan setiap rilis barunya.

Untuk membuat aktivitas Anda terlihat 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 khusus Anda sendiri yang ditentukan dalam /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 informasi lebih lanjut tentang cara membuat dan menggunakan tema, baca panduan Gaya dan Tema.