Verschiedene Plattformversionen unterstützen

Die neuesten Android-Versionen bieten zwar oft hervorragende APIs für Ihre App, Sie sollten aber weiterhin ältere Android-Versionen unterstützen, bis mehr Geräte aktualisiert werden. In dieser Lektion erfahren Sie, wie Sie die neuesten APIs nutzen und gleichzeitig ältere Versionen unterstützen.

Mit dem Android Studio-Assistenten Neues Projekt können Sie die Verteilung der aktiven Geräte mit den einzelnen Android-Versionen ermitteln. Diese Verteilung basiert auf der Anzahl der Geräte, finden Sie im Google Play Store. Im Allgemeinen empfehlen wir, etwa 90 % der aktiven Geräte zu unterstützen und Ihre App auf die neueste Version auszurichten.

Tipp:Um die besten Funktionen und Funktionen der verschiedenen Android-Versionen verwenden, sollten Sie die Android Support Library in Ihrer App verwenden. sodass Sie mehrere aktuelle Plattform-APIs mit älteren Versionen verwenden können.

Mindest- und Ziel-API-Level angeben

Die Datei AndroidManifest.xml beschreibt Details zu Ihrer App und ermittelt, welche Android-Versionen unterstützt werden. Konkret enthält die minSdkVersion und targetSdkVersion für das Element <uses-sdk> Ermitteln Sie das niedrigste API-Level, mit dem Ihre App kompatibel ist, und das höchste API-Level das Sie für Ihre App entwickelt und getestet haben.

Beispiel:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
    ...
</manifest>

Wenn neue Android-Versionen veröffentlicht werden, können sich einige Stile und Verhaltensweisen ändern. Damit Ihre App von diesen Änderungen profitieren und dem Stil des Geräts jedes Nutzers entsprechen kann, sollten Sie den Wert für targetSdkVersion auf die neueste verfügbare Android-Version festlegen.

Systemversion während der Laufzeit prüfen

Android stellt für jede Plattformversion im Build einen eindeutigen Code bereit. Constants-Klasse. Verwenden Sie diese Codes in Ihrer App, um Bedingungen zu erstellen, die dafür sorgen, dass der Code, der von höheren API-Ebenen abhängt, nur ausgeführt wird, wenn diese APIs auf dem System verfügbar sind.

Kotlin

private fun setUpActionBar() {
    // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        actionBar.setDisplayHomeAsUpEnabled(true)
    }
}

Java

private void setUpActionBar() {
    // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        ActionBar actionBar = getActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
    }
}

Hinweis: Beim Parsen von XML-Ressourcen ignoriert Android XML-Attribute, die vom aktuellen Gerät nicht unterstützt werden. So können Sie XML-Attribute, die nur von neueren Versionen unterstützt werden, bedenkenlos verwenden, ohne sich Gedanken darüber machen zu müssen, dass ältere Versionen bei diesem Code abstürzen. Wenn Sie beispielsweise die targetSdkVersion="11" festlegen, enthält Ihre App unter Android 3.0 und höher standardmäßig die ActionBar. Wenn Sie der Aktionsleiste dann Menüpunkte hinzufügen möchten, müssen Sie in der XML-Datei der Menüressource android:showAsAction="ifRoom" festlegen. Kein Problem in einer versionsübergreifenden XML-Datei verwendet, da ältere Versionen von Android den Fehlercode showAsAction-Attribut (d. h., Sie benötigen kein separates Version in res/menu-v11/).

Plattformstile und ‑designs verwenden

Android bietet User Experience Designs, die Apps das Erscheinungsbild der zugrunde liegendes Betriebssystem. Diese Themen können in der Manifestdatei auf Ihre App angewendet werden. Wenn Sie diese integrierten Stile und Themen verwenden, entspricht Ihre App mit jedem neuen Release dem neuesten Erscheinungsbild von Android.

So sorgen Sie dafür, dass Ihre Aktivität wie ein Dialogfeld aussieht:

<activity android:theme="@android:style/Theme.Dialog">

So legen Sie für Ihre Aktivitäten einen transparenten Hintergrund fest:

<activity android:theme="@android:style/Theme.Translucent">

So wenden Sie Ihr eigenes in /res/values/styles.xml definiertes Design an:

<activity android:theme="@style/CustomTheme">

Wenn Sie ein Design auf Ihre gesamte App (alle Aktivitäten) anwenden möchten, fügen Sie dem Element <application> das Attribut android:theme hinzu:

<application android:theme="@style/CustomTheme">

Weitere Informationen zum Erstellen und Verwenden von Designs finden Sie im Leitfaden zu Stilen und Designs.