API Android 2.3.4

Level API: 10

Android 2.3.4 (GINGERBREAD_MR1) adalah rilis pemeliharaan yang menambahkan beberapa perbaikan bug dan patch ke platform Android 2.3, tanpa perubahan API dari Android 2.3.3. Selain itu, Android 2.3.4 menghadirkan dukungan untuk Open Accessory API ke perangkat seluler, melalui Library Aksesori Terbuka opsional.

Untuk developer, platform Android 2.3.4 tersedia sebagai komponen yang dapat didownload untuk Android SDK. Platform yang dapat didownload mencakup library dan image sistem Android, serta kumpulan skin emulator dan lainnya. Untuk mulai mengembangkan atau menguji Android 2.3.4, gunakan Android SDK Manager untuk mendownload platform ke SDK Anda.

Ringkasan API

Android 2.3.4 menyediakan API framework yang sama untuk aplikasi seperti Android 2.3.3 (level API 10). Untuk ringkasan API, lihat catatan versi Android 2.3.3.

Membuka Library Aksesori

Akses Terbuka adalah kemampuan baru untuk mengintegrasikan periferal yang terhubung dengan aplikasi yang berjalan di platform. Kemampuan ini didasarkan pada stack USB (Universal Serial Bus) yang di-build ke dalam platform dan API yang diekspos ke aplikasi. Periferal yang terpasang ke perangkat yang didukung Android sebagai aksesori terhubung sebagai host USB.

Open Accessory diperkenalkan di Android 3.1 (API level 12), tetapi tersedia untuk perangkat yang menjalankan Android 2.3.4 melalui library eksternal opsional, yaitu Open Accessory Library. Library ini mengekspos API framework yang memungkinkan aplikasi menemukan, berkomunikasi, dan mengelola berbagai jenis perangkat yang terhubung melalui USB. API ini juga menyediakan implementasi API terhadap bagian platform Android yang tidak langsung diekspos ke aplikasi di Android 2.3.4.

Library Aksesori Terbuka bersifat opsional di perangkat tertentu. Produsen perangkat dapat memilih apakah akan menyertakan Library Aksesori Terbuka di produk mereka atau mengecualikannya. Library ini kompatibel dengan Android 3.1, sehingga aplikasi yang dikembangkan untuk Android 2.3.4 akan berjalan dengan benar di perangkat yang menjalankan Android 3.1, jika perangkat tersebut mendukung aksesori USB.

API yang disediakan oleh Library Open Accessory didasarkan pada Open Accessory API yang disediakan di Android 3.1. Di sebagian besar area, Anda dapat menggunakan teknik dan API yang sama. Namun, pengembangan untuk Open Accessory Library di Android 2.3.4 berbeda dengan USB API standar dengan cara berikut:

  • Memperoleh objek UsbManager — Untuk mendapatkan objek UsbManager saat menggunakan library add-on, gunakan metode helper getInstance(), bukan getSystemService(). Misalnya:

    Kotlin

    val manager = UsbManager.getInstance(this)
    

    Java

    UsbManager manager = UsbManager.getInstance(this);
    
  • Mendapatkan UsbAccessory dari intent yang difilter — Saat Anda memfilter perangkat atau aksesori yang terhubung dengan filter intent, objek UsbAccessory akan dimuat di dalam intent yang diteruskan ke aplikasi Anda. Jika menggunakan library add-on, Anda bisa mendapatkan objek UsbAccessory dengan cara berikut:

    Kotlin

    val accessory = UsbManager.getAccessory(intent)
    

    Java

    UsbAccessory accessory = UsbManager.getAccessory(intent)
    
  • Tidak ada dukungan host USB — Android 2.3.4 dan Open Accessory Library tidak mendukung mode host USB (misalnya, melalui UsbDevice), meskipun mode host USB didukung di Android 3.1. Perangkat Android yang menjalankan Android 2.3.4 tidak dapat berfungsi sebagai host USB. Library ini memungkinkan perangkat Android berfungsi sebagai periferal saja, dengan aksesori yang terhubung berfungsi sebagai host USB (melalui UsbAccessory).

Untuk mengembangkan aplikasi menggunakan Open Accessory Library, Anda memerlukan:

  • Versi terbaru Android SDK Tools
  • Add-on Google API versi terbaru, yang menyertakan library itu sendiri (untuk penautan)
  • Perangkat hardware sebenarnya yang menjalankan Android 2.3.4 (atau Android 3.1) dengan dukungan aksesori USB, untuk pengujian runtime terhadap perangkat yang terhubung

Untuk pembahasan lengkap tentang cara mengembangkan aplikasi yang berinteraksi dengan aksesori USB, lihat dokumentasi developer terkait.

Selain itu, developer dapat meminta pemfilteran di Google Play, sehingga aplikasi mereka tidak tersedia bagi pengguna yang perangkatnya tidak menyediakan dukungan aksesori yang sesuai. Untuk meminta pemfilteran, tambahkan elemen di bawah ke manifes aplikasi:

<uses-feature
  android:name="android.hardware.usb.accessory"
  android:required="true">

API Level

Platform Android 2.3.4 tidak menambahkan level API — platform ini menggunakan level API yang sama dengan Android 2.3.3, level API 10.

Untuk menggunakan API yang diperkenalkan di API level 10 dalam aplikasi, Anda perlu mengompilasi aplikasi terhadap library Android yang disediakan di Add-On Google API versi terbaru, yang juga menyertakan Library Aksesori Terbuka.

Bergantung pada kebutuhan, Anda mungkin juga perlu menambahkan atribut android:minSdkVersion="10" ke elemen <uses-sdk> dalam manifes aplikasi. Jika aplikasi Anda dirancang untuk hanya berjalan di Android 2.3.3 dan yang lebih tinggi, mendeklarasikan atribut akan mencegah aplikasi diinstal di versi platform sebelumnya.

Untuk mengetahui informasi selengkapnya, baca Apa yang dimaksud dengan Level API?