API Android 2.3.3

Level API: 10

Android 2.3.3 (GINGERBREAD_MR1) adalah rilis fitur kecil yang menambahkan beberapa peningkatan dan API ke platform Android 2.3.

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

Ringkasan API

Bagian di bawah ini memberikan ringkasan teknis tentang hal yang baru bagi developer di versi 2.3.3, termasuk fitur baru dan perubahan dalam API framework sejak versi sebelumnya.

Komunikasi Nirkabel Jarak Dekat (NFC)

Android 2.3.3 menyediakan dukungan yang ditingkatkan dan diperluas untuk NFC, untuk memungkinkan aplikasi berinteraksi dengan lebih banyak jenis tag dengan cara baru.

Dengan kumpulan API baru yang komprehensif, aplikasi dapat mengakses akses baca dan tulis ke berbagai teknologi tag standar yang lebih luas, termasuk:

  • NFC-A (ISO 14443-3A)
  • NFC-B (ISO 14443-3B)
  • NFC-F (JIS 6319-4)
  • NFC-V (ISO 15693)
  • ISO-DEP (ISO 14443-4)
  • MIFARE Klasik
  • Ultra ringan MIFARE
  • Tag NDEF Forum NFC

Platform ini juga menyediakan API dan protokol komunikasi peer-to-peer terbatas. Aktivitas Latar Depan dapat menggunakan API untuk mendaftarkan pesan NDEF yang akan dikirim ke perangkat NFC lain saat terhubung.

Pengiriman tag lanjutan kini memberi aplikasi kontrol yang lebih besar atas cara dan waktu peluncuran saat tag NFC ditemukan. Sebelumnya, platform ini menggunakan pengiriman intent satu langkah untuk memberi tahu aplikasi yang tertarik bahwa tag ditemukan. Platform ini kini menggunakan proses empat langkah yang memungkinkan aplikasi latar depan mengontrol peristiwa tag sebelum diteruskan ke aplikasi lain (android.nfc.NfcAdapter.enableForegroundDispatch()). Proses pengiriman baru juga memungkinkan aplikasi memproses konten tag dan teknologi tag tertentu, berdasarkan dua tindakan intent baru — android.nfc.action.NDEF_DISCOVERED dan android.nfc.action.TECH_DISCOVERED.

NFC API tersedia dalam paket android.nfc dan android.nfc.tech. Class utamanya adalah:

  • NfcAdapter, yang mewakili hardware NFC di perangkat.
  • NdefMessage, yang mewakili pesan data NDEF, format standar tempat "catatan" yang membawa data dikirim antara perangkat dan tag. Pesan NDEF tertentu dari berbagai data NDEF dengan jenis yang berbeda. Aplikasi dapat menerima pesan ini dari Intent NDEF_DISCOVERED, TECH_DISCOVERED, atau TAG_DISCOVERED.
  • NdefRecord, dikirimkan dalam NdefMessage, yang menjelaskan jenis data yang dibagikan dan membawa data itu sendiri.
  • Tag, yang mewakili tag yang dipindai oleh perangkat. Beberapa jenis tag didukung, berdasarkan teknologi tag yang mendasarinya.
  • TagTechnology, antarmuka yang memberi aplikasi akses ke properti tag dan operasi I/O berdasarkan teknologi yang ada dalam tag. Untuk mengetahui daftar lengkap teknologi tag yang didukung di Android 2.3.3, lihat android.nfc.tech.

Komunikasi NFC bergantung pada teknologi nirkabel pada hardware perangkat, dan tidak ada di semua perangkat Android. Perangkat Android yang tidak mendukung NFC akan menampilkan objek null saat getDefaultAdapter(Context) dipanggil, dan context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC) akan menampilkan false. Namun, NFC API selalu ada, terlepas dari dukungan hardware yang mendasarinya.

Untuk menggunakan NFC API, aplikasi harus meminta izin dari pengguna dengan mendeklarasikan <uses-permission android:name="android.permission.NFC"> dalam file manifesnya.

Selain itu, developer dapat meminta pemfilteran di Google Play, sehingga aplikasi mereka tidak dapat ditemukan oleh pengguna yang perangkatnya tidak mendukung NFC. Untuk meminta pemfilteran, tambahkan <uses-feature android:name="android.hardware.nfc" android:required="true"> ke manifes aplikasi.

Untuk mengetahui informasi selengkapnya, baca panduan developer NFC.

Bluetooth

Android 2.3.3 menambahkan dukungan platform dan API untuk koneksi soket Bluetooth tidak aman. Hal ini memungkinkan aplikasi berkomunikasi dengan perangkat sederhana yang mungkin tidak menawarkan UI untuk autentikasi. Lihat createInsecureRfcommSocketToServiceRecord(java.util.UUID) dan listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID) untuk mengetahui informasi selengkapnya.

Grafis

  • Class BitmapRegionDecoder baru memungkinkan aplikasi mendekode area persegi panjang dari gambar. API ini sangat berguna jika gambar asli berukuran besar dan aplikasi hanya memerlukan sebagian dari gambar.
  • Kolom inPreferQualityOverSpeed baru di BitmapFactory.Options memungkinkan aplikasi menggunakan metode IDCT yang lebih akurat tetapi sedikit lebih lambat dalam dekode JPEG. Hal ini nantinya akan meningkatkan kualitas gambar yang direkonstruksi.

Framework media

Pengenalan ucapan

API pengenalan ucapan menyertakan konstanta baru agar Anda dapat mengelola hasil penelusuran suara dengan cara baru. Meskipun konstanta baru tidak diperlukan untuk penggunaan normal pengenalan ucapan, Anda dapat menggunakannya untuk menawarkan tampilan hasil penelusuran suara yang berbeda dalam aplikasi Anda. Untuk informasi selengkapnya, lihat RecognizerResultsIntent.

API Level

Platform Android 2.3.3 menghadirkan versi API framework yang terupdate. Android 2.3.3 API diberi ID bilangan bulat — 10 — yang disimpan dalam sistem itu sendiri. ID ini, yang disebut "API Level", memungkinkan sistem menentukan dengan benar apakah aplikasi kompatibel dengan sistem tersebut, sebelum menginstal aplikasi.

Untuk menggunakan API yang diperkenalkan dalam Android 2.3.3 di aplikasi, Anda perlu mengompilasi aplikasi terhadap library Android yang disediakan di platform SDK Android 2.3.3. Bergantung pada kebutuhan, Anda mungkin juga perlu menambahkan atribut android:minSdkVersion="10" ke elemen <uses-sdk> dalam manifes aplikasi. Jika aplikasi Anda dirancang hanya untuk berjalan di Android 2.3 dan yang lebih tinggi, mendeklarasikan atribut ini akan mencegah penginstalan aplikasi pada versi platform sebelumnya.

Untuk mengetahui informasi selengkapnya, baca Apa itu API Level?