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 için Framework API bölümüne bakın.

Android 2.2 platformu, geliştiriciler açısından Android SDK'sı için indirilebilir bir bileşen olarak mevcuttur. İndirilebilir platformda bir Android kitaplığı ve sistem görüntüsünün yanı sıra bir dizi emülatör görünümü ve daha fazlası yer alır. Android 2.2'ye yönelik uygulama geliştirmeye veya test etmeye başlamak için Android SDK Manager'ı kullanarak platformu SDK'nıza indirin.

Platformda Öne Çıkanlar

Yeni kullanıcı özelliklerinin ve platformda öne çıkan özelliklerin listesi için Android 2.2 Platformunda Öne Çıkanlar 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, sistemin kendisinde depolanan bir tam sayı tanımlayıcı (8) atanır. "API Düzeyi" adı verilen bu tanımlayıcı, sistemin bir uygulamanın uygulamayı yüklemeden önce sistemle uyumlu olup olmadığını doğru şekilde belirlemesine olanak tanır.

Uygulamanızda Android 2.2'de sunulan API'leri kullanmak için uygulamanızın manifest dosyasındaki <uses-sdk> öğesinin android:minSdkVersion özelliklerinde "8" olan doğru değeri ayarlamanız gerekir.

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

Çerçeve API'sı 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 ortamına uygulama yükleme

Android platformu, cihazın dahili belleğine yüklemeye alternatif olarak artık uygulamaların, cihazın harici depolama ortamına (ör. SD kart) yükleme isteğinde bulunmasına izin vermektedir.

Uygulama geliştiriciler, manifest dosyalarındaki yeni bir <manifest> özelliği ( android:installLocation) aracılığıyla uygulamaları için tercih edilen yükleme konumunu ifade edebilirler. Bu özellik üç değeri destekler: "internalOnly", "preferExternal" ve "auto". Yükleme sırasında sistem, android:installLocation değerini kontrol eder ve mümkünse tercih edilen konuma göre .apk uygulamasını yükler. Uygulama harici yükleme isteğinde bulunursa sistem bunu harici medyada özel, şifrelenmiş bir bölüme yükler. Bir uygulama .apk harici olarak yüklendiğinde, sistem kullanıcının ayarlar bölümündeki Uygulamaları Yönet bölümünden gerektiğinde .apk'nin depolama konumunu değiştirmesine ve bunu cihazın dahili belleğine taşımasına (veya tam tersi) izin verir.

Varsayılan olarak sistem, açıkça harici yükleme isteğinde bulunan uygulamalar dışında, tüm uygulamaları cihazın dahili belleğine yükler. Yani bu uygulamalar android:installLocation özelliğine erişemediği için sistemin eski uygulamaları her zaman dahili belleğe yükleyeceğini belirtir. Bununla birlikte, eski bir uygulamayı platformun eski sürümlerinde dahili olarak ve gerektiğinde Android 2.2 ve üzeri platformlarda harici olarak yüklenecek şekilde yapılandırmak ve derlemek mümkündür.

Özellikle harici medya çıkarılabilir olabileceğinden ve bağlantıyı kesme/yeniden ekleme işlemi kullanıcı deneyimini ve sistem ayarlarını aksatabileceğinden, cihazın harici medyasına yükleme isteğinde bulunmanın tüm uygulamalar için uygun olmadığını unutmayın.

Uygulamanız için tercih edilen yükleme konumu ayarlama hakkında daha fazla bilgi edinmek ve ne tür uygulamaların harici yükleme isteğinde bulunup bulunmayacağını öğrenmek için 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 sağlıyor. Böylece kullanıcılar, cihazlar arasında geçiş yaparken veya uygulamayı yeniden yüklerken verilerini koruyabiliyorlar. Uygulama verilerinin buluttaki yedek depolama alanına/alandan taşınması işlemlerini Yedekleme Yöneticisi halleder. Yedekleme Yöneticisi, rastgele verilerden dosyalara kadar her türlü veriyi depolayabilir, yedekleme ve geri yükleme işlemlerini atomik olarak yönetir. Daha fazla bilgi için Veri Yedekleme başlıklı makaleyi inceleyin.

Grafik

Medya

  • Ses odağını, aktarım kontrolünü, ses odağının geçici olarak kaybedilmesini ve sesi kısmayı yönetmek için android.media.AudioManager ürününde yeni API'ler.
  • Sesi SCO'ya yönlendirmek için yeni yayın amacı — ACTION_SCO_AUDIO_STATE_CHANGED, yeni durumu belirten ekstra özelliklerle.
  • Ses yükleme işleminin tamamlandığını algılamak için SoundPool ürününde yeni API'ler.
  • Otomatik duraklatma ve devam ettirme için SoundPool içinde yeni API'ler.
  • MediaRecorder içinde kanal sayısı, kodlama ve örnekleme hızları ile örnekleme hızı için ses ayarlarını belirten yeni API'ler.
  • Dosyaların otomatik olarak taranması için medya veritabanına dosya eklemeye yönelik yeni API'ler. MediaScannerConnection.scanFile ve MediaScannerConnection.OnScanCompletedListener hükümlerini inceleyin.

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

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

Fotoğraf makinesi 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 ekran yönü (artık dikey yönde çalışabilir).
  • Yakınlaştırma düzeyini yönetmek için android.hardware.Camera ürününde yeni API'ler.
  • Odak uzaklığı, pozlama, yakınlaştırma düzeyi, görüş açısı gibi cihazın 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 belirlemesine olanak tanır.
  • android.media.ExifInterface ürününde GPS ve odak uzaklığı alma için yeni destek.

Cihaz politikası yöneticisi

Yeni cihaz politikası yönetimi API'leri, geliştiricilerin cihazın güvenlik özelliklerini (minimum şifre gücü, veri silme vb.) kontrol edebilen "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'daki örnek uygulama kodunu inceleyin.

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

  • "Araba modu" ve "gece modu" gibi yeni kullanıcı arayüzü modları ile UiModeManager, uygulamaların uygulama kullanıcı arayüzlerini belirli kullanıcı modlarına göre ayarlamasına olanak tanır.
  • Görünümlerin, sağlanan MotionEvents'i kullanarak birden fazla işaretçi (çok noktalı) içeren dönüştürme hareketlerini algılamasına ve işlemesine olanak tanıyan yeni ScaleGestureDetector.
  • Çoklu dokunma etkinliklerinin MotionEvent nesnelerde raporlanma şeklinde iyileştirmeler yapıldı.
  • fill_parent düzen özelliği match_parent olarak yeniden adlandırıldı. Bu, hem XML hem de Java kodunu etkiler (bkz. ViewGroup.LayoutParams). Platformun, eski uygulamalardaki fill_parent kullanımlarını dikkate almaya devam edeceğini unutmayın.
  • Yeni düzen özellikleri tabStripEnabled, tabStripRight ve tabStripLeft, geliştiricilerin TabWidgets'ın alt şeridini özelleştirmelerine olanak tanıyor.
  • Etkinlik'te yönetilen iletişim kutuları için daha iyi destek.

Hesaplar ve senkronizasyon

  • Yeni AddPeriodicSync() yöntemi, belirli bir hesap, yetkili ve ek özelliklerle, belirtilen sıklıkta periyodik bir 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 Medyası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ı verilerinin yedeklenmesini 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. Varsa yedekleme/geri yükleme işlemlerini işlemek 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. Uygulamanın yedeklenen bir veri kümesini geri yüklemeyi denemek için hazır olup olmadığını gösteren Boole değeri (yedekleme, uygulamanın hâlihazırda cihazda yüklü olan sürümünden daha yeni bir sürümden geliyor olsa bile).
  • Platformun JIT derleyicisini yönetmek için:
    • <application> öğesinin yeni android:vmSafeMode özelliği. Uygulamayı çalıştırı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ı, yalnızca sistemin etkileşimde bulunabilmesi için bu izne ihtiyaç duyar.
  • android.permission.KILL_BACKGROUND_PROCESSES — Uygulamaya, killBackgroundProcesses(String) uygulamasını çağırma izni verir.
  • android.permission.BIND_WALLPAPER — Tüm WallpaperService öğeleri yalnızca sistemin etkileşimde bulunabilmesi için bu izni gerektirmelidir.
  • android.permission.SET_TIME — Uygulamaya sistem saatini ayarlama izni verir.

API farklılıkları raporu

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