Obsługa różnych wersji systemu Android

28 lutego 2014
1 gwiadka2 gwiazdki3 gwiazdki4 gwiazdki5 gwiazdek

W najnowszych wersjach Androida często dostępne są świetne API, które możesz wykorzystać w swojej aplikacji. Dopóki jednak wiele urządzeń wyposażonych jest wciąż w starsze wersje systemu, twoja aplikacja powinna być zaprojektowana także pod kątem ich obsługi. W tej lekcji dowiesz się, jak wykorzystać najnowsze API nie rezygnując jednocześnie z obsługi starszych wersji Androida.

Statystyki dotyczące wykorzystywanych wersji systemu Android na aktywnych urządzeniach są regularnie aktualizowane w oparciu o dane zebrane od klientów sklepu Google Play. Z reguły warto obsługiwać te wersje systemu, na których pracuje około 90% aktywnych urządzeń, a jednocześnie tworzyć aplikacje pod kątem najnowszej wersji platformy.

Określanie najniższych i docelowych wersji API

Plik AndroidManifest.xml zawiera szczegółowe informacje na temat aplikacji i określa obsługiwane przez nią wersje systemu Android. Konkretniej rzecz ujmując, atrybut minSdkVersion elementu <uses-sdk> określa najniższą wersję API, z jaką zgodna jest aplikacja, zaś do atrybutu targetSdkVersion należy przypisać najwyższą wersję API, jaka była brana pod uwagę podczas tworzenia i testów aplikacji.

Przykład:

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

Wraz z pojawieniem się nowych wersji systemu Android, niektóre style i zachowania aplikacji mogą ulec zmianie. Aby wykorzystać ich potencjał i dopasować aplikację do każdego urządzenia, powinieneś przypisać elementowi targetSdkVersion wartość odpowiadającą najnowszej dostępnej wersji systemu.

Weryfikacja wersji systemu podczas działania aplikacji

Dostępna w Androidzie klasa Build zawiera stałe do wykorzystania pod kątem poszczególnych wersji platformy. Dzięki wykorzystaniu ich w swoim kodzie będziesz mieć pewność, że elementy aplikacji, które wymagają wyższej wersji API niż dostępna na urządzeniu nie zostaną uruchomione.

private void setUpActionBar() {
    // sprawdź, czy na urządzeniu zainstalowany jest system w wersji Honeycomb lub wyższej, co pozwoli na uruchomienie paska akcji
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        ActionBar actionBar = getActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
    }
}

Korzystanie ze stylów i motywów platformy

W Androidzie mamy możliwość zastosowania motywów, których funkcjonowanie i wygląd odzwierciedlają wersję systemu, na którym uruchomiona jest aplikacja. Motywy dodaje się do aplikacji poprzez plik manifestu. Jeśli skorzystasz z wbudowanych stylów i motywów, aplikacja sama dostosuje swój wygląd do najnowszej wersji systemu.

Aktywność w formie okna dialogowego:

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

Przezroczyste tło aktywności:

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

Zastosowanie własnego motywu z pliku /res/values/styles.xml:

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

Aby zastosować motyw do całej aplikacji (wszystkich aktywności), dodaj do elementu <application> atrybut android:theme:

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

Autor: Google

Źródło: https://developer.android.com/training/basics/supporting-devices/platforms.html

Tłumaczenie: Joanna Liana

Treść tej strony dostępna jest na zasadach licencji CC BY 2.5

Dyskusja

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *