API Android 2.2

Level API: 8

Android 2.2 merupakan 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 Android dan image sistem, serta sekumpulan skin emulator dan lainnya. 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 diberikan 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 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 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 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 diinginkan, jika memungkinkan. Jika aplikasi telah meminta penginstalan eksternal, sistem akan menginstalnya ke partisi pribadi terenkripsi 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 akan menginstal semua aplikasi ke 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 pada versi platform yang lebih lama dan secara eksternal pada 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 dapat dilepas dan dilepas/dipasang kembali dapat mengganggu pengalaman pengguna dan setelan sistem.

Untuk informasi selengkapnya tentang cara menetapkan lokasi penginstalan yang diinginkan untuk aplikasi Anda, 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 mempertahankan datanya 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, mulai dari data arbitrer hingga file, serta mengelola operasi pencadangan dan pemulihan secara atomik. Untuk mengetahui informasi selengkapnya, lihat Pencadangan Data.

Grafis

Media

Pengenalan ucapan dan mesin pengenalan pihak ketiga

  • Platform ini menyediakan API pengenalan ucapan baru yang memungkinkan aplikasi berinteraksi lebih mendalam dengan pengenal suara yang tersedia. Misalnya, API sudah 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, 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.
  • API baru android.hardware.Camera.Parameters 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 yang 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 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 cara pelaporan 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 terus 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 ditentukan.

Elemen dan atribut manifes baru

  • Untuk menentukan lokasi penginstalan yang diinginkan 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.
  • 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 disiapkan untuk mencoba memulihkan set data yang dicadangkan, meskipun cadangan 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.