API Level: 9
Untuk developer, platform Android 2.3
(GINGERBREAD
) 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 memulai pengembangan atau pengujian terhadap Android 2.3,
menggunakan Android SDK Manager untuk mendownload platform ke SDK Anda.
Ringkasan API
Bagian di bawah ini memberikan ringkasan teknis tentang yang baru bagi developer di versi 2.3, termasuk fitur baru dan perubahan pada API framework sejak versi sebelumnya.
VoIP berbasis SIP
Platform ini sekarang menyertakan stack protokol SIP dan API framework yang memungkinkan developer membangun aplikasi telepon internet. Dengan menggunakan API, aplikasi dapat menawarkan fitur panggilan suara tanpa harus mengelola sesi, komunikasi tingkat transpor, atau audio — hal ini ditangani secara transparan oleh API dan layanan SIP platform.
SIP API tersedia di android.net.sip
paket. Class kunci adalah SipManager
, yang digunakan aplikasi
untuk menyiapkan dan mengelola profil SIP, lalu memulai panggilan audio dan menerima
panggilan audio. Setelah panggilan audio dibuat, aplikasi dapat membisukan panggilan,
mengaktifkan mode speaker, mengirim nada DTMF, dan lainnya. Aplikasi juga dapat menggunakan
SipManager
untuk membuat koneksi SIP umum.
Stack dan layanan SIP dasar platform tersedia di perangkat atas
pertimbangan produsen dan operator terkait. Oleh karena itu,
aplikasi harus menggunakan metode isApiSupported()
untuk memeriksa apakah dukungan SIP tersedia, sebelum
mengekspos fungsi panggilan kepada pengguna.
Untuk menggunakan SIP API, aplikasi harus meminta izin dari pengguna dengan
mendeklarasikan <uses-permission
android:name="android.permission.INTERNET">
dan <uses-permission
android:name="android.permission.USE_SIP">
dalam file manifesnya.
Selain itu, developer dapat meminta pemfilteran di Google Play, sehingga
aplikasi mereka tidak dapat ditemukan oleh pengguna yang perangkatnya tidak disertakan
stack dan layanan SIP platform. Untuk meminta pemfilteran, tambahkan <uses-feature
android:name="android.software.sip"
android:required="true">
dan <uses-feature
android:name="android.software.sip.voip">
ke manifes aplikasi.
Untuk informasi selengkapnya, baca panduan developer SIP.
Komunikasi Nirkabel Jarak Dekat (NFC)
Android 2.3 menyertakan stack NFC dan API framework yang memungkinkan developer membaca tag NDEF yang ditemukan saat pengguna menyentuh perangkat yang dilengkapi NFC untuk memberi tag pada elemen yang disematkan dalam stiker, poster pintar, dan bahkan perangkat lainnya.
Platform ini menyediakan layanan NFC dasar yang berfungsi dengan perangkat perangkat keras untuk menemukan {i>tag<i} ketika mereka berada dalam jangkauan. Saat menemukan tag, platform memberi tahu aplikasi dengan menyiarkan Intent, yang menambahkan atribut Pesan NDEF ke Intent sebagai tambahan. Aplikasi bisa membuat filter Intent untuk mengenali dan menangani tag dan pesan yang ditargetkan. Misalnya, setelah menerima tag oleh Intent, aplikasi mengekstrak pesan NDEF, menyimpannya, memberi tahu pengguna, atau menanganinya dengan cara lain.
NFC API tersedia dalam paket android.nfc
. Class utamanya adalah:
NfcAdapter
, yang menunjukkan hardware NFC di perangkat.NdefMessage
, yang mewakili pesan data NDEF, format standar tempat "data" yang membawa data dikirim antara perangkat dan tag. Aplikasi dapat menerima pesan ini dari IntentACTION_TAG_DISCOVERED
.NdefRecord
, dikirimkan dalamNdefMessage
, yang mendeskripsikan jenis data yang dibagikan dan membawa data itu sendiri.
Komunikasi NFC bergantung pada teknologi nirkabel pada perangkat keras
dukungan untuk fitur NFC platform pada perangkat tertentu ditentukan oleh
produsennya. Untuk menentukan dukungan NFC di perangkat saat ini,
aplikasi dapat memanggil isEnabled()
untuk
mengkueri NfcAdapter
. 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 melihat contoh aplikasi yang menggunakan NFC API, lihat NFCDemo.
Giroskop dan sensor lainnya
Android 2.3 menambahkan dukungan platform dan API untuk sejumlah pembacaan sensor baru — giroskop, vektor rotasi, akselerasi linear, gravitasi, dan barometer. Developer dapat menggunakan pembacaan sensor baru untuk membuat aplikasi yang merespons dengan cepat dan lancar untuk tepat pada perubahan posisi dan gerakan perangkat. Sensor API melaporkan perubahan giroskop dan sensor lainnya ke aplikasi yang tertarik, baik yang berjalan di framework aplikasi maupun dalam kode native.
Perhatikan bahwa kumpulan sensor hardware tertentu yang tersedia di perangkat tertentu bervariasi sesuai kebijaksanaan produsen perangkat.
Developer dapat meminta pemfilteran di Google Play, sehingga
aplikasi mereka tidak dapat ditemukan oleh pengguna yang perangkatnya tidak menawarkan
sensor giroskop. Untuk melakukannya, tambahkan <uses-feature
android:name="android.hardware.sensor.gyroscope"
android:required="true">
ke manifes aplikasi.
Untuk mengetahui detail API, lihat Sensor
.
Dukungan beberapa kamera
Aplikasi kini dapat menggunakan kamera apa pun yang tersedia di perangkat,
untuk pengambilan foto atau video. Camera
memungkinkan
aplikasi mengkueri jumlah kamera yang tersedia dan karakteristik
unik masing-masing.
- Class
Camera.CameraInfo
baru menyimpan karakteristik posisi kamera (orientasi, menghadap depan atau belakang). - Metode
getNumberOfCameras()
dangetCameraInfo()
baru di classCamera
memungkinkan aplikasi membuat kueri untuk kamera yang tersedia dan membuka kamera yang diperlukan. - Metode
get()
baru memungkinkan aplikasi mengambilCamcorderProfile
untuk kamera tertentu. getJpegEncodingQualityParameter()
baru memungkinkan aplikasi mendapatkan gambar diam mengambil tingkat kualitas gambar untuk kamera tertentu.
Untuk melihat contoh kode guna mengakses kamera depan, lihat CameraPreview.java dalam aplikasi contoh ApiDemos.
Camera API juga menambahkan:
- Parameter baru untuk kamera, termasuk jarak fokus, mode fokus, dan
fps pratinjau maksimum/minimum.
getFocusDistances()
,getPreviewFpsRange()
, dangetSupportedPreviewFpsRange()
baru untuk mendapatkan parameter kamera, sertasetPreviewFpsRange()
untuk menyetel kecepatan frame pratinjau.
Efek audio yang dapat dicampur
Framework media platform menambahkan dukungan untuk efek audio global atau per trek baru, termasuk bass boost, virtualisasi headphone, equalisasi, dan reverb.
- Paket
android.media.audiofx
baru menyediakan API untuk mengakses efek audio. AudioEffect
baru adalah class dasar untuk mengontrol efek audio yang disediakan oleh framework audio Android.- ID sesi audio baru yang memungkinkan aplikasi mengaitkan kumpulan efek
audio dengan instance
AudioTrack
atauMediaPlayer
. - Konstruktor class
AudioTrack
baru yang memungkinkan Anda membuatAudioTrack
dengan ID sesi tertentu. MetodeattachAuxEffect()
,getAudioSessionId()
, dansetAuxEffectSendLevel()
baru. - Metode dan jenis pendukung
attachAuxEffect()
,getAudioSessionId()
,setAudioSessionId(int)
, dansetAuxEffectSendLevel()
baru.
Untuk melihat kode contoh untuk efek audio, lihat AudioFxDemo.java dalam aplikasi contoh ApiDemos.
Framework media ini juga menambahkan:
- Dukungan baru untuk tag ketinggian di metadata EXIF untuk file JPEG. Metode baru
metode
getAltitude()
untuk mengambil nilai tag ketinggian EXIF. - Metode
setOrientationHint()
baru memungkinkan aplikasi memberi tahuMediaRecorder
tentang orientasi selama perekaman video.
Pengelola Download
Platform ini menyertakan layanan sistem DownloadManager
baru
yang menangani download HTTP yang berjalan lama. Aplikasi dapat meminta agar URI
didownload ke file tujuan tertentu. DownloadManager
akan melakukan download di latar belakang, menangani interaksi HTTP
dan mencoba lagi download setelah kegagalan atau melintasi perubahan konektivitas dan sistem
memulai ulang komputer.
- Aplikasi dapat memperoleh instance
DownloadManager
dengan memanggilgetSystemService(String)
dan meneruskanDOWNLOAD_SERVICE
. Aplikasi yang meminta download melalui API ini harus mendaftarkan penerima siaran untukACTION_NOTIFICATION_CLICKED
, untuk ditangani dengan tepat saat pengguna mengklik download yang sedang berjalan dalam notifikasi atau dari UI Download. - Class
DownloadManager.Request
memungkinkan menyediakan semua informasi yang diperlukan untuk meminta unduhan baru, seperti URI permintaan dan tujuan download. URI permintaan adalah satu-satunya parameter yang diperlukan. Perhatikan bahwa tujuan download default adalah volume bersama tempat sistem dapat menghapus file Anda jika perlu mendapatkan kembali ruang untuk penggunaan sistem. Untuk penyimpanan persisten download, tentukan tujuan download di penyimpanan eksternal (lihatsetDestinationUri(Uri)
). - Class
DownloadManager.Query
menyediakan metode yang memungkinkan aplikasi membuat kueri dan memfilter download aktif.
StrictMode
Untuk membantu developer memantau dan meningkatkan performa aplikasi mereka,
platform menawarkan fasilitas sistem baru yang disebut StrictMode
.
Saat diimplementasikan dalam aplikasi, StrictMode akan menangkap dan memberi tahu
developer aktivitas jaringan atau disk yang tidak disengaja yang dapat menurunkan performa aplikasi
performa aplikasi, seperti aktivitas yang terjadi di thread utama aplikasi
(tempat operasi UI diterima dan animasi juga berlangsung).
Developer dapat mengevaluasi masalah penggunaan jaringan dan disk yang timbul dalam StrictMode
dan memperbaikinya jika perlu, menjaga thread utama lebih responsif dan
mencegah dialog ANR ditampilkan kepada pengguna.
StrictMode
adalah class inti dan merupakan titik integrasi utama dengan sistem dan VM. Class ini menyediakan metode praktis untuk mengelola kebijakan thread dan VM yang berlaku untuk instance.StrictMode.ThreadPolicy
danStrictMode.VmPolicy
memiliki kebijakan yang Anda tetapkan dan terapkan di thread dan instance VM.
Untuk informasi selengkapnya tentang cara menggunakan StrictMode untuk mengoptimalkan
aplikasi, lihat dokumentasi class dan kode contoh di android.os.StrictMode
.
Framework UI
- Dukungan untuk overscroll
- Dukungan baru untuk overscroll di View dan Widget. Di View, aplikasi dapat mengaktifkan/menonaktifkan overscroll untuk tampilan tertentu, menyetel mode overscoll, mengontrol jarak overscroll, dan menangani hasil overscrolling.
- Di Widget, aplikasi dapat mengontrol karakteristik overscroll seperti
animasi, springback, dan jarak overscroll. Untuk mengetahui informasi selengkapnya, lihat
android.view.View
danandroid.widget.OverScroller
. ViewConfiguration
juga menyediakan metodegetScaledOverflingDistance()
dangetScaledOverscrollDistance()
.- Atribut
overScrollMode
,overScrollFooter
, danoverScrollHeader
baru untuk elemen<ListView>
, untuk mengontrol perilaku overscroll.
- Dukungan untuk pemfilteran sentuh
- Dukungan baru untuk pemfilteran sentuh, yang memungkinkan aplikasi meningkatkan keamanan View yang menyediakan akses ke fungsi sensitif. Misalnya, pemfilteran sentuh sesuai untuk memastikan keamanan tindakan pengguna seperti memberikan permintaan izin, melakukan pembelian, atau mengklik iklan. Untuk mengetahui detailnya, lihat Melihat dokumentasi class.
- Atribut
filterTouchesWhenObscured
baru untuk elemen tampilan, yang mendeklarasikan apakah akan memfilter sentuhan saat jendela tampilan dikaburkan oleh jendela lain yang terlihat. Jika disetel ke"true"
, tampilan tidak akan menerima sentuhan setiap kali toast, dialog, atau jendela lain muncul di atas jendela tampilan. Lihat Melihat dokumentasi keamanan untuk mengetahui detailnya.
Untuk melihat contoh kode pemfilteran sentuh, lihat SecureView.java di aplikasi contoh ApiDemos.
- Pengelolaan peristiwa yang lebih baik
- Class dasar baru untuk peristiwa input,
InputEvent
. Class ini menyediakan metode yang memungkinkan aplikasi menentukan arti peristiwa, seperti dengan membuat kueri untuk InputDevice tempat peristiwa berasal.KeyEvent
danMotionEvent
adalah subclass dariInputEvent
. - Class dasar baru untuk perangkat input,
InputDevice
. Tujuan menyimpan informasi tentang kemampuan perangkat input tertentu dan menyediakan metode yang memungkinkan aplikasi menentukan cara menafsirkan kejadian dari perangkat input.
- Class dasar baru untuk peristiwa input,
- Peristiwa gerakan yang ditingkatkan
MotionEvent
API diperluas untuk menyertakan "pointer ID" informasi, yang memungkinkan aplikasi untuk melacak setiap jari saat mereka bergerak ke atas dan ke bawah. Class ini menambahkan berbagai metode yang memungkinkan aplikasi bekerja secara efisien dengan peristiwa gerakan.- Sistem input kini memiliki logika untuk menghasilkan peristiwa gerakan dengan informasi ID pointer baru, yang menyintesis ID saat pointer baru tidak aktif. Sistem melacak beberapa ID pointer secara terpisah selama peristiwa gerakan, dan memastikan kontinuitas pointer yang tepat dengan mengevaluasi jarak antara kumpulan pointer terakhir dan berikutnya.
- Kontrol pemilihan teks
- Metode
setComposingRegion
baru memungkinkan aplikasi menandai area teks sebagai teks menyusun, mempertahankan gaya saat ini. MetodegetSelectedText
menampilkan teks yang dipilih ke aplikasi. Metode ini tersedia diBaseInputConnection
,InputConnection
, danInputConnectionWrapper
. textSelectHandle
baru,textSelectHandleLeft
,textSelectHandleRight
, dantextSelectHandleWindowStyle
untuk<TextView>
, untuk mereferensikan drawable yang akan digunakan untuk menampilkan anchor pemilihan teks dan gaya untuk anchor jendela.
- Metode
- Kontrol aktivitas
ActivityInfo
menambahkan konstanta baru untuk mengelola Orientasi aktivitas:SCREEN_ORIENTATION_FULL_SENSOR
,SCREEN_ORIENTATION_REVERSE_LANDSCAPE
,SCREEN_ORIENTATION_REVERSE_PORTRAIT
,SCREEN_ORIENTATION_SENSOR_LANDSCAPE
, danSCREEN_ORIENTATION_SENSOR_PORTRAIT
.- Konstanta baru
IMPORTANCE_PERCEPTIBLE
untuk kolomimportance
diActivityManager.RunningAppProcessInfo
. Nilai ini menunjukkan bahwa proses tertentu menjalankan sesuatu yang dianggap dapat dirasakan secara aktif oleh pengguna. Contohnya adalah aplikasi yang melakukan pemutaran musik latar belakang. - Metode Activity.setPersistent(boolean) untuk menandai Activity sebagai persisten kini tidak digunakan lagi dan implementasinya tidak berfungsi.
- Gaya ikon dan teks notifikasi
TextAppearance.StatusBar.EventContent
,TextAppearance.StatusBar.EventContent.Title
,TextAppearance.StatusBar.Icon
, danTextAppearance.StatusBar.Title
baru untuk mengelola gaya notifikasi.
- Menambahkan metode OpenGL ES 2.0 yang tersisa
glDrawElements()
danglVertexAttribPointer()
di classandroid.opengl.GLES20
. - Menambahkan dukungan untuk format piksel
YV12
, planar 4:2:0 format YCrCb. - Class penyedia
AlarmClock
baru untuk menyetel alarm atau menangani alarm. Penyedia berisi IntentACTION_SET_ALARM
tindakan dan tambahan yang dapat digunakan untuk memulai Aktivitas guna menyetel alarm baru di aplikasi jam alarm. Aplikasi yang ingin menerima IntentSET_ALARM
harus membuat aktivitas yang memerlukan izin SET_ALARM. Aplikasi yang ingin membuat alarm harus menggunakanContext.startActivity()
, sehingga pengguna memiliki opsi untuk memilih aplikasi jam alarm mana yang akan digunakan. MediaStore
mendukung tindakan Intent baru,PLAY_FROM_SEARCH
, yang memungkinkan aplikasi menelusuri media musik dan otomatis memutar konten dari hasil jika memungkinkan. Misalnya, aplikasi dapat memicu Intent ini sebagai hasil dari perintah pengenalan suara untuk mendengarkan musik.MediaStore
juga menambahkan tandaMEDIA_IGNORE_FILENAME
baru yang memberi tahu pemindai media untuk mengabaikan media di direktori yang berisi dan subdirektorinya. Developer dapat menggunakannya untuk mencegah grafik muncul di Galeri dan juga mencegah suara dan musik aplikasi muncul di aplikasi Musik.- Penyedia
Settings
menambahkan tindakan Aktivitas baruAPPLICATION_DETAILS_SETTINGS
danMANAGE_ALL_APPLICATIONS_SETTINGS
, yang memungkinkan aplikasi menampilkan detail aplikasi tertentu atau menampilkan layar Kelola Aplikasi. - Penyedia
ContactsContract
menambahkan jenis dataContactsContract.CommonDataKinds.SipAddress
, untuk menyimpan alamat SIP (telepon Internet) kontak. LocationManager
kini melacak permintaan aplikasi yang menghasilkan kunci layar saat aktif atau kunci Wi-Fi sesuai denganWorkSource
, class yang dikelola sistem yang mengidentifikasi aplikasi.LocationManager
melacak dari semua klien yang meminta update berkala, dan memberi tahu penyedianya parameter tersebut sebagai parameterWorkSource
, saat menetapkan waktu pembaruan. Penyedia lokasi jaringan menggunakanWorkSource
untuk melacak kunci layar dan Wi-Fi yang dimulai oleh aplikasi dan menambahkannya ke penggunaan baterai aplikasi yang dilaporkan di Kelola Aplikasi.LocationManager
menambahkan beberapa metode baru yang membiarkan Aktivitas mendaftar untuk menerima pembaruan lokasi berkala atau satu kali berdasarkan berdasarkan kriteria yang ditentukan (lihat di bawah).- Class
Criteria
baru memungkinkan aplikasi menentukan serangkaian kriteria untuk memilih penyedia lokasi. Misalnya, penyedia mungkin diurutkan menurut akurasi, penggunaan daya, kemampuan untuk melaporkan ketinggian, kecepatan, dan bearing, dan biaya moneter. - Android 2.3 menambahkan
StorageManager
baru yang mendukung file OBB (Opaque Binary Blob). Meskipun dukungan platform untuk OBB tersedia di Android 2.3, alat pengembangan untuk membuat dan mengelola file OBB tidak akan tersedia hingga awal 2011. - Platform Android 2.3 menambahkan dukungan resmi untuk perangkat yang tidak
menyertakan kartu SD (meskipun menyediakan partisi Kartu SD virtual, jika tidak
tersedia kartu SD fisik). Metode praktis,
isExternalStorageRemovable()
, memungkinkan aplikasi menentukan apakah ada kartu SD fisik. - Konstanta baru untuk mendeklarasikan fitur hardware dan software. Lihat daftarnya di bagian Konstanta Fitur Baru, di bawah.
PackageInfo
menambahkan kolomfirstInstallTime
danlastUpdateTime
baru yang menyimpan waktu penginstalan paket dan update terakhir.- Metode
getProviderInfo()
baru untuk mengambil semua informasi yang diketahui tentang class penyedia konten tertentu. TelephonyManager
menambahkan konstantaNETWORK_TYPE_EVDO_B
untuk menentukan jenis jaringan CDMA EVDO Rev B.- Metode
getPsc()
baru menampilkan kode scrambling utama dari sel penayangan di jaringan UMTS. NativeActivity
adalah jenis class Aktivitas baru, yang callback siklus prosesnya diterapkan langsung dalam kode native.NativeActivity
dan kode native yang mendasarinya berjalan di sistem seperti halnya Aktivitas lainnya — khususnya, kode tersebut berjalan dalam proses sistem aplikasi Android dan dieksekusi di thread UI utama aplikasi, dan menerima callback siklus proses yang sama seperti Aktivitas lainnya.- Class
InputQueue
dan antarmuka callback baru memungkinkan kode native mengelola antrean peristiwa. - Antarmuka
SurfaceHolder.Callback2
baru memungkinkan kode native mengelolaSurfaceHolder
. - Metode
takeInputQueue
dantakeSurface()
baru diWindow
memungkinkan kode native mengelola peristiwa dan platform. dalvik.system
menghapus beberapa class yang sebelumnya tidak digunakan lagi.- Library inti Dalvik:
- Koleksi baru:
ArrayDeque
,NavigableMap
,ConcurrentSkipListMap
,LinkedBlockingDeque
- Utilitas
Arrays
baru:binarySearch()
,copyOf()
,copyOfRange()
, dan lainnya. CookieManager
untukHttpURLConnection
.- API jaringan yang lebih lengkap:
InterfaceAddress
,NetworkInterface
, danIDN
File
kontrol baca dan tulisString.isEmpty()
Normalizer
danNormalizer.Form
- Soket server
javax.net.ssl
telah ditingkatkan.
- Koleksi baru:
- Atribut
xlargeScreens
baru untuk elemen<supports-screens>
, untuk menunjukkan apakah aplikasi mendukung faktor bentuk layar ekstra besar. Untuk mengetahui detailnya, lihat Mendukung Beberapa Layar. - Nilai baru untuk atribut
android:screenOrientation
dari elemen<activity>
:"reverseLandscape"
— Aktivitas ingin memiliki layar dalam orientasi lanskap, diputar ke arah yang berlawanan dari lanskap normal."reversePortrait"
— Aktivitas ingin memiliki layar dalam orientasi potret, yang berputar ke arah yang berlawanan dari biasanya potret."sensorLandscape"
— Aktivitas ingin memiliki layar dalam orientasi lanskap, tetapi dapat menggunakan sensor untuk mengubah arah yang ditampilkan layar."sensorPortrait"
— Aktivitas ingin memiliki layar dalam orientasi potret, tetapi dapat menggunakan sensor untuk mengubah arah layar."fullSensor"
— Orientasi ditentukan oleh fisik sensor orientasi: layar akan berputar berdasarkan cara pengguna menggerakkan perangkat seluler. Hal ini memungkinkan 4 kemungkinan rotasi, terlepas dari yang biasanya dilakukan perangkat (misalnya, beberapa perangkat biasanya tidak akan menggunakan rotasi 180 derajat).
com.android.permission.SET_ALARM
— Memungkinkan aplikasi menyiarkan Intent untuk menyetel alarm bagi pengguna. Aktivitas yang menangani tindakan IntentSET_ALARM
harus memerlukan izin ini.android.permission.USE_SIP
— Mengizinkan aplikasi menggunakanSIP API
untuk melakukan atau menerima panggilan internet.android.permission.NFC
— Mengizinkan aplikasi menggunakanNFC API
untuk membaca tag NFC.android.hardware.audio.low_latency
— Aplikasi ini menggunakan latensi rendah pipeline audio di perangkat dan sensitif terhadap penundaan atau keterlambatan dalam input suara, atau {i>output<i} tersebut.android.hardware.camera.front
— Aplikasi menggunakan antarmuka pengguna kamera pada perangkat.android.hardware.nfc
— Aplikasi menggunakan fitur radio NFC di perangkat.android.hardware.sensor.barometer
— Aplikasi menggunakan barometer perangkat.android.hardware.sensor.gyroscope
— Aplikasi menggunakan sensor giroskopi perangkat.android.software.sip
— Aplikasi menggunakan SIP API di perangkat.android.software.sip.voip
— Aplikasi ini menggunakan VoIP berbasis SIP layanan penyimpanan pada perangkat.android.hardware.touchscreen.multitouch.jazzhand
— Aplikasi ini menggunakan kemampuan multisentuh multititik canggih pada layar perangkat, untuk melacak lima poin atau lebih secara independen.
Perangkat Layar Ekstra Besar
Platform ini sekarang mendukung ukuran layar
yang sangat besar, seperti yang mungkin
ditemukan di perangkat tablet. Pengembang dapat menunjukkan bahwa aplikasi mereka
didesain untuk mendukung ukuran layar ekstra besar dengan menambahkan elemen <supports
screens ... android:xlargeScreens="true">
ke manifesnya
. Aplikasi dapat menggunakan penentu resource baru, xlarge
, untuk
memberi tag pada resource yang khusus untuk layar ekstra besar. Untuk
mengetahui detail tentang cara mendukung ukuran layar ekstra besar dan lainnya, lihat Mendukung Beberapa
Layar.
Grafik
Penyedia Materi
Lokasi
Penyimpanan
Pengelola Paket
Telepon
Akses native ke siklus proses Aktivitas, jendela
Android 2.3 mengekspos serangkaian API yang luas ke aplikasi yang menggunakan pada kode sumber. Class framework yang menarik bagi aplikasi tersebut meliputi:
Untuk informasi lengkap tentang cara menggunakan kode native atau mendownload NDK, lihat halaman Android NDK.
Runtime Dalvik
Elemen dan atribut manifes baru
Izin Baru
Konstanta Fitur Baru
Platform ini menambahkan beberapa fitur hardware baru yang dapat dideklarasikan oleh developer dalam manifes aplikasi seperti yang dibutuhkan oleh aplikasi mereka. Ini memungkinkan developer mengontrol bagaimana aplikasi mereka difilter, saat dipublikasikan di di Google Play.
Untuk informasi lengkap tentang cara mendeklarasikan fitur dan menggunakannya untuk
pemfilteran, lihat dokumentasi untuk <uses-feature>
.
Laporan perbedaan API
Untuk tampilan mendetail dari semua perubahan API di Android 2.3 (API Level 9), lihat panduan API Laporan Perbedaan.
API Level
Platform Android 2.3 menghadirkan versi API framework yang telah diperbarui. Android 2.3 API diberi ID bilangan bulat — 9 — 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 di aplikasi Anda,
Anda harus mengompilasi aplikasi terhadap library Android yang disediakan di
platform Android 2.3 SDK. Bergantung pada kebutuhan, Anda mungkin
juga perlu menambahkan android:minSdkVersion="9"
ke elemen <uses-sdk>
dalam elemen
manifes. Jika aplikasi Anda dirancang untuk berjalan hanya pada Android 2.3 dan yang lebih tinggi,
mendeklarasikan atribut akan mencegah aplikasi diinstal sebelumnya
versi dasar dari platform tersebut.
Untuk mengetahui informasi selengkapnya, baca Apa yang dimaksud dengan Level API?