API Android 2.2

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

Media

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 dan CamcorderProfile 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 menjadi match_parent. Hal ini memengaruhi kode Java dan XML (lihat ViewGroup.LayoutParams). Perhatikan bahwa platform akan tetap menerima penggunaan fill_parent dalam aplikasi lama.
  • Atribut tata letak baru tabStripEnabled, tabStripRight, dan tabStripLeft 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.
  • 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.
  • 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.

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 memanggil killBackgroundProcesses(String).
  • android.permission.BIND_WALLPAPER — Setiap WallpaperService 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.