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 dış görünümü ve daha fazlası bulunur. Android 2.2'ye yönelik geliştirmeye veya test etmeye başlamak için Android SDK Yöneticisi'ni kullanarak platformu SDK'nıza indirin.

Platformda Öne Çıkanlar

Yeni kullanıcı özelliklerinin ve platformun öne çıkan özelliklerinin 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" 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.

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" değerini doğru bir şekilde ayarlamanız gerekir.

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

Çerçeve 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, cihazları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 dosyasında yeni bir <manifest> özelliğini ( android:installLocation) kullanarak uygulamaları için tercih ettikleri yükleme konumunu belirtebilirler. 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 medyadaki gizli, şifrelenmiş bir bölüme yükler. Bir uygulama .apk'si harici olarak yüklendikten sonra sistem, kullanıcının kullanıcı ayarlarındaki Uygulamaları Yönet bölümünden .apk'nin depolama konumunu değiştirmesine ve gerekirse 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 hariç 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ı, gerektiğinde platformun eski sürümlerine dahili olarak ve Android 2.2 ve sonraki platformlara harici olarak yüklenecek şekilde yapılandırıp derleyebilirsiniz.

Özellikle harici medya çıkarılabilir olabileceğinden ve harici medyanın kaldırılması/yeniden bağlanması 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.

Hangi tür uygulamaların harici yükleme istemesi ve istememesi gerektiği hakkında bir tartışma da dahil olmak üzere uygulamanız için tercih edilen yükleme konumu ayarlama hakkında daha fazla bilgi için lütfen Uygulama Yükleme Konumu dokümanını 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, cihazlar arasında geçiş yaparken veya uygulamayı yeniden yüklerken verilerini koruyabilmelerini sağlıyor. Uygulama verilerinin buluttaki yedek depolama alanına/alandan taşınması işlemini Yedekleme Yöneticisi halleder. Yedekleme Yöneticisi, rastgele verilerden dosyalara kadar her tür veriyi depolayabilir, yedekleme ve geri yükleme işlemlerini atomik bir şekilde yönetir. Daha fazla bilgi için Veri Yedekleme başlıklı makaleyi inceleyin.

Grafik

Medya

  • android.media.AudioManager ürününde ses odağını, aktarım kontrolünü, ses odağının geçici olarak kaybolmasını ve kısmayı yönetmeyi sağlayan yeni API'ler.
  • Sesin SCO'ya yönlendirilmesi için yeni yayın amacı — ACTION_SCO_AUDIO_STATE_CHANGED ve ekstra özellikler yeni durumu işaret ediyor.
  • Ses yükleme işleminin tamamlandığını algılamak için SoundPool içindeki yeni API'ler.
  • Otomatik duraklatma ve devam ettirme için SoundPool içinde yeni API'ler.
  • Kanal sayısı, kodlama ve örnekleme hızları, örnekleme hızı için ses ayarlarını belirtmek üzere MediaRecorder içinde 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ı ile 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ı 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ı.

Kamera ve video kamera

  • Önizleme ardışık düzeninin verimliliğini iyileştirmek 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 kullanılan 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ığı almak için yeni destek.

Cihaz politikası yöneticisi

Yeni cihaz politikası yönetimi API'leri, geliştiricilerin minimum şifre gücü, veri silme vb. cihazın güvenlik özelliklerini 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ıfına veya DeviceAdminSample.java'daki örnek uygulama koduna bakın.

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

  • "Araba modu" ve "gece modu" ile UiModeManager adlı yeni kullanıcı arayüzü modları, 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 uygulamalarda fill_parent kullanımını dikkate almaya devam edeceğini unutmayın.
  • Yeni tabStripEnabled, tabStripRight ve tabStripLeft düzen özellikleri, 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 ekstra özellikler ile periyodik bir senkronizasyon planlamanızı sağlar.

Yeni manifest öğeleri ve özellikleri

  • Uygulamanın tercih edilen yükleme konumunu belirtmek için (yukarıdaki Harici Depolama Medyasına 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 yedeklemesini 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 veri kümelerini geri yüklemeyi denemeye hazır olup olmadığını gösteren Boole değeri (yedekleme, cihazda o anda yüklü olandan daha yeni bir uygulama sürümünden 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 bulunabildiğinden emin olmak için bu izni zorunlu tutmalıdır.
  • android.permission.KILL_BACKGROUND_PROCESSES — Uygulamalara, 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 — Uygulamalara 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 Farklılıkları Raporu'na bakın.