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
android.opengl.GLES20
'te 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'e sıkıştırmayı ve YUV verilerinin değiştirilmesini etkinleştirmek için yeni
YUV image format API
.
Medya
- Ses odağını, aktarma kontrolünü, geçici ses odağının kaybını ve ses azaltmayı yönetmek için
android.media.AudioManager
'te yeni API'ler. - Sesi SCO'ya yönlendirmek için yeni yayın amacı: Yeni durumu belirten ekstralar içeren
ACTION_SCO_AUDIO_STATE_CHANGED
. SoundPool
'te ses yükleme işleminin tamamlandığını algılamak için yeni API'ler.- Otomatik duraklatma ve devam ettirme için
SoundPool
'te yeni API'ler. - Kanal sayısı, kodlama ve örnekleme hızları, örnekleme hızı için ses ayarlarını belirtmek üzere
MediaRecorder
'te yeni API'ler. - Medya veritabanına dosya eklemek ve bu dosyaların otomatik olarak taranması için 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ı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
veCamcorderProfile
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ğimatch_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 uygulamalardafill_parent
kullanımını desteklemeye devam edeceğini unutmayın.- Yeni düzen özellikleri
tabStripEnabled
,tabStripRight
vetabStripLeft
, 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 yeniandroid: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 yeniandroid: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 yeniandroid: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 yeniandroid: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ınkillBackgroundProcesses(String)
'i aramasına izin verir.android.permission.BIND_WALLPAPER
: Yalnızca sistemin etkileşime geçebilmesi için tümWallpaperService
'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.