API Android 2.3.3

API Level: 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 dan image sistem Android, serta serangkaian skin emulator dan lainnya. Untuk mulai mengembangkan atau menguji terhadap Android 2.3.3, gunakan Android SDK Manager untuk mendownload platform ke SDK Anda.

Ringkasan API

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

Komunikasi Nirkabel Jarak Dekat (NFC)

Android 2.3.3 memberikan dukungan yang lebih baik dan diperluas untuk NFC, sehingga aplikasi dapat berinteraksi dengan lebih banyak jenis tag dengan cara baru.

Kumpulan API baru yang komprehensif memberi aplikasi 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 Classic
  • MIFARE Ultralight
  • Tag NDEF NFC Forum

Platform ini juga menyediakan API dan protokol komunikasi peer-to-peer yang 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 lebih banyak kontrol atas cara dan waktu peluncurannya, saat tag NFC ditemukan. Sebelumnya, platform menggunakan pengiriman intent satu langkah untuk memberi tahu aplikasi yang tertarik bahwa tag telah ditemukan. Platform ini kini menggunakan proses empat langkah yang memungkinkan aplikasi latar depan mengambil kendali atas 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 "data" yang membawa data dikirim antara perangkat dan tag. Pesan NDEF berisi banyak data NDEF dari berbagai jenis. Aplikasi dapat menerima pesan ini dari Intent NDEF_DISCOVERED, TECH_DISCOVERED, atau TAG_DISCOVERED.
  • NdefRecord, yang dikirim 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 mengandalkan teknologi nirkabel di 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 informasi selengkapnya, baca panduan developer NFC.

Bluetooth

Android 2.3.3 menambahkan dukungan platform dan API untuk koneksi socket Bluetooth yang 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.

Grafik

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

Framework media

Pengenalan ucapan

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

API Level

Platform Android 2.3.3 memberikan versi terbaru API framework. API Android 2.3.3 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, sebelum menginstal aplikasi.

Untuk menggunakan API yang diperkenalkan di Android 2.3.3 dalam aplikasi, Anda perlu mengompilasi aplikasi terhadap library Android yang disediakan di platform SDK Android 2.3.3. Bergantung pada kebutuhan Anda, 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 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?