API Level: 8
Android 2.2 adalah rilis platform minor yang mencakup 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 dan image sistem Android, serta serangkaian skin emulator dan lainnya. Untuk mulai mengembangkan atau menguji terhadap Android 2.2, gunakan Android SDK Manager untuk mendownload platform ke SDK Anda.
Sorotan Platform
Untuk mengetahui daftar fitur pengguna baru dan sorotan platform, lihat dokumen Sorotan Platform Android 2.2.
API Level
Platform Android 2.2 menghadirkan versi terbaru API framework. 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, sebelum menginstal aplikasi.
Untuk menggunakan API yang diperkenalkan di Android 2.2 dalam
aplikasi, Anda harus menetapkan nilai yang tepat, "8", dalam
atribut android:minSdkVersion
dari elemen
<uses-sdk>
dalam manifes aplikasi.
Untuk informasi selengkapnya tentang cara menggunakan API Level, lihat dokumen API Level.
Perubahan API Framework
Bagian di bawah ini memberikan informasi tentang perubahan yang dilakukan 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 untuk penginstalan ke memori internal perangkat.
Developer aplikasi dapat menyatakan lokasi penginstalan yang diinginkan untuk
aplikasi mereka melalui 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
sesuai dengan lokasi yang diinginkan, jika memungkinkan. Jika
aplikasi telah meminta penginstalan eksternal, sistem akan menginstalnya ke dalam
partisi terenkripsi pribadi di media eksternal. Setelah .apk aplikasi
diinstal secara eksternal, sistem memungkinkan 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 memori internal
perangkat, kecuali aplikasi yang secara eksplisit meminta penginstalan eksternal. Artinya,
sistem akan selalu menginstal aplikasi lama ke memori
internal, karena tidak memiliki akses ke
atribut android:installLocation
. Namun, Anda dapat
mengonfigurasi dan mengompilasi aplikasi lama sehingga diinstal secara internal
di platform versi lama dan secara eksternal di platform Android 2.2 dan
yang lebih baru, jika diperlukan.
Perhatikan bahwa meminta penginstalan ke media eksternal perangkat tidak cocok untuk semua aplikasi, terutama karena media eksternal dapat dihapus dan melepas/memasang ulang dapat mengganggu pengalaman pengguna dan setelan sistem.
Untuk informasi selengkapnya tentang cara menetapkan lokasi penginstalan pilihan untuk aplikasi Anda, termasuk diskusi tentang jenis aplikasi yang harus 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 mempertahankan data mereka saat beralih perangkat atau menginstal ulang aplikasi. Backup Manager menangani tugas untuk mentransfer data aplikasi ke dan dari area penyimpanan cadangan di cloud. Pengelola Cadangan dapat menyimpan semua jenis data, dari data arbitrer hingga file, dan mengelola operasi pencadangan dan pemulihan secara atomik. Untuk mengetahui informasi selengkapnya, lihat Pencadangan Data.
Grafik
- API OpenGL ES 2.0 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 transpor, hilangnya fokus audio sementara, dan peredam. - Intent siaran baru untuk merutekan 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 lanjutkan otomatis. - API baru di
MediaRecorder
untuk menentukan setelan audio untuk jumlah saluran, kecepatan encoding dan sampling, kecepatan sampling. - API baru untuk menambahkan file ke database media, sehingga file tersebut akan otomatis dipindai. Lihat
MediaScannerConnection.scanFile
danMediaScannerConnection.OnScanCompletedListener
.
Pengenalan ucapan dan mesin pengenalan pihak ketiga
- Platform ini menyediakan API pengenalan ucapan baru yang memungkinkan aplikasi memiliki interaksi yang lebih kaya dengan pengenal suara yang tersedia. Misalnya, API ini cukup untuk mengintegrasikan pengenalan suara secara mendalam ke dalam 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, panjang minimum dalam milidetik, dan sebagainya.
Kamera dan kamera perekam
- 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. - API baru
android.hardware.Camera.Parameters
untuk membuat kueri dan menetapkan 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 data, dan sebagainya. Pengguna dapat memilih
administrator yang diaktifkan di perangkat mereka. Untuk informasi selengkapnya, lihat
class android.app.admin
atau contoh
kode aplikasi di DeviceAdminSample.java.
Framework UI
- Mode UI baru "mode mobil" dan "mode malam" serta
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 (multi-kontrol) menggunakan MotionEvents yang disediakan.- Peningkatan pada cara peristiwa multi-sentuh dilaporkan dalam objek
MotionEvent
. - Atribut tata letak
fill_parent
diganti namanya menjadimatch_parent
. Hal ini memengaruhi kode XML dan Java (lihatViewGroup.LayoutParams
). Perhatikan bahwa platform akan terus mematuhi 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 Aktivitas.
Akun dan sinkronisasi
- Metode baru
AddPeriodicSync()
memungkinkan Anda menjadwalkan sinkronisasi berkala dengan akun, otoritas, dan tambahan tertentu pada frekuensi yang ditentukan.
Elemen dan atribut manifes baru
- Untuk menentukan lokasi penginstalan pilihan aplikasi (lihat Penginstalan Aplikasi di Media Penyimpanan Eksternal, di atas):
- Atribut
android:installLocation
baru dari elemen<manifest>
. Menentukan lokasi penginstalan default yang ditentukan oleh aplikasi.
- Atribut
- Untuk mengelola pencadangan data pengguna (lihat Pengelola pencadangan, di atas, untuk mengetahui informasi selengkapnya):
- Atribut
android:backupAgent
baru dari elemen<application>
. Menentukan nama komponen 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 siap untuk mencoba memulihkan set data yang dicadangkan, meskipun cadangan tampaknya berasal dari versi aplikasi yang lebih baru daripada yang saat ini diinstal 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 mewajibkan 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 mewajibkan 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 tentang semua perubahan API di Android 2.2 (API Level 8), lihat Laporan Perbedaan API.