Android 2.3.3 API'leri

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 veya TAG_DISCOVERED Intent'lerinden alabilir.
  • Paylaşılan veri türünü tanımlayan ve verilerin kendisini taşıyan bir NdefMessage içinde yayınlanan NdefRecord.
  • 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çin android.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 yeni inPreferQualityOverSpeed 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

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.