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ı 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 veya TAG_DISCOVERED Intents'ten alabilir.
  • NdefRecord, paylaşılan verilerin türünü açıklayan ve verilerin kendisini de taşıyan bir NdefMessage 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çin android.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 bir 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 resmin kalitesini artırır.

Medya çerçevesi

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?