Level API: 8
Android 2.2 adalah rilis platform minor yang menyertakan fitur pengguna, fitur developer, perubahan API, dan perbaikan bug. Untuk mengetahui informasi tentang fitur developer dan perubahan API, lihat bagian Framework API.
Untuk developer, platform Android 2.2 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.2, gunakan Android SDK Manager untuk mendownload platform ke SDK Anda.
Sorotan Platform
Untuk daftar fitur pengguna baru dan sorotan platform, lihat dokumen Sorotan Platform Android 2.2.
API Level
Platform Android 2.2 menghadirkan versi API framework yang telah diupdate. Android 2.2 API diberi ID bilangan bulat — 8 — 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.2 di
aplikasi, Anda perlu menyetel nilai yang tepat, "8", dalam
atribut android:minSdkVersion
elemen <uses-sdk>
dalam manifes aplikasi Anda.
Untuk informasi selengkapnya tentang cara menggunakan API Level, lihat dokumen API Level.
Perubahan API Framework
Bagian di bawah ini memberikan informasi tentang perubahan yang dibuat pada API framework aplikasi yang disediakan oleh platform Android 2.2.
Penginstalan aplikasi di media penyimpanan eksternal
Platform Android kini memungkinkan aplikasi meminta penginstalan ke media penyimpanan eksternal perangkat (seperti kartu SD), sebagai alternatif penginstalan pada memori internal perangkat.
Developer aplikasi dapat menyatakan lokasi penginstalan yang diinginkan untuk
aplikasi mereka dengan menggunakan atribut baru <manifest>
dalam file manifes,
android:installLocation
. Atribut ini mendukung tiga nilai:
"internalOnly"
, "preferExternal"
, dan
"auto"
. Pada waktu penginstalan, sistem akan memeriksa nilai
android:installLocation
dan menginstal aplikasi
.apk
menurut lokasi yang dipilih, jika memungkinkan. Jika
aplikasi telah meminta penginstalan eksternal, sistem akan menginstalnya ke
partisi pribadi yang dienkripsi di media eksternal. Setelah .apk aplikasi
diinstal secara eksternal, sistem mengizinkan pengguna mengubah lokasi penyimpanan .apk dan memindahkannya ke memori internal perangkat jika diperlukan (dan
sebaliknya), melalui Kelola Aplikasi di setelan pengguna.
Secara default, sistem menginstal semua aplikasi ke dalam memori internal
perangkat, kecuali aplikasi yang secara eksplisit meminta penginstalan eksternal. Ini
berarti bahwa sistem akan selalu menginstal aplikasi lama ke memori internal, karena aplikasi tersebut tidak memiliki akses ke
atribut android:installLocation
. Namun, Anda dapat
mengonfigurasi dan mengompilasi aplikasi lama sedemikian rupa sehingga diinstal secara internal
di versi platform yang lebih lama dan secara eksternal di platform Android 2.2
dan yang lebih baru, jika perlu.
Perhatikan bahwa meminta penginstalan ke media eksternal perangkat tidak cocok untuk semua aplikasi, terutama karena media eksternal tersebut dapat dilepas dan dilepas/dipasang kembali dapat mengganggu pengalaman pengguna dan setelan sistem.
Untuk informasi selengkapnya tentang menyetel lokasi penginstalan yang diinginkan untuk aplikasi, termasuk diskusi tentang jenis aplikasi yang boleh dan tidak boleh meminta penginstalan eksternal, baca dokumen Lokasi Penginstalan Aplikasi.
Pencadangan data
Platform ini kini menyediakan layanan pencadangan umum yang dapat digunakan aplikasi untuk mencadangkan dan memulihkan data pengguna, untuk memastikan bahwa pengguna dapat menyimpan data mereka saat beralih perangkat atau menginstal ulang aplikasi. Pengelola Pencadangan menangani tugas memindahkan data aplikasi ke dan dari area penyimpanan cadangan di cloud. Pengelola Pencadangan dapat menyimpan semua jenis data, dari data arbitrer hingga file, serta mengelola operasi pencadangan dan pemulihan secara atomik. Untuk mengetahui informasi selengkapnya, lihat Pencadangan Data.
Grafis
- OpenGL ES 2.0 API baru di
android.opengl.GLES20
. - Class
ETC1
,ETC1Util
, danETC1Util.ETC1Texture
baru serta metode utilitas untuk menggunakan ETC1 untuk kompresi tekstur. - Class
ImageFormat
baru. YUV image format API
baru untuk mengaktifkan kompresi dari YUV ke JPEG dan manipulasi data YUV.
Media
- API baru di
android.media.AudioManager
untuk mengelola fokus audio, kontrol transport, hilangnya fokus audio untuk sementara, pengecilan volume. - Intent siaran baru untuk mengarahkan audio ke SCO —
ACTION_SCO_AUDIO_STATE_CHANGED
dengan tambahan yang menunjukkan status baru. - API baru di
SoundPool
untuk mendeteksi penyelesaian pemuatan suara. - API baru di
SoundPool
untuk jeda dan melanjutkan otomatis. - API baru di
MediaRecorder
untuk menentukan setelan audio untuk jumlah saluran, frekuensi sampling dan encoding, frekuensi sampling. - API baru untuk menambahkan file ke database media, sehingga file tersebut dipindai secara otomatis. Lihat
MediaScannerConnection.scanFile
danMediaScannerConnection.OnScanCompletedListener
.
Mesin pengenalan ucapan dan pihak ketiga
- Platform ini menyediakan API pengenalan ucapan baru yang memungkinkan aplikasi berinteraksi lebih kaya dengan pengenal suara yang tersedia. Misalnya, API sudah cukup untuk mengintegrasikan pengenalan suara secara mendalam ke IME.
- Platform ini juga menyediakan class dasar
RecognitionService
yang memungkinkan developer pihak ketiga membuat mesin pengenalan plugin. - Antarmuka
RecognitionListener
baru untuk menerima callback. - Tambahan
RecognizerIntent
baru yang memungkinkan aplikasi pemohon menentukan detail sebagai bahasa pilihan, durasi minimum dalam milidetik, dan seterusnya.
Kamera dan perekam video
- Perubahan pada API pratinjau kamera untuk meningkatkan efisiensi pipeline pratinjau.
- Orientasi tampilan baru untuk kamera (kini dapat berfungsi dalam orientasi potret).
- API baru di
android.hardware.Camera
untuk mengelola tingkat zoom. android.hardware.Camera.Parameters
API baru untuk membuat kueri dan menyetel setelan kamera perangkat, seperti panjang fokus, eksposur, tingkat zoom, sudut pandang, dan lainnya.- Utilitas
thumbnail
baru untuk thumbnail video dan gambar. - Class
CamcorderProfile
danCamcorderProfile
baru memungkinkan aplikasi menentukan kemampuan kamera hardware perangkat. - Dukungan baru di
android.media.ExifInterface
untuk mengambil GPS dan panjang fokus.
Pengelola kebijakan perangkat
API pengelolaan kebijakan perangkat baru memungkinkan developer menulis aplikasi "administrator
perangkat" yang dapat mengontrol fitur keamanan perangkat,
seperti kekuatan sandi minimum, penghapusan total data, dan sebagainya. Pengguna dapat memilih
administrator yang diaktifkan di perangkat mereka. Untuk mengetahui informasi selengkapnya, lihat
classee android.app.admin
atau kode aplikasi
contoh di DeviceAdminSample.java.
Framework UI
- Mode UI baru "mode mobil" serta "mode malam" dan
UiModeManager
memungkinkan aplikasi menyesuaikan UI aplikasinya untuk mode pengguna tertentu. ScaleGestureDetector
baru yang memungkinkan View mendeteksi dan menangani gestur transformasi yang melibatkan lebih dari satu pointer (multitouch) menggunakan MotionEvents yang disediakan.- Peningkatan dalam cara melaporkan peristiwa multisentuh dalam objek
MotionEvent
. - Nama atribut tata letak
fill_parent
diganti menjadimatch_parent
. Hal ini memengaruhi kode Java dan XML (lihatViewGroup.LayoutParams
). Perhatikan bahwa platform akan tetap menerima penggunaanfill_parent
dalam aplikasi lama. - Atribut tata letak baru
tabStripEnabled
,tabStripRight
, dantabStripLeft
memungkinkan developer menyesuaikan strip bawah TabWidgets. - Dukungan yang lebih baik untuk dialog terkelola di Activity.
Akun dan sinkronisasi
- Metode baru
AddPeriodicSync()
memungkinkan Anda menjadwalkan sinkronisasi berkala dengan akun, otoritas, dan tambahan tertentu pada frekuensi yang diberikan.
Elemen dan atribut manifes baru
- Untuk menentukan lokasi penginstalan aplikasi yang disukai (lihat Penginstalan Aplikasi di Media Penyimpanan Eksternal, di atas):
- Atribut
android:installLocation
baru dari elemen<manifest>
. Menentukan lokasi penginstalan default yang ditetapkan oleh aplikasi.
- Atribut
- Untuk mengelola pencadangan data pengguna (lihat Pengelola cadangan, di atas, untuk mengetahui informasi selengkapnya):
- Atribut
android:backupAgent
baru dari elemen<application>
. Menentukan nama komponen dari subclass BackupAgent yang disediakan oleh aplikasi untuk menangani operasi pencadangan/pemulihan, jika ada. - Atribut
android:restoreAnyVersion
baru dari elemen<application>
. Nilai boolean yang menunjukkan apakah aplikasi disiapkan untuk mencoba memulihkan set data yang dicadangkan, meskipun cadangan tersebut tampaknya berasal dari versi aplikasi yang lebih baru daripada yang saat ini terinstal di perangkat.
- Atribut
- Untuk mengelola compiler JIT platform:
- Atribut
android:vmSafeMode
baru dari elemen<application>
. Nilai Boolean yang menentukan apakah akan menonaktifkan pengoptimalan compiler JIT saat menjalankan aplikasi.
- Atribut
Izin
android.permission.BIND_DEVICE_ADMIN
— Setiap penerima siaran administrasi perangkat harus memerlukan izin ini, untuk memastikan bahwa hanya sistem yang dapat berinteraksi dengannya.android.permission.KILL_BACKGROUND_PROCESSES
— Mengizinkan aplikasi memanggilkillBackgroundProcesses(String)
.android.permission.BIND_WALLPAPER
— SetiapWallpaperService
harus memerlukan izin ini, untuk memastikan bahwa hanya sistem yang dapat berinteraksi dengannya.android.permission.SET_TIME
— Mengizinkan aplikasi menyetel waktu sistem.
Laporan perbedaan API
Untuk melihat tampilan mendetail semua perubahan API di Android 2.2 (API Level 8), lihat Laporan Perbedaan API.