W tej lekcji
- Określanie najniższych i docelowych wersji API
- Weryfikacja wersji systemu podczas działania aplikacji
- Korzystanie ze stylów i motywów platformy
Warto przeczytać
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">