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ı 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.3.3 için geliştirmeye veya test etmeye başlamak istiyorsanız Android SDK Yöneticisi'ni kullanarak platformu SDK'nıza indirin.
API'ye Genel Bakış
Aşağıdaki bölümlerde, önceki sürüme kıyasla çerçeve API'sindeki yeni özellikler ve değişiklikler de dahil olmak üzere 2.3.3 sürümünde geliştiriciler için sunulan yeniliklere teknik bir genel bakış sunulmaktadır.
Near Field Communication (NFC)
Android 2.3.3, NFC için iyileştirilmiş ve genişletilmiş destek sunarak uygulamaların daha fazla etiket türüyle yeni şekillerde etkileşime girmesine olanak tanır.
Yeni ve kapsamlı bir API grubu, uygulamalara aşağıdakiler dahil olmak üzere 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 Classic
- MIFARE Ultralight
- NFC Forum NDEF etiketleri
Platform ayrıca 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 gönderilecek bir NDEF mesajı kaydetmek için API'yi kullanabilir.
Gelişmiş etiket dağıtımı, NFC etiketi algılandığında uygulamaların nasıl ve ne zaman başlatılacağı üzerinde daha fazla kontrol sahibi olmalarını sağlar. Daha önce platform, ilgilenen uygulamaları bir etiketin keşfedildiğini bildirmek için tek adımlı intent gönderimi kullanıyordu. Platform artık, etiket etkinliğinin diğer uygulamalara (android.nfc.NfcAdapter.enableForegroundDispatch()
) iletilmeden önce ön plan uygulamasının bu etkinliğin kontrolünü almasını sağlayan dört adımlı bir süreç kullanıyor.
Yeni dağıtım süreci, uygulamaların android.nfc.action.NDEF_DISCOVERED
ve android.nfc.action.TECH_DISCOVERED
adlı iki yeni intent işlemine göre belirli etiket içeriklerini ve etiket teknolojilerini dinlemesine de olanak tanır.
NFC API'si android.nfc
ve android.nfc.tech
paketlerinde kullanılabilir. Temel sınıflar şunlardır:
NfcAdapter
, cihazdaki NFC donanımını temsil eder.- Cihazlar ve etiketler arasında veri taşıyan "kayıtların" aktarıldığı standart biçim olan NDEF veri mesajını temsil eden
NdefMessage
. NDEF mesajı, farklı türlerde birçok NDEF kaydı içerir. Uygulamalar bu mesajlarıNDEF_DISCOVERED
,TECH_DISCOVERED
veyaTAG_DISCOVERED
Intent'lerinden alabilir. - Paylaşılan veri türünü tanımlayan ve verilerin kendisini taşıyan bir
NdefMessage
içinde yayınlananNdefRecord
. Tag
: Cihaz tarafından taranan bir etiketi temsil eder. Temel etiket teknolojisine bağlı olarak birden fazla etiket türü desteklenir.TagTechnology
: Uygulamalara, etiketteki teknolojilere göre etiket özelliklerine ve G/Ç işlemlerine erişim sağlayan bir arayüz. Android 2.3.3'te desteklenen etiket teknolojilerinin tam listesi içinandroid.nfc.tech
bölümüne bakın.
NFC iletişimi, cihaz donanımındaki kablosuz teknolojiyi kullanır ve tüm Android cihazlarda bulunmaz. NFC'yi desteklemeyen Android cihazlar, getDefaultAdapter(Context)
çağrıldığında null nesnesi döndürür ve context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)
false
döndürür. NFC API'si, temel donanım desteğinden bağımsız olarak her zaman mevcuttur.
NFC API'yi kullanmak isteyen uygulamaların, manifest dosyalarında <uses-permission
android:name="android.permission.NFC">
beyan ederek kullanıcıdan izin istemesi gerekir.
Ayrıca geliştiriciler, Google Play'de filtreleme isteğinde bulunarak uygulamalarının, NFC'yi desteklemeyen cihazlara sahip kullanıcılar tarafından bulunamaması için gerekli işlemleri yapabilir. 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, Bluetooth güvenli olmayan soket bağlantıları için platform ve API desteği ekler. Bu, uygulamaların kimlik doğrulama için kullanıcı arayüzü sunmayan basit cihazlarla iletişim kurmasına olanak tanır. Daha fazla bilgi için createInsecureRfcommSocketToServiceRecord(java.util.UUID)
ve listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)
sayfalarına göz atın.
Grafik
- Yeni
BitmapRegionDecoder
sınıfı, uygulamaların bir resimdeki dikdörtgen bölgenin kodunu çözmesine olanak tanır. API, özellikle orijinal resim büyük olduğunda ve uygulamanın yalnızca resmin bazı bölümlerine ihtiyacı olduğunda yararlıdır. BitmapFactory.Options
içindeki yeniinPreferQualityOverSpeed
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 görüntünün kalitesini artırır.
Medya çerçevesi
- Yeni
MediaMetadataRetriever
sınıfı, giriş medya dosyasından kare ve meta veri almak için birleşik 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
Konuşma tanıma API'si, sesli arama sonuçlarını yeni yöntemlerle yönetmenize olanak tanıyan yeni sabitler içerir. Yeni sabitler, konuşma tanımanın normal kullanımı için gerekli olmasa da uygulamanızda sesli arama sonuçlarına farklı bir görünüm sunmak için bunları kullanabilirsiniz. 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'sine, sistemde depolanan bir tam sayı tanımlayıcı (10) 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.3.3'te kullanıma sunulan API'leri uygulamanızda 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, uygulamanın manifest dosyasında <uses-sdk>
öğesine android:minSdkVersion="10"
özelliğini de eklemeniz gerekebilir. Uygulamanız yalnızca Android 2.3 ve sonraki sürümlerde çalışacak şekilde tasarlandıysa özelliği belirtmek, uygulamanın platformun önceki sürümlerine yüklenmesini engeller.
Daha fazla bilgi için API seviyesi nedir? başlıklı makaleyi okuyun.