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
android.opengl.GLES20
ürününde yeni OpenGL ES 2.0 API'leri.- Doku sıkıştırma için ETC1'i kullanmaya yönelik yeni
ETC1
,ETC1Util
veETC1Util.ETC1Texture
sınıfları ve yardımcı program yöntemleri. - Yeni
ImageFormat
sınıfı. - YUV'den JPEG'ye sıkıştırmayı ve YUV verilerini değiştirmeyi sağlayan yeni
YUV image format API
.
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
veMediaScannerConnection.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
veCamcorderProfile
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ğimatch_parent
olarak yeniden adlandırıldı. Bu, hem XML hem de Java kodunu etkiler (bkz.ViewGroup.LayoutParams
). Platformun, eski uygulamalardakifill_parent
kullanımlarını dikkate almaya devam edeceğini unutmayın.- Yeni düzen özellikleri
tabStripEnabled
,tabStripRight
vetabStripLeft
, 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 yeniandroid: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 yeniandroid: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 yeniandroid: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 yeniandroid: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ümWallpaperService
öğ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.