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
android.opengl.GLES20
ürününde yeni OpenGL ES 2.0 API'leri.- Yeni
ETC1
,ETC1Util
, veETC1Util.ETC1Texture
sınıfları ve doku sıkıştırma için ETC1'in kullanımı için 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
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
veMediaScannerConnection.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
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ığı 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 uygulamalardafill_parent
kullanımını dikkate almaya devam edeceğini unutmayın.- Yeni
tabStripEnabled
,tabStripRight
vetabStripLeft
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 yeniandroid: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 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 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 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 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ümWallpaperService
öğ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.