Android 2.3.3 APIs

API-Level: 10

Android 2.3.3 (GINGERBREAD_MR1) ist ein kleines Funktionsrelease, mit dem die Android 2.3-Plattform um verschiedene Verbesserungen und APIs erweitert wird.

Für Entwickler steht die Android 2.3.3-Plattform als herunterladbare Komponente für das Android SDK zur Verfügung. Die herunterladbare Plattform umfasst eine Android-Bibliothek, ein System-Image, eine Reihe von Emulator-Skins und mehr. Wenn du mit der Entwicklung oder Tests für Android 2.3.3 beginnen möchtest, lade die Plattform mit dem Android SDK Manager in dein SDK herunter.

API-Übersicht

Die folgenden Abschnitte bieten einen technischen Überblick über die Neuerungen für Entwickler in Version 2.3.3, einschließlich neuer Funktionen und Änderungen der Framework API seit der vorherigen Version.

Nahfeldkommunikation (NFC)

Android 2.3.3 bietet eine verbesserte und erweiterte Unterstützung für NFC, sodass Anwendungen auf neue Weise mit mehr Arten von Tags interagieren können.

Ein neuer, umfassender Satz von APIs gewährt Anwendungen Lese- und Schreibzugriff auf eine breitere Palette von Standard-Tag-Technologien, darunter:

  • NFC-A (ISO 14443-3A)
  • NFC-B (ISO 14443-3B)
  • NFC-F (JIS 6319-4)
  • NFC-V (ISO 15693)
  • ISO-DEP (ISO 14443-4)
  • Klassisch in MIFARE
  • MIFARE Ultraleicht
  • NDEF-Tags für NFC-Forum

Die Plattform bietet auch ein begrenztes Peer-to-Peer-Kommunikationsprotokoll und eine API. Aktivitäten im Vordergrund können die API verwenden, um eine NDEF-Nachricht zu registrieren, die an andere NFC-Geräte gesendet wird, wenn diese eine Verbindung herstellen.

Die erweiterte Tag-Verteilung gibt Anwendungen jetzt mehr Kontrolle darüber, wie und wann sie gestartet werden, wenn ein NFC-Tag erkannt wird. Bisher wurden interessierte Anwendungen mit einer einstufigen Intent-Weiterleitung über die Erkennung eines Tags informiert. Auf der Plattform wird jetzt ein vierstufiger Prozess verwendet, mit dem die Anwendung im Vordergrund die Kontrolle über ein Tag-Ereignis übernimmt, bevor es an andere Anwendungen (android.nfc.NfcAdapter.enableForegroundDispatch()) übergeben wird. Mit dem neuen Weiterleitungsprozess können Anwendungen auch auf bestimmte Tag-Inhalte und Tag-Technologien warten, und zwar basierend auf zwei neuen Intent-Aktionen: android.nfc.action.NDEF_DISCOVERED und android.nfc.action.TECH_DISCOVERED.

Die NFC API ist in den Paketen android.nfc und android.nfc.tech verfügbar. Die wichtigsten Klassen sind:

  • NfcAdapter steht für die NFC-Hardware auf dem Gerät.
  • NdefMessage steht für eine NDEF-Datennachricht. Dies ist das Standardformat, in dem „Datensätze“ mit Daten zwischen Geräten und Tags übertragen werden. Eine NDEF-Nachricht für bestimmte NDEF-Einträge verschiedener Typen. Anwendungen können diese Nachrichten von NDEF_DISCOVERED-, TECH_DISCOVERED- oder TAG_DISCOVERED-Intents empfangen.
  • NdefRecord, bereitgestellt in einem NdefMessage, das den Typ der freigegebenen Daten beschreibt und die Daten selbst transportiert.
  • Tag steht für ein vom Gerät gescanntes Tag. Abhängig von der zugrunde liegenden Tag-Technologie werden mehrere Tag-Typen unterstützt.
  • TagTechnology, eine Schnittstelle, die Anwendungen Zugriff auf Tag-Eigenschaften und E/A-Vorgänge anhand der im Tag vorhandenen Technologien ermöglicht. Eine vollständige Liste der in Android 2.3.3 unterstützten Tag-Technologien findest du unter android.nfc.tech.

Die NFC-Kommunikation basiert auf Funktechnologie in der Gerätehardware und ist nicht bei allen Android-Geräten vorhanden. Android-Geräte, die NFC nicht unterstützen, geben ein Nullobjekt zurück, wenn getDefaultAdapter(Context) aufgerufen wird, und context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC) gibt false zurück. Die NFC API ist jedoch unabhängig von der zugrunde liegenden Hardwareunterstützung immer vorhanden.

Zur Verwendung der NFC API müssen Anwendungen eine Berechtigung vom Nutzer anfordern, indem sie <uses-permission android:name="android.permission.NFC"> in ihren Manifestdateien deklarieren.

Außerdem können Entwickler bei Google Play einen Filter anfordern, damit ihre Apps für Nutzer, deren Geräte kein NFC unterstützen, nicht sichtbar sind. Fügen Sie dem Manifest der Anwendung <uses-feature android:name="android.hardware.nfc" android:required="true"> hinzu, um eine Filterung anzufordern.

Weitere Informationen findest du im NFC-Entwicklerleitfaden.

Bluetooth

Android 2.3.3 bietet Plattform- und API-Unterstützung für unsichere Bluetooth-Socket-Verbindungen. Dadurch können Anwendungen mit einfachen Geräten kommunizieren, die möglicherweise keine UI für die Authentifizierung bieten. Weitere Informationen finden Sie unter createInsecureRfcommSocketToServiceRecord(java.util.UUID) und listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID).

Grafik

  • Mit der neuen BitmapRegionDecoder-Klasse können Anwendungen einen rechteckigen Bereich aus einem Bild decodieren. Die API ist besonders nützlich, wenn ein Originalbild groß ist und die Anwendung nur Teile des Bildes benötigt.
  • Ein neues inPreferQualityOverSpeed-Feld in BitmapFactory.Options ermöglicht es Anwendungen, eine genauere, aber etwas langsamere IDCT-Methode bei der JPEG-Decodierung zu verwenden. Das verbessert wiederum die Qualität des rekonstruierten Bildes.

Medienrahmen

Spracherkennung

Die Spracherkennungs-API enthält neue Konstanten, mit denen Sie Sprachsuchergebnisse auf neue Weise verwalten können. Obwohl die neuen Konstanten für die normale Verwendung der Spracherkennung nicht erforderlich sind, können Sie sie verwenden, um in Ihrer Anwendung eine andere Ansicht der Ergebnisse der Sprachsuche zu bieten. Weitere Informationen finden Sie unter RecognizerResultsIntent.

API-Ebene

Die Plattform Android 2.3.3 stellt eine aktualisierte Version der Framework API bereit. Der Android 2.3.3 API wird eine Ganzzahl-ID (10) zugewiesen, die im System selbst gespeichert ist. Mit dieser Kennung (API-Ebene) kann das System vor der Installation korrekt feststellen, ob eine App mit dem System kompatibel ist.

Zur Verwendung von in Android 2.3.3 eingeführten APIs in Ihrer App müssen Sie die App mithilfe der Android-Bibliothek kompilieren, die auf der Android 2.3.3 SDK-Plattform bereitgestellt wird. Je nach deinen Anforderungen musst du dem <uses-sdk>-Element im Manifest der Anwendung möglicherweise auch ein android:minSdkVersion="10"-Attribut hinzufügen. Wenn Ihre App nur für die Ausführung unter Android 2.3 und höher entwickelt wurde, verhindert die Deklaration des Attributs, dass die App auf früheren Versionen der Plattform installiert wird.

Weitere Informationen finden Sie unter Was ist das API-Level?