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 ini berisi library Android dan image sistem, serta sekumpulan skin emulator dan lainnya. 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 pada versi 2.3.3, termasuk fitur dan perubahan baru dalam API framework sejak versi sebelumnya.

Komunikasi Nirkabel Jarak Dekat (NFC)

Android 2.3.3 menyediakan dukungan yang ditingkatkan dan diperluas untuk NFC, agar aplikasi dapat berinteraksi dengan lebih banyak jenis tag dengan cara yang 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 Klasik
  • MIFARE Ultralight
  • 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 peluncurannya, saat tag NFC ditemukan. Sebelumnya, platform 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 yang digunakan "record" yang berisi data yang ditransmisikan di antara perangkat dan tag. Pesan NDEF tertentu pada sejumlah data NDEF dari berbagai jenis. Aplikasi dapat menerima pesan ini dari Intent NDEF_DISCOVERED, TECH_DISCOVERED, atau TAG_DISCOVERED.
  • NdefRecord, dikirim dalam NdefMessage, yang menjelaskan jenis data yang dibagikan dan berisi 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 daftar lengkap teknologi tag yang didukung di Android 2.3.3, lihat android.nfc.tech.

Komunikasi NFC bergantung pada 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 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.

Grafik

  • 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 tersebut.
  • Kolom inPreferQualityOverSpeed baru di BitmapFactory.Options memungkinkan aplikasi menggunakan metode IDCT yang lebih akurat tetapi sedikit lebih lambat dalam dekode JPEG. Hal ini pada akhirnya 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 mengetahui informasinya, lihat RecognizerResultsIntent.

API Level

Platform Android 2.3.3 menyediakan versi API framework yang telah diupdate. API Android 2.3.3 diberikan 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 mungkin juga perlu menambahkan atribut android:minSdkVersion="10" ke elemen <uses-sdk> dalam manifes aplikasi. Jika aplikasi Anda dirancang untuk hanya berjalan pada Android 2.3 dan yang lebih tinggi, mendeklarasikan atribut akan mencegah aplikasi diinstal pada versi platform yang lebih lama.

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