API Android 2.2

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

Media

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 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 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 menjadi match_parent. Hal ini memengaruhi kode XML dan Java (lihat ViewGroup.LayoutParams). Perhatikan bahwa platform akan terus mematuhi 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 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.
  • 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.
  • 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 mewajibkan 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 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.