APIs unter Android 2.3

API-Level: 9

Für Entwickler steht die Plattform Android 2.3 (GINGERBREAD) 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 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, einschließlich der neuen Funktionen und Änderungen der Framework API seit der vorherigen Version.

SIP-basiertes VoIP

Die Plattform umfasst jetzt einen SIP-Protokoll-Stack und eine Framework-API, mit denen Entwickler Internettelefonieanwendungen erstellen können. Mithilfe der API können Anwendungen Funktionen für Sprachanrufe anbieten, ohne Sitzungen, Kommunikation auf Transportebene oder Audio verwalten zu müssen. Diese werden transparent von der SIP API und den Diensten der Plattform verarbeitet.

Die SIP API ist im Paket android.net.sip verfügbar. Die Schlüsselklasse ist SipManager. Mit dieser Klasse richten Anwendungen SIP-Profile ein und verwalten sie, um dann Audioanrufe zu initiieren und zu empfangen. Sobald ein Sprachanruf eingerichtet ist, können Apps Anrufe stummschalten, den Lautsprechermodus aktivieren, DTMF-Töne senden und vieles mehr. Anwendungen können auch die SipManager verwenden, um generische SIP-Verbindungen herzustellen.

Der der Plattform zugrunde liegende SIP-Stack und die zugehörigen Dienste sind auf Geräten verfügbar, die im Ermessen des Herstellers und des damit verbundenen Mobilfunkanbieters liegen. Daher sollten Anwendungen mit der Methode isApiSupported() prüfen, ob die SIP-Unterstützung verfügbar ist, bevor Nutzern die Anruffunktionalität zur Verfügung gestellt wird.

Damit Anwendungen die SIP API verwenden können, müssen sie eine Berechtigung vom Nutzer anfordern, indem sie <uses-permission android:name="android.permission.INTERNET"> und <uses-permission android:name="android.permission.USE_SIP"> in ihren Manifestdateien deklarieren.

Darüber hinaus können Entwickler bei Google Play einen Filter anfordern, damit ihre Apps nicht für Nutzer sichtbar sind, deren Geräte den SIP-Stack und die Dienste der Plattform nicht enthalten. Fügen Sie dem Anwendungsmanifest <uses-feature android:name="android.software.sip" android:required="true"> und <uses-feature android:name="android.software.sip.voip"> hinzu, um eine Filterung anzufordern.

Weitere Informationen finden Sie im SIP-Entwicklerleitfaden.

Nahfeldkommunikation (NFC)

Android 2.3 umfasst einen NFC-Stack und eine Framework-API, mit der Entwickler NDEF-Tags lesen können, die beim Berühren eines NFC-fähigen Geräts erkannt werden, um Elemente zu taggen, die in Stickern, Smartposter und sogar andere Geräte eingebettet sind.

Die Plattform stellt die zugrunde liegenden NFC-Dienste bereit, die mit der Gerätehardware arbeiten, um Tags zu erkennen, wenn sie in Reichweite sind. Wenn ein Tag erkannt wird, benachrichtigt die Plattform Anwendungen durch Broadcasting eines Intents. Dabei werden die NDEF-Nachrichten des Tags als Extras an den Intent angehängt. Anwendungen können Intent-Filter erstellen, um Ziel-Tags und Nachrichten zu erkennen und zu verarbeiten. Wenn Anwendungen beispielsweise ein Tag vom Intent empfangen haben, extrahieren Anwendungen die NDEF-Nachrichten, speichern sie, benachrichtigen den Nutzer oder verarbeiten sie auf andere Weise.

Die NFC API ist im Paket android.nfc enthalten. 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. Anwendungen können diese Nachrichten von ACTION_TAG_DISCOVERED-Intents empfangen.
  • NdefRecord, bereitgestellt in einem NdefMessage, das den Typ der freigegebenen Daten beschreibt und die Daten selbst transportiert.

Die NFC-Kommunikation basiert auf Funktechnologie in der Gerätehardware. Daher wird die Unterstützung der NFC-Funktionen der Plattform auf bestimmten Geräten von den jeweiligen Herstellern bestimmt. Damit die NFC-Unterstützung auf dem aktuellen Gerät ermittelt werden kann, können Anwendungen isEnabled() aufrufen, um NfcAdapter abzufragen. 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.

Eine Beispielanwendung, die die NFC API verwendet, finden Sie unter NFCDemo.

Gyroskop und andere Sensoren

Android 2.3 bietet Plattform- und API-Unterstützung für verschiedene neue Sensor-Lesetypen – Gyroskop, Rotationsvektor, lineare Beschleunigung, Schwerkraft und Barometer. Entwickler können die neuen Sensormesswerte nutzen, um Anwendungen zu erstellen, die schnell und reibungslos auf präzise Änderungen der Geräteposition und Bewegung reagieren. Die Sensor API meldet interessierten Anwendungen Gyroskopänderungen und andere Sensoränderungen, unabhängig davon, ob diese im Anwendungs-Framework oder in nativem Code ausgeführt werden.

Welche Hardwaresensoren auf einem Gerät verfügbar sind, liegt im Ermessen des Geräteherstellers.

Entwickler können bei Google Play einen Filter anfordern, damit ihre Anwendungen für Nutzer, deren Geräte keinen Gyroskopsensor bieten, nicht sichtbar sind. Fügen Sie dazu dem Anwendungsmanifest <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true"> hinzu.

Informationen zur API findest du unter Sensor.

Unterstützung mehrerer Kameras

Anwendungen können jetzt alle auf dem Gerät verfügbaren Kameras für die Aufnahme von Fotos oder Videos verwenden. Mit Camera können Anwendungen die Anzahl der verfügbaren Kameras und deren eindeutige Eigenschaften abfragen.

Beispielcode für den Zugriff auf eine Frontkamera finden Sie in der ApiDemos-Beispielanwendung unter CameraPreview.java.

Die Kamera-API fügt außerdem Folgendes hinzu:

Mischbare Audioeffekte

Das Medien-Framework der Plattform unterstützt neue Audioeffekte pro Titel oder globale Audioeffekte, einschließlich Bassverstärkung, Kopfhörervirtualisierung, Entzerrung und Hall.

Beispielcode für Audioeffekte finden Sie in der ApiDemos-Beispielanwendung unter AudioFxDemo.java.

Das Medien-Framework fügt außerdem Folgendes hinzu:

  • Neue Unterstützung für das Höhen-Tag in den EXIF-Metadaten für JPEG-Dateien. Neue Methode getAltitude() zum Abrufen des Werts des EXIF-Höhentags.
  • Mit der neuen setOrientationHint()-Methode kann eine App MediaRecorder die Ausrichtung während der Videoaufnahme mitteilen.

Download-Manager

Die Plattform umfasst einen neuen DownloadManager-Systemdienst, der lang andauernde HTTP-Downloads verarbeitet. Anwendungen können anfordern, dass ein URI in eine bestimmte Zieldatei heruntergeladen wird. Der DownloadManager führt den Download im Hintergrund aus, kümmert sich um HTTP-Interaktionen und wiederholt Downloads nach Fehlern oder bei Verbindungsänderungen und Systemneustarts.

  • Anwendungen können eine Instanz der DownloadManager-Klasse abrufen, indem getSystemService(String) aufgerufen und DOWNLOAD_SERVICE übergeben wird. Bei Anwendungen, die Downloads über diese API anfordern, sollte ein Übertragungsempfänger für ACTION_NOTIFICATION_CLICKED registriert werden, der verarbeitet werden kann, wenn der Nutzer in einer Benachrichtigung oder über die Benutzeroberfläche für Downloads auf einen laufenden Download klickt.
  • Mit der Klasse DownloadManager.Request kann eine Anwendung alle erforderlichen Informationen zur Verfügung stellen, um einen neuen Download anzufordern, z. B. den Anfrage-URI und das Downloadziel. Ein Anfrage-URI ist der einzige erforderliche Parameter. Beachten Sie, dass das Standard-Downloadziel ein freigegebenes Volume ist, auf dem das System Ihre Datei löschen kann, wenn es Speicherplatz für die Nutzung durch das System freigeben muss. Geben Sie für den nichtflüchtigen Speicher eines Downloads ein Downloadziel auf dem externen Speicher an (siehe setDestinationUri(Uri)).
  • Die Klasse DownloadManager.Query bietet Methoden, mit denen eine Anwendung aktive Downloads abfragen und filtern kann.

Strikter Modus

Die Plattform bietet eine neue Systemeinrichtung namens StrictMode, mit der Entwickler die Leistung ihrer Anwendungen überwachen und verbessern können. Bei der Implementierung in einer Anwendung wird mit StrictMode der Entwickler über versehentliche Laufwerk- oder Netzwerkaktivitäten abgefangen und benachrichtigt, die die Anwendungsleistung beeinträchtigen könnten. Dazu gehören Aktivitäten im Hauptthread der Anwendung (wo UI-Vorgänge empfangen und Animationen ausgeführt werden). Entwickler können die im StrictMode aufgetretenen Probleme mit der Netzwerk- und Laufwerksnutzung auswerten und gegebenenfalls beheben. So bleibt der Hauptthread reaktionsschneller und Nutzern werden keine ANR-Dialogfelder angezeigt.

  • StrictMode ist die Kernklasse und der Hauptintegrationspunkt mit dem System und der VM. Die Klasse bietet praktische Methoden zum Verwalten der Thread- und VM-Richtlinien, die für die Instanz gelten.
  • StrictMode.ThreadPolicy und StrictMode.VmPolicy enthalten die Richtlinien, die Sie definieren und auf Thread- und VM-Instanzen anwenden.

Weitere Informationen zum Optimieren Ihrer Anwendung mit StrictMode finden Sie in der Klassendokumentation und im Beispielcode unter android.os.StrictMode.

UI-Framework

  • Unterstützung für Overscroll
    • Overscroll-Unterstützung in Ansichten und Widgets wurde hinzugefügt. In Ansichten können Anwendungen den Overscroll-Modus für eine bestimmte Ansicht aktivieren/deaktivieren, den Overscoll-Modus festlegen, die Overscroll-Entfernung steuern und die Ergebnisse des Overscroll-Effekts verarbeiten.
    • In Widgets können Apps Overscroll-Eigenschaften wie Animation, Springback und Overscroll-Entfernung steuern. Weitere Informationen findest du unter android.view.View und android.widget.OverScroller.
    • ViewConfiguration bietet auch die Methoden getScaledOverflingDistance() und getScaledOverscrollDistance().
    • Neue overScrollMode-, overScrollFooter- und overScrollHeader-Attribute für <ListView>-Elemente zur Steuerung des Overscroll-Verhaltens.
  • Unterstützung für das Filtern durch Berührung
    • Mit der neuen Unterstützung für das Filtern durch Berührung kann eine Anwendung die Sicherheit von Ansichten verbessern, die Zugriff auf sensible Funktionen bieten. Die Berührungsfilterung ist beispielsweise geeignet, um die Sicherheit von Nutzeraktionen wie dem Gewähren einer Berechtigungsanfrage, dem Tätigen eines Kaufs oder dem Klicken auf eine Anzeige zu gewährleisten. Weitere Informationen finden Sie in der Dokumentation zu Klasse ansehen.
    • Neues filterTouchesWhenObscured-Attribut für Ansichtselemente, das angibt, ob Berührungen gefiltert werden sollen, wenn das Fenster der Ansicht von einem anderen sichtbaren Fenster verdeckt wird. Wenn "true" festgelegt ist, erhält die Ansicht keine Berührung, wenn ein Toast, ein Dialogfeld oder ein anderes Fenster über dem Fenster der Ansicht erscheint. Weitere Informationen finden Sie unter Sicherheitsdokumentation ansehen.

    Beispielcode für das Filtern durch Berührung finden Sie in der ApiDemos-Beispielanwendung unter SecureView.java.

  • Verbessertes Ereignismanagement
    • Neue Basisklasse für Eingabeereignisse: InputEvent. Die Klasse stellt Methoden bereit, mit denen Anwendungen die Bedeutung des Ereignisses bestimmen können, z. B. durch Abfragen des InputDevice, aus dem das Ereignis stammt. KeyEvent und MotionEvent sind abgeleitete Klassen von InputEvent.
    • Neue Basisklasse für Eingabegeräte: InputDevice. Die Klasse speichert Informationen zu den Funktionen eines bestimmten Eingabegeräts und stellt Methoden bereit, mit denen Anwendungen bestimmen können, wie Ereignisse von einem Eingabegerät interpretiert werden.
  • Verbesserte Bewegungsereignisse
    • Die MotionEvent API wird um Zeiger-ID-Informationen erweitert, mit denen Anwendungen einzelne Finger erfassen können, während sie sich nach oben und unten bewegen. Die Klasse fügt eine Reihe von Methoden hinzu, mit denen eine Anwendung Bewegungsereignisse effizient verarbeiten kann.
    • Das Eingabesystem verfügt nun über eine Logik, um Bewegungsereignisse mit den neuen Zeiger-ID-Informationen zu generieren und Kennungen zu synthetisieren, wenn neue Zeiger ausgefallen sind. Das System verfolgt mehrere Zeiger-IDs während eines Bewegungsereignisses separat und sorgt für eine korrekte Kontinuität der Zeiger, indem es die Entfernung zwischen dem letzten und dem nächsten Zeigersatz berücksichtigt.
  • Steuerelemente für die Textauswahl
    • Mit einer neuen setComposingRegion-Methode kann eine Anwendung einen Textbereich als Textbereich markieren, wobei der aktuelle Stil beibehalten wird. Die Methode getSelectedText gibt den ausgewählten Text an die Anwendung zurück. Die Methoden sind in BaseInputConnection, InputConnection und InputConnectionWrapper verfügbar.
    • Neue Attribute textSelectHandle, textSelectHandleLeft, textSelectHandleRight und textSelectHandleWindowStyle für <TextView> zum Verweisen auf Drawables, die zum Anzeigen von Ankern für die Textauswahl und den Stil für das enthaltende Fenster verwendet werden.
  • Aktivitätseinstellungen
  • Benachrichtigungstext und Symbolstile
  • Extragroße Bildschirme

    Die Plattform unterstützt jetzt besonders große Bildschirmgrößen, wie sie beispielsweise auf Tablets zu finden sind. Entwickler können angeben, dass ihre Apps für besonders große Bildschirmgrößen entwickelt wurden, indem sie ihren Manifestdateien ein <supports screens ... android:xlargeScreens="true">-Element hinzufügen. Anwendungen können den neuen Ressourcenqualifizierer xlarge verwenden, um Ressourcen zu taggen, die für besonders große Bildschirme spezifisch sind. Wie du sehr große und andere Bildschirmgrößen unterstützt, erfährst du unter Unterstützung mehrerer Bildschirme.

    Grafik

    Contentanbieter

    • Neue Anbieterklasse AlarmClock zum Einstellen eines Alarms oder zum Verarbeiten eines Alarms. Der Anbieter enthält einen ACTION_SET_ALARM-Intent und Extras, mit denen eine Aktivität gestartet werden kann, um in einer Weckeranwendung einen neuen Wecker einzustellen. Anwendungen, die den Intent SET_ALARM empfangen möchten, sollten eine Aktivität erstellen, für die die Berechtigung SET_ALARM erforderlich ist. Anwendungen, die einen neuen Wecker erstellen möchten, sollten Context.startActivity() verwenden, sodass der Nutzer selbst auswählen kann, welche Weckeranwendung verwendet werden soll.
    • MediaStore unterstützt die neue Intent-Aktion PLAY_FROM_SEARCH, mit der eine App nach Musikmedien suchen und Inhalte aus dem Ergebnis nach Möglichkeit automatisch abspielen kann. Eine Anwendung könnte diesen Intent beispielsweise als Ergebnis eines Spracherkennungsbefehls zum Musikhören auslösen.
    • MediaStore fügt außerdem ein neues MEDIA_IGNORE_FILENAME-Flag hinzu, das den Mediascanner anweist, Medien im enthaltenen Verzeichnis und in seinen Unterverzeichnissen zu ignorieren. Entwickler können so verhindern, dass Grafiken in der Galerie angezeigt werden, und damit auch verhindern, dass App-Töne und Musik in der Musik-App angezeigt werden.
    • Der Anbieter Settings fügt die neuen Aktivitätsaktionen APPLICATION_DETAILS_SETTINGS und MANAGE_ALL_APPLICATIONS_SETTINGS hinzu, mit denen eine App den Bildschirm mit den Details für eine bestimmte App oder den Bildschirm "Apps verwalten" anzeigen kann.
    • Der Anbieter ContactsContract fügt die Datentyp ContactsContract.CommonDataKinds.SipAddress zum Speichern der SIP-Adresse (Internet-Telefonie) eines Kontakts hinzu.

    Standort

    • Der LocationManager verfolgt jetzt Anwendungsanfragen, die zu Wakelocks oder WLAN-Sperren führen, gemäß der vom System verwalteten Klasse WorkSource, die die Anwendung identifiziert.

      Der LocationManager erfasst alle Clients, die regelmäßige Updates anfordern, und informiert seine Anbieter über diese als WorkSource-Parameter, wenn sie ihre Mindestaktualisierungszeiten festlegen. Der Netzwerkstandortanbieter verwendet WorkSource, um die von einer Anwendung initiierten aktiven Sperren und WLAN-Sperren zu verfolgen, und fügt sie der unter "Anwendungen verwalten" gemeldeten Akkunutzung der Anwendung hinzu.

    • Der LocationManager fügt mehrere neue Methoden hinzu, mit denen eine Aktivität anhand bestimmter Kriterien regelmäßig oder einmalige Standortaktualisierungen registriert werden kann (siehe unten).
    • Mit einer neuen Criteria-Klasse kann eine Anwendung eine Reihe von Kriterien für die Auswahl eines Standortanbieters angeben. Beispielsweise können Anbieter nach Genauigkeit, Energieverbrauch, Möglichkeit zur Meldung von Höhe, Geschwindigkeit und Peilung sowie nach den monetären Kosten sortiert werden.

    Speicher

    • Unter Android 2.3 wurde ein neuer StorageManager hinzugefügt, der OBB-Dateien (Opaque Binary Blob) unterstützt. Die Plattformunterstützung für OBB ist zwar in Android 2.3 verfügbar, die Entwicklungstools zum Erstellen und Verwalten von OBB-Dateien sind jedoch erst Anfang 2011 verfügbar.
    • Die Plattform Android 2.3 bietet zusätzliche offizielle Unterstützung für Geräte ohne SD-Karten. Sie bietet eine virtuelle SD-Kartenpartition, wenn keine physische SD-Karte verfügbar ist. Mit der praktischen Methode isExternalStorageRemovable() können Anwendungen feststellen, ob eine physische SD-Karte vorhanden ist.

    Paketmanager

    • Neue Konstanten für die Deklaration von Hardware- und Softwarefunktionen Weitere Informationen finden Sie unten im Abschnitt Konstanten für neue Funktionen.
    • PackageInfo fügt die neuen Felder firstInstallTime und lastUpdateTime hinzu, in denen der Zeitpunkt der Paketinstallation und der letzten Aktualisierung gespeichert wird.
    • Neue getProviderInfo()-Methode zum Abrufen aller Informationen, die über eine bestimmte Contentanbieter-Klasse bekannt sind.

    Telefonie

    • TelephonyManager fügt die Konstante NETWORK_TYPE_EVDO_B hinzu, um den CDMA-Netzwerktyp EVDO Rev B anzugeben.
    • Die neue Methode getPsc() gibt den primären Verschlüsselungscode der Bereitstellungszelle in einem UMTS-Netzwerk zurück.

    Nativer Zugriff auf Aktivitätslebenszyklus, Fenster

    Android 2.3 stellt Anwendungen, die nativen Code verwenden, eine breite Palette von APIs zur Verfügung. Zu den Framework-Klassen, die für diese Anwendungen von Interesse sind, gehören:

    • NativeActivity ist ein neuer Typ von Activity-Klasse, deren Lebenszyklus-Callbacks direkt im nativen Code implementiert werden. Ein NativeActivity und der zugrunde liegende native Code werden im System wie andere Aktivitäten ausgeführt – insbesondere im Systemprozess der Android-Anwendung und im Hauptthread der Anwendung. Sie erhalten dieselben Lebenszyklus-Callbacks wie andere Aktivitäten.
    • Mit der neuen InputQueue-Klasse und der Callback-Oberfläche kann der native Code die Ereigniswarteschlange verwalten.
    • Über die neue SurfaceHolder.Callback2-Oberfläche kann SurfaceHolder von nativem Code verwaltet werden.
    • Mit den neuen Methoden takeInputQueue und takeSurface() in Window können Ereignisse und Oberflächen durch nativer Code verwaltet werden.

    Umfassende Informationen zum Arbeiten mit nativem Code oder zum Herunterladen des NDK finden Sie auf der Seite Android-NDK.

    Dalvik-Laufzeit

    Neue Manifestelemente und -attribute

    • Neues xlargeScreens-Attribut für das Element <supports-screens>, mit dem angegeben wird, ob die Anwendung extrem große Bildschirmformfaktoren unterstützt. Weitere Informationen
    • Neue Werte für das Attribut android:screenOrientation des Elements <activity>:
      • "reverseLandscape" (Aktivität): Für die Aktivität soll der Bildschirm im Querformat angezeigt werden, also in die entgegengesetzte Richtung zum normalen Querformat gedreht werden kann.
      • "reversePortrait" (Aktivität): Für die Aktivität soll das Hochformat angezeigt werden, das dem Bildschirm entgegengesetzt ist.
      • "sensorLandscape" (Aktivität): Für die Aktivität soll der Bildschirm im Querformat angezeigt werden, kann aber den Sensor verwenden, um die Richtung des Bildschirms zu ändern.
      • "sensorPortrait": Die Aktivität wünscht, dass der Bildschirm im Hochformat angezeigt wird, kann aber den Sensor verwenden, um die Richtung des Bildschirms zu ändern.
      • "fullSensor": Die Ausrichtung wird durch einen physischen Ausrichtungssensor bestimmt: Das Display dreht sich je nachdem, wie der Nutzer das Gerät bewegt. Dadurch sind alle vier möglichen Drehungen möglich, unabhängig davon, was das Gerät normalerweise tut (z. B. verwenden manche Geräte normalerweise keine 180-Grad-Drehung).

    Neue Berechtigungen

    • com.android.permission.SET_ALARM: Ermöglicht einer Anwendung, einen Intent zu senden, um einen Alarm für den Nutzer festzulegen. Eine Aktivität, die die Intent-Aktion SET_ALARM verarbeitet, sollte diese Berechtigung benötigen.
    • android.permission.USE_SIP: Ermöglicht einer Anwendung, die SIP API zu verwenden, um Internetanrufe zu tätigen oder zu empfangen.
    • android.permission.NFC: Ermöglicht einer App, den NFC API zum Lesen von NFC-Tags zu verwenden.

    Konstanten für neue Funktionen

    Die Plattform fügt mehrere neue Hardwarefunktionen hinzu, die Entwickler in ihren Anwendungsmanifesten als für ihre Anwendungen erforderlich deklarieren können. So können Entwickler festlegen, wie ihre App gefiltert werden soll, wenn sie bei Google Play veröffentlicht wird.

    Ausführliche Informationen zum Deklarieren und Verwenden von Features zum Filtern finden Sie in der Dokumentation zu <uses-feature>.

    Bericht zu API-Unterschieden

    Eine detaillierte Ansicht aller API-Änderungen in Android 2.3 (API-Level 9) findest du im API-Unterschiedsbericht.

    API-Ebene

    Die Plattform Android 2.3 stellt eine aktualisierte Version der Framework API bereit. Der Android 2.3 API wird eine Ganzzahl-ID (9) 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.

    Um in Android 2.3 eingeführte APIs in Ihrer App zu verwenden, müssen Sie die App mithilfe der Android-Bibliothek kompilieren, die auf der Android 2.3 SDK-Plattform enthalten ist. Je nach deinen Anforderungen musst du dem <uses-sdk>-Element im Manifest der Anwendung möglicherweise auch ein android:minSdkVersion="9"-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?