Android 2.2 API'leri

API Düzeyi: 8

Android 2.2, kullanıcı özellikleri, geliştirici özellikleri, API değişiklikleri ve hata düzeltmeleri içeren küçük bir platform sürümüdür. Geliştirici özellikleri ve API değişiklikleri hakkında bilgi edinmek için Framework API bölümüne bakın.

Android 2.2 platformu, geliştiriciler için Android SDK'sı tarafından indirilebilir bir bileşen olarak sunulur. İndirilebilir platformda Android kitaplığı ve sistem resminin yanı sıra bir dizi emülatör kaplaması ve daha fazlası yer alır. Android 2.2 için geliştirmeye veya test etmeye başlamak istiyorsanız Android SDK Yöneticisi'ni kullanarak platformu SDK'nıza indirin.

Platformun öne çıkan özellikleri

Yeni kullanıcı özelliklerinin ve platformdaki öne çıkan özelliklerin listesi için Android 2.2 Platform Öne Çıkan Özellikleri belgesine bakın.

API düzeyi

Android 2.2 platformu, çerçeve API'sinin güncellenmiş bir sürümünü sunar. Android 2.2 API'ye, sistemde depolanan bir tam sayı tanımlayıcısı (8) atanır. "API Seviyesi" olarak adlandırılan bu tanımlayıcı, sistemin uygulamayı yüklemeden önce uygulamanın sistemle uyumlu olup olmadığını doğru şekilde belirlemesine olanak tanır.

Android 2.2'de kullanıma sunulan API'leri uygulamanızda kullanmak için uygulamanızın manifest dosyasında <uses-sdk> öğesinin android:minSdkVersion özelliklerinde "8" değerini ayarlamanız gerekir.

API düzeyinin nasıl kullanılacağı hakkında daha fazla bilgi için API Düzeyleri belgesine bakın.

Framework API Değişiklikleri

Aşağıdaki bölümlerde, Android 2.2 platformu tarafından sağlanan uygulama çerçevesi API'sinde yapılan değişiklikler hakkında bilgi verilmektedir.

Harici depolama medyasına uygulama yükleme

Android platformu artık uygulamaların, cihazın dahili belleğine yükleme yerine cihazın harici depolama medyasına (ör. SD kart) yükleme isteğinde bulunmasına olanak tanır.

Uygulama geliştiriciler, manifest dosyasında <manifest> adlı yeni bir özellik android:installLocation kullanarak uygulamalarının tercih edilen yükleme konumunu belirtebilir. Özellik üç değeri destekler: "internalOnly", "preferExternal" ve "auto". Sistem, yükleme sırasında android:installLocation değerini kontrol eder ve mümkünse .apk uygulamasını tercih edilen konuma yükler. Uygulama harici kurulum isteğinde bulunduysa sistem, uygulamayı harici medyadaki özel ve şifrelenmiş bir bölüme yükler. Bir uygulamanın .apk dosyası harici olarak yüklendikten sonra sistem, kullanıcının kullanıcı ayarlarındaki Uygulamaları Yönet'i kullanarak .apk dosyasının depolama konumunu değiştirmesine ve gerekirse cihazın dahili belleğine taşımasına (veya tam tersini yapmasına) olanak tanır.

Sistem, harici kurulum isteğinde bulunanlar hariç tüm uygulamaları varsayılan olarak cihazın dahili belleğine yükler. Bu, android:installLocation özelliğine erişimleri olmadığı için eski uygulamaların her zaman dahili belleğe yükleneceği anlamına gelir. Ancak eski bir uygulamayı, platformun eski sürümlerinde dahili olarak ve gerekirse Android 2.2 ve sonraki platformlarda harici olarak yüklenecek şekilde yapılandırıp derleyebilirsiniz.

Cihazın harici medyasına yükleme isteğinde bulunmanın, özellikle harici medya çıkarılabilir olduğu ve çıkarma/yeniden takma işleminin kullanıcı deneyimini ve sistem ayarlarını bozabileceği için tüm uygulamalar için uygun olmadığını unutmayın.

Uygulamanız için tercih edilen bir yükleme konumu ayarlama hakkında daha fazla bilgi edinmek istiyorsanız (ör. hangi uygulama türlerinin harici yükleme isteğinde bulunması ve hangilerinin isteğinde bulunmaması gerektiği hakkında) lütfen Uygulama Yükleme Konumu belgesini okuyun.

Veri yedekleme

Platform artık uygulamaların kullanıcı verilerini yedeklemek ve geri yüklemek için kullanabileceği genel bir yedekleme hizmeti sunuyor. Böylece kullanıcılar, cihaz değiştirirken veya uygulamayı yeniden yüklerken verilerini koruyabilir. Yedekleme Yöneticisi, uygulama verilerini buluttaki yedek depolama alanından ve bu alana taşıma işini yönetir. Yedekleme Yöneticisi, rastgele verilerden dosyalara kadar her tür veriyi saklayabilir ve yedekleme ile geri yükleme işlemlerini atomik bir şekilde yönetir. Daha fazla bilgi için Veri Yedekleme başlıklı makaleyi inceleyin.

Grafik

Medya

Konuşma tanıma ve üçüncü taraf tanıma motorları

  • Platform, uygulamaların mevcut ses tanımlayıcıyla daha zengin bir etkileşim kurmasına olanak tanıyan yeni konuşma tanıma API'leri sağlar. Örneğin, API'ler konuşma tanımayı bir IME'ye derinlemesine entegre etmek için yeterlidir.
  • Platform ayrıca üçüncü taraf geliştiricilerin eklenti tanıma motorları oluşturmasına olanak tanıyan bir RecognitionService temel sınıfı da sağlar.
  • Geri arama almak için yeni RecognitionListener arayüzü.
  • İstekte bulunan uygulamanın tercih edilen dil, milisaniye cinsinden minimum uzunluk gibi ayrıntıları belirtmesine olanak tanıyan yeni RecognizerIntent ekstraları.

Kamera ve video kamera

  • Önizleme ardışık düzeninin verimliliğini artırmak için kamera önizleme API'sinde yapılan değişiklikler.
  • Kamera için yeni görüntüleme yönü (artık dikey yönde çalışabilir).
  • Yakınlaştırma seviyesini yönetmek için android.hardware.Camera'te yeni API'ler.
  • Odak uzaklığı, pozlama, yakınlaştırma seviyesi, görüntü açısı ve diğerleri gibi cihaz kamera ayarlarını sorgulamak ve ayarlamak için yeni API'ler android.hardware.Camera.Parameters.
  • Video ve resim küçük resimleri için yeni thumbnail yardımcı programı.
  • Yeni CamcorderProfile ve CamcorderProfile sınıfları, uygulamaların cihaz donanım kamera özelliklerini belirlemesini sağlar.
  • android.media.ExifInterface'te GPS ve odak uzaklığını almayla ilgili yeni destek.

Cihaz politikası yöneticisi

Yeni cihaz politikası yönetimi API'leri, geliştiricilerin cihazın güvenlik özelliklerini (ör. minimum şifre gücü, veri silme vb.) kontrol edebilecek "cihaz yöneticisi" uygulamaları yazmasına olanak tanır. Kullanıcılar, cihazlarında etkinleştirilen yöneticileri seçebilir. Daha fazla bilgi için android.app.admin sınıflarına veya DeviceAdminSample.java dosyasında yer alan örnek uygulama koduna bakın.

Kullanıcı Arayüzü Çerçevesi

  • "Araba modu" ve "gece modu" gibi yeni kullanıcı arayüzü modları ve UiModeManager, uygulamaların uygulama kullanıcı arayüzlerini belirli kullanıcı modlarına göre ayarlamalarına olanak tanır.
  • Görünümlerin, sağlanan MotionEvents'i kullanarak birden fazla işaretçi (çoklu dokunma) içeren dönüşüm hareketlerini algılamasına ve işlemesine olanak tanıyan yeni ScaleGestureDetector.
  • MotionEvent nesnelerinde çoklu dokunma etkinliklerinin raporlanma şekliyle ilgili iyileştirmeler.
  • fill_parent düzen özelliği match_parent olarak yeniden adlandırılır. Bu durum hem XML hem de Java kodunu etkiler (ViewGroup.LayoutParams bölümüne bakın). Platformun, eski uygulamalarda fill_parent kullanımını desteklemeye devam edeceğini unutmayın.
  • Yeni düzen özellikleri tabStripEnabled, tabStripRight ve tabStripLeft, geliştiricilerin Sekme Widget'larının alt şeridini özelleştirmesine olanak tanır.
  • Etkinlik'te yönetilen iletişim kutuları için daha iyi destek.

Hesaplar ve senkronizasyon

  • Yeni AddPeriodicSync() yöntemi, belirli bir hesap, yetki ve ekstralarla belirli bir sıklıkta düzenli senkronizasyon planlamanıza olanak tanır.

Yeni manifest öğeleri ve özellikleri

  • Uygulamanın tercih edilen yükleme konumunu belirtmek için (yukarıdaki Harici Depolama Medyalarında Uygulama Yükleme bölümüne bakın):
    • <manifest> öğesinin yeni android:installLocation özelliği. Bir uygulama tarafından tanımlanan varsayılan yükleme konumunu belirtir.
  • Kullanıcı verilerini yedekleme özelliğini yönetmek için (daha fazla bilgi için yukarıdaki Yedekleme yöneticisi bölümüne bakın):
    • <application> öğesinin yeni android:backupAgent özelliği. Yedekleme/geri yükleme işlemlerini (varsa) yönetmek için uygulama tarafından sağlanan BackupAgent alt sınıfının bileşen adını belirtir.
    • <application> öğesinin yeni android:restoreAnyVersion özelliği. Yedekleme, uygulamanın şu anda cihazda yüklü olan sürümünden daha yeni bir sürümden alınmış olsa bile uygulamanın yedeklenen veri kümelerini geri yükleme denemesi yapıp yapamayacağını belirten Boole değeri.
  • Platformun JIT derleyicisini yönetmek için:
    • <application> öğesinin yeni android:vmSafeMode özelliği. Uygulama çalışırken JIT derleyici optimizasyonlarının devre dışı bırakılıp bırakılmayacağını belirten Boole değeri.

İzinler

  • android.permission.BIND_DEVICE_ADMIN: Cihaz yönetimi yayın alıcılarının yalnızca sistemin onunla etkileşime geçebilmesi için bu izni alması gerekir.
  • android.permission.KILL_BACKGROUND_PROCESSES: Bir uygulamanın killBackgroundProcesses(String)'i aramasına izin verir.
  • android.permission.BIND_WALLPAPER: Yalnızca sistemin etkileşime geçebilmesi için tüm WallpaperService'lerin bu izni alması gerekir.
  • android.permission.SET_TIME: Uygulamanın sistem saatini ayarlamasına izin verir.

API farklılıkları raporu

Android 2.2'deki (API seviyesi 8) tüm API değişikliklerinin ayrıntılı görünümü için API Farklılık Raporu'na bakın.