API Düzeyi: 10
Android 2.3.3 (GINGERBREAD_MR1
), Android 2.3 platformuna çeşitli iyileştirmeler ve API'ler ekleyen küçük bir özellik sürümüdür.
Android 2.3.3 platformu, geliştiriciler için 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.3.3'e yönelik uygulama geliştirmeye veya test etmeye başlamak için Android SDK Yöneticisi'ni kullanarak platformu SDK'nıza indirin.
API'ye Genel Bakış
Aşağıdaki bölümlerde, bir önceki sürümden bu yana çerçeve API'deki yeni özellikler ve değişiklikler dahil olmak üzere 2.3.3 sürümündeki geliştiriciler için sunulan yeniliklere dair teknik bir genel bakış sunulmaktadır.
Near Field Communication (NFC)
Android 2.3.3, uygulamaların daha fazla etiket türüyle yeni yöntemler kullanarak etkileşim kurmasına olanak tanımak için NFC için iyileştirilmiş ve genişletilmiş destek sağlar.
Yeni ve kapsamlı bir API seti, uygulamalara aşağıdakiler gibi daha geniş bir standart etiket teknolojisi yelpazesine okuma ve yazma erişimi sağlar:
- NFC-A (ISO 14443-3A)
- NFC-B (ISO 14443-3B)
- NFC-F (JIS 6319-4)
- NFC-V (ISO 15693)
- ISO-DEP (ISO 14443-4)
- MIFARE Klasik
- MIFARE Ultra Hafif
- NFC Forumu NDEF etiketleri
Platform, aynı zamanda sınırlı bir eşler arası iletişim protokolü ve API sağlar. Ön Plan Etkinlikleri, bağlandıklarında diğer NFC cihazlarına aktarılacak bir NDEF mesajı kaydetmek için API'yi kullanabilir.
Gelişmiş etiket gönderme özelliği artık uygulamaların, bir NFC etiketinin ne zaman başlatılacağı ve ne zaman başlatılacağı konusunda daha fazla kontrol sahibi olmasını sağlıyor. Daha önce platform, ilgilenen uygulamalara bir etiketin keşfedildiğini bildirmek için tek adımlı intent gönderme özelliğini kullanıyordu. Platform artık, ön plan uygulamasının bir etiket etkinliğini başka uygulamalara (android.nfc.NfcAdapter.enableForegroundDispatch()
) iletilmeden önce kontrol etmesini sağlayan dört adımlı bir süreç kullanıyor.
Yeni dağıtım işlemi, uygulamaların iki yeni intent işlemini (android.nfc.action.NDEF_DISCOVERED
ve android.nfc.action.TECH_DISCOVERED
) temel alarak uygulamaların belirli etiket içeriklerini dinlemesine ve etiket teknolojilerini dinlemesine de olanak tanıyor.
NFC API, android.nfc
ve android.nfc.tech
paketlerinde mevcuttur. Önemli sınıflar şunlardır:
NfcAdapter
, cihazdaki NFC donanımını temsil eder.NdefMessage
, NDEF veri mesajını temsil eder. Veri taşıyan "kayıtların", cihazlar ve etiketler arasında aktarıldığı standart biçimdir. Farklı türde birçok NDEF kaydına sahip bir NDEF mesajı. Uygulamalar bu mesajlarıNDEF_DISCOVERED
,TECH_DISCOVERED
veyaTAG_DISCOVERED
Intents'ten alabilir.NdefRecord
, paylaşılan verilerin türünü açıklayan ve verilerin kendisini de taşıyan birNdefMessage
içinde sunulur.Tag
, cihaz tarafından taranan bir etiketi temsil eder. Altta yatan etiket teknolojisine bağlı olarak birden fazla etiket türü desteklenir.TagTechnology
arayüzü, uygulamaların etikette bulunan teknolojilere dayalı olarak etiket özelliklerine ve G/Ç işlemlerine erişmesine olanak tanır. Android 2.3.3'te desteklenen etiket teknolojilerinin tam listesi içinandroid.nfc.tech
adresine bakın.
NFC iletişimi, cihaz donanımındaki kablosuz teknolojiye dayanır ve tüm Android cihazlarda bulunmaz. NFC'yi desteklemeyen Android cihazlar getDefaultAdapter(Context)
çağrıldığında boş bir nesne döndürür ve context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)
, false
değerini döndürür. Ancak temel donanım desteği ne olursa olsun NFC API her zaman mevcuttur.
NFC API'yi kullanmak için uygulamaların, manifest dosyalarında <uses-permission
android:name="android.permission.NFC">
tanımlayarak kullanıcıdan izin istemesi gerekir.
Ayrıca geliştiriciler, uygulamalarının NFC'yi desteklemeyen kullanıcılar tarafından bulunamaması için Google Play'de filtreleme isteğinde bulunabilirler. Filtreleme isteğinde bulunmak için uygulamanın manifest dosyasına <uses-feature android:name="android.hardware.nfc"
android:required="true">
ekleyin.
Daha fazla bilgi için NFC geliştirici kılavuzunu okuyun.
Bluetooth
Android 2.3.3, güvenli olmayan Bluetooth yuva bağlantıları için platform ve API desteği ekler. Bu sayede uygulamalar, kimlik doğrulama için kullanıcı arayüzü sunmayabilecek basit cihazlarla iletişim kurabilir. Daha fazla bilgi için bkz. createInsecureRfcommSocketToServiceRecord(java.util.UUID)
ve listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)
.
Görseller
- Yeni bir
BitmapRegionDecoder
sınıfı, uygulamaların bir resimdeki dikdörtgenin kodunu çözmesini sağlar. Bu API, özellikle orijinal resim büyük olduğunda ve uygulama resmin yalnızca belirli bölümlerine ihtiyaç duyduğunda kullanışlıdır. BitmapFactory.Options
içindeki yeni birinPreferQualityOverSpeed
alanı, uygulamaların JPEG kod çözme işleminde daha doğru ancak biraz daha yavaş bir IDCT yöntemi kullanmasına olanak tanır. Bu da yeniden oluşturulan resmin kalitesini artırır.
Medya çerçevesi
- Yeni
MediaMetadataRetriever
sınıfı, bir giriş medya dosyasından çerçeve ve meta verileri almak için birleştirilmiş bir arayüz sağlar. MediaRecorder.AudioEncoder
veMediaRecorder.OutputFormat
, AMR Geniş Bant ve AAC biçimlerini belirtmek için yeni alanlar içerir.
Konuşma tanıma
Speech-recognition API, sesli arama sonuçlarını yeni şekillerde yönetmenizi sağlayan yeni sabit değerler içerir. Konuşma tanıma özelliğinin normal kullanımı için yeni sabit değerler gerekli olmasa da, uygulamanızda sesli arama sonuçlarının farklı bir görünümünü sunmak için bunları kullanabilirsiniz. Daha fazla bilgi için RecognizerResultsIntent
başlıklı makaleyi inceleyin.
API Düzeyi
Android 2.3.3 platformu, çerçeve API'sinin güncellenmiş bir sürümünü sunar. Android 2.3.3 API'ye, sistemin kendisinde depolanan bir tam sayı tanımlayıcı (10) atanır. "API Düzeyi" adı verilen 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.3.3'te tanıtılan API'leri kullanmak için uygulamayı Android 2.3.3 SDK platformunda sağlanan Android kitaplığına göre derlemeniz gerekir. İhtiyaçlarınıza bağlı olarak uygulama manifestindeki <uses-sdk>
öğesine bir android:minSdkVersion="10"
özelliği de eklemeniz gerekebilir. Uygulamanız yalnızca Android 2.3 ve sonraki sürümlerde çalışacak şekilde tasarlandıysa özelliğin bildirilmesi, uygulamanın platformun daha önceki sürümlerine yüklenmesini engeller.
Daha fazla bilgi için API Düzeyi nedir?