Anche se le versioni più recenti di Android spesso forniscono API eccezionali per la tua app, dovresti continuare per supportare le versioni precedenti di Android fino all'aggiornamento di altri dispositivi. Questo mostra come sfruttare le API più recenti continuando a supportare e versioni successive.
Utilizza la procedura guidata Nuovo progetto di Android Studio per trovare la distribuzione dei dispositivi con ogni versione di Android. Questa distribuzione si basa sul numero di dispositivi che visita il Google Play Store. In genere, consigliamo di supportare circa il 90% dei dispositivi attivi, mentre il targeting della tua app all'ultima versione.
Suggerimento: per offrire le migliori funzionalità e su diverse versioni di Android, devi usare Android Support Library nell'app, che ti consente di usare diverse API recenti delle piattaforme su versioni precedenti.
Specifica i livelli API minimi e target
Il file AndroidManifest.xml
descrive i dettagli della tua app e
identifica le versioni di Android supportate. Nello specifico, minSdkVersion
e targetSdkVersion
per l'elemento <uses-sdk>
Identificare il livello API più basso con cui la tua app è compatibile e il livello API più elevato rispetto
che hai progettato e testato la tua app.
Ad esempio:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... > <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" /> ... </manifest>
Quando vengono rilasciate nuove versioni di Android, alcuni stili e comportamenti potrebbero cambiare.
Per consentire alla tua app di trarre vantaggio da questi cambiamenti e assicurarti che si adatti allo stile di
dispositivo di ciascun utente, devi impostare
targetSdkVersion
in modo che corrisponda all'ultima versione di Android
disponibili.
Controlla la versione del sistema in fase di runtime
Android fornisce un codice univoco per ogni versione della piattaforma in Build
della classe delle costanti. Usa questi codici all'interno della tua app per creare condizioni che assicurano che il codice
dipende da livelli API più elevati e viene eseguito solo quando queste API sono disponibili nel sistema.
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); } }
Nota: durante l'analisi delle risorse XML, Android ignora il codice XML
attributi non supportati dal dispositivo corrente. Quindi puoi tranquillamente usare attributi XML
sono supportati solo dalle versioni più recenti senza preoccuparsi che le versioni precedenti non funzionino quando
ritroverai quel codice. Ad esempio, se imposti il parametro
targetSdkVersion="11"
, la tua app include ActionBar
per impostazione predefinita
su Android 3.0 e versioni successive. Per aggiungere voci di menu alla barra delle azioni, devi impostare
android:showAsAction="ifRoom"
nel tuo XML della risorsa di menu. È sicuro eseguire questa operazione
in un file XML con più versioni, perché le versioni precedenti di Android ignorano semplicemente il
showAsAction
(in altre parole, non è necessario un
versione in res/menu-v11/
).
Utilizza stili e temi della piattaforma
Android offre temi per l'esperienza utente che conferiscono alle app l'aspetto e il design il sistema operativo sottostante. Questi temi possono essere applicati alla tua app all'interno manifest. Utilizzando questi stili e temi integrati, la tua app seguiranno naturalmente l'aspetto e il design più recenti di Android a ogni nuova release.
Per visualizzare l'attività in una finestra di dialogo:
<activity android:theme="@android:style/Theme.Dialog">
Per impostare uno sfondo trasparente per la tua attività:
<activity android:theme="@android:style/Theme.Translucent">
Per applicare il tuo tema personalizzato definito in /res/values/styles.xml
:
<activity android:theme="@style/CustomTheme">
Per applicare un tema all'intera app (tutte le attività), aggiungi android:theme
attributo
all'elemento <application>
:
<application android:theme="@style/CustomTheme">
Per ulteriori informazioni sulla creazione e l'utilizzo dei temi, leggi la guida Stili e temi.