Uwaga: w Androidzie 9.0 (poziom API 28) funkcja
nową wersję biblioteki pomocy o nazwie
AndroidX należący do Jetpack.
Biblioteka AndroidaX
zawiera istniejącą bibliotekę pomocy oraz najnowsze komponenty Jetpack.
Nadal możesz korzystać z biblioteki pomocy.
Historyczne artefakty (w wersji 27 lub starszej oraz spakowane jako android.support.*
) będą
pozostają dostępne w Google Maven. Jednak nowe biblioteki
pojawi się w bibliotece AndroidaX.
Zalecamy używanie bibliotek AndroidaX we wszystkich nowych projektach. Warto też wziąć pod uwagę
przeniesiemy też istniejące projekty do AndroidaX.
Tworząc aplikacje obsługujące wiele wersji interfejsu API, warto mieć standardowego sposobu udostępniania nowszych funkcji we wcześniejszych wersjach Androida lub płynnie wrócić do równoważnej funkcji. Zamiast tworzenia kodu do obsługi starszych wersji platformy, możesz wykorzystać te biblioteki aby zapewnić tę warstwę kompatybilności. Ponadto biblioteki pomocy dodatkowych klas wygodnych i funkcji niedostępnych w standardowego interfejsu Framework API, który ułatwia programowanie i obsługę w większej urządzenia.
Niegdyś była to pojedyncza biblioteka binarna dla aplikacji, ale Biblioteka pomocy Androida przekształciły się w pakiet bibliotek do tworzenia aplikacji. Wiele z tych biblioteki są teraz zdecydowanie zalecane, jeśli nie są niezbędne, w Google Cloud.
Ten dokument zawiera omówienie biblioteki pomocy, która może Ci pomóc poznać jego składniki i skutecznie wykorzystać je w aplikacji.
Uwaga: zaczyna się od wersji 26.0.0 biblioteki pomocy. (Lipiec 2017 r.), minimalny obsługiwany poziom interfejsu API w większości bibliotek pomocniczych jest teraz dostępny w Androidzie 4.0 (poziom interfejsu API 14) w przypadku większości pakietów bibliotek. Dla: więcej informacji znajdziesz w artykule Obsługa wersji i pakietów Nazwy na tej stronie.
Wykorzystanie biblioteki pomocy
Biblioteki pomocy mają kilka różnych zastosowań. Wstecz klas zgodności dla wcześniejszych wersji platformy to tylko jeden . Oto dokładniejsza lista sposobów korzystania z bibliotek pomocy w aplikacji:
-
Zgodność wsteczna w przypadku nowszych interfejsów API – duża część
biblioteki pomocnicze zapewniają zgodność wsteczną dla nowszej platformy
klas i metod. Na przykład
Fragment
klasa pomocy zapewnia obsługę fragmentów na urządzeniach z wersjami w wersji starszej niż Android 3.0 (poziom interfejsu API 11). -
Klasy wygodne i pomocnicze – biblioteki pomocnicze zapewniają
klas pomocniczych, zwłaszcza w przypadku programowania interfejsu użytkownika. Dla:
przykład klasa
RecyclerView
udostępnia użytkownikowi widżet interfejsu do wyświetlania bardzo długich list i zarządzania nimi, przydatny wersji Androida od poziomu API 7 wzwyż. -
Debugowanie i narzędzia – jest wiele funkcji,
które zapewniają przydatne funkcje wykraczające poza kod włączany do aplikacji. Mogą to być na przykład:
support-annotations
biblioteka do ulepszonej kontroli lintowania kodu wejściowego metody oraz obsługę Multidex dla konfigurowania i rozpowszechniania aplikacji za pomocą ponad 65 536 metod.
Korzystanie z pomocy a interfejsy API platformy
Biblioteki pomocy udostępniają zajęcia i metody, które ściśle przypominają interfejsy API platformy Android. Po odkryciu tego zagadnienia możesz się zastanawiać, korzystać z wersji platformy interfejsu API lub jego odpowiednika w bibliotece pomocy. Tutaj to wskazówki na temat tego, kiedy należy korzystać z pomocy klasowej w bibliotece pomocy interfejsów API platformy:
- Zgodność konkretnej funkcji – jeśli chcesz dodać obsługę najnowsze funkcje platformy na urządzeniach z wcześniejszymi wersjami użyj równoważnych klas i metod z biblioteki pomocy.
-
Zgodność pokrewnych funkcji biblioteki – bardziej zaawansowana
zajęcia w bibliotece pomocy mogą wymagać co najmniej jednej dodatkowej pomocy
klas bibliotecznych, więc używaj klas pomocniczych.
zależności. Na przykład
ViewPager
klasy pomocy należy używać z klasami pomocyFragmentPagerAdapter
lubFragmentStatePagerAdapter
. -
Ogólna zgodność z urządzeniami – jeśli nie masz określonej
funkcja platformy, której chcesz używać w swojej aplikacji, w zgodności wstecznej;
nadal warto jednak używać w aplikacji zajęć z biblioteki pomocy.
Na przykład zamiast klasy
Activity
platformy możesz użyćActivityCompat
, aby korzystać z nowszych funkcji na późniejszym etapie, na przykład przez zastosowanie nowego modelu uprawnień wprowadzonego Android 6.0 (poziom API 23).
klasy Biblioteki pomocy, które zapewniają zgodną implementację platformy. Klasy interfejsu API mogą nie udostępniać pełnego zestawu funkcji dostępne w najnowszej wersji ze względu na ograniczenia urządzenia hosta wersji platformy. W takich przypadkach klasy są tworzone w taki sposób, ulegać wahaniom i może nie zapewniać wszystkich funkcji lub danych obecnego interfejsu API platformy. Dlatego zapoznaj się z plikiem referencyjnym dokumentacji zajęć i metod wykorzystywanych w bibliotece na urządzeniach z najwcześniejszą wersją platformy obsługiwanej przez do aplikacji.
Uwaga: biblioteki pomocy nie udostępniają równoważnych plików cookie. klas i metod dla każdego interfejsu API platformy. W niektórych przypadkach konieczne może być wykonanie tych czynności: dodaj do wywołania metody platformy wyraźną informację o sprawdzeniu wersji pakietu SDK i podaj alternatywny kod do obsługi metod niedostępnych na urządzeniu. Więcej na temat używania sprawdzania wersji w kodzie można znaleźć w sekcji Obsługa różnych wersji Wersje platformy.
Obsługa wersji i nazwy pakietów
Niektóre pakiety Biblioteki pomocy mają nazwy, które wskazują na minimalnym obsługiwanym wcześniej poziomie interfejsu API, przy użyciu notacji v#, takiej jak „support-v4”. Od wersji 26.0.0 Biblioteki pomocy (opublikowanej w w lipcu 2017 r.) minimalny obsługiwany poziom interfejsu API zmienił się na Androida 4.0 (API) poziomu 14) we wszystkich pakietach bibliotek pomocy. Z tego powodu podczas pracy w dowolnej najnowszej wersji biblioteki pomocy, nie zakładaj, zapis pakietu v# wskazuje minimalny poziom obsługi interfejsu API. Ta zmiana w najnowszych wersjach oznacza również, że pakiety bibliotek z wersją 4 i v7 są zasadniczo równoważne na minimalnym poziomie obsługi interfejsu API. Na przykład pakiet support-v4 i support-v7 obsługują minimalną Poziom interfejsu API 14 dla wersji biblioteki pomocy technicznej od wersji 26.0.0 lub nowszej.
Wersje wydania biblioteki pomocy
wersji Biblioteki pomocy, np. 24.2.0 lub 25.0.1, różni się od minimalnego poziomu interfejsu API obsługiwanego przez jakąkolwiek bibliotekę Release.Numer wersji wydania wskazuje, która wersja platformy Interfejs API, w którym został utworzony, dlatego mogą być dostępne najnowsze interfejsy API zawarte w tej wersji bibliotek.
Pierwsza sekcja numeru wersji, na przykład 24 w wersji 24.2.0 zwykle odpowiada wersji (interfejs API platformy Google Analytics) dostępny w chwili jego wprowadzenia. Poziom wersji biblioteka pomocy wskazuje, że zawiera niektóre funkcje tego interfejsu API ale nie zakładaj, że zapewnia on zgodność ze wszystkimi funkcji dostępnych w nowej wersji interfejsu API platformy.
Zależności dotyczące bibliotek
Większość bibliotek w pakiecie Biblioteki pomocy Androida
co najmniej jedną bibliotekę. Na przykład prawie wszystkie biblioteki pomocnicze mają atrybuty
zależność od pakietu support-compat
. Ogólnie rzecz biorąc,
muszą się martwić o zależności obsługi biblioteki, ponieważ kompilacja Gradle
zarządza zależnościami bibliotek, automatycznie dołączając
z bibliotek zależnych.
Jeśli chcesz zobaczyć, jakie biblioteki i zależności bibliotek są uwzględnione uruchom następujące polecenie w katalogu głównym kompilacji w celu pobrania raportu o zależnościach dla tego projektu, w tym Biblioteki pomocy Androida i inne biblioteki:
gradle -q dependencies your-app-project:dependencies
Więcej informacji o dodawaniu bibliotek pomocniczych do programowania projektu korzystającego z Gradle. Więcej informacji znajdziesz w sekcji pomocy Konfiguracja biblioteki. Więcej informacji o pracy z Gradle znajdziesz na stronie Skonfiguruj Twoja kompilacja.
Pamiętaj, że wszystkie biblioteki pomocy Androida zależą też od pewnego poziomu podstawowego. platformy – w przypadku najnowszych wersji – Androida 4.0 (poziom API 14) lub wyżej.