Jetpack na Androida
Jetpack to pakiet bibliotek, które ułatwiają deweloperom stosowanie sprawdzonych metod, ograniczanie powtarzających się fragmentów kodu oraz pisanie kodu, który działa spójnie na różnych wersjach i urządzeniach Androida, dzięki czemu deweloperzy mogą się skupić na kodzie, który ich interesuje.
Jetpack Compose
Programowanie UI z użyciem funkcji Compose
Nowoczesny zestaw narzędzi do tworzenia natywnego interfejsu użytkownika, który pozwala uprościć i przyspieszyć tworzenie UI na Androidzie.
Dlaczego warto korzystać z Androida Jetpack?
Stosowanie sprawdzonych metod
Biblioteka Android Jetpack powstała z myślą o nowoczesnych metodach projektowania. Dzięki wbudowanej zgodności wstecznej biblioteki Androida Jetpack pozwalają na mniejszą liczbę awarii i mniej wycieków pamięci.
Wyeliminuj powtarzalny kod
Android Jetpack radzi sobie z uciążliwymi czynnościami, takimi jak zadania w tle, nawigacja i zarządzanie cyklem życia, dzięki czemu możesz skupić się na tym, co sprawia, że aplikacja jest tak cudowna.
Ogranicz fragmentację
Zmniejsz złożoność dzięki bibliotekom, które działają spójnie na różnych wersjach i urządzeniach z Androidem.
Biblioteki Jetpacka Zobacz wszystkie biblioteki
* Popularne i często używane biblioteki są wymienione na początku.
aktywność * | Dostęp do interfejsów API, które można łączyć i które są oparte na interfejsie Activity. |
appcompat * | Umożliwia dostęp do nowych interfejsów API w starszych wersjach interfejsu API platformy (wiele z nich korzysta z Material Design). |
appsearch * | Tworzenie niestandardowych funkcji wyszukiwania w aplikacji dla użytkowników. |
aparat* | tworzyć aplikacje aparatu na urządzenia mobilne, |
compose * | Zdefiniuj interfejs programowo za pomocą funkcji kompozycyjnych, które opisują jego kształt i zależności od danych. |
databinding * | Powiąż komponenty interfejsu w układach ze źródłami danych w aplikacji za pomocą formatu deklaratywnego. |
fragment * | Podziel aplikację na kilka niezależnych ekranów, które są hostowane w ramach aktywności. |
hilt * | Rozszerz funkcjonalność Daggera Hilt, aby umożliwić wstrzykiwanie zależności niektórych klas z bibliotek androidx. |
lifecycle * | Twórz komponenty uwzględniające cykl życia, które mogą dostosowywać swoje działanie do bieżącego stanu cyklu życia aktywności lub fragmentu. |
Komponenty Material Design * | Modułowe i konfigurowalne komponenty interfejsu Material Design na Androida. |
nawigacja * | Twórz i strukturuj interfejs aplikacji, obsługuj precyzyjne linki i przechodź między ekranami. |
paging * | Wczytywanie danych na stronach i wyświetlanie ich w widoku RecyclerView. |
room * | Tworzenie, przechowywanie i zarządzanie trwałymi danymi obsługiwanymi przez bazę danych SQLite. |
test * | Testowanie na Androidzie |
praca * | Planowanie i wykonywanie zadań w tle, które można odłożyć i które są oparte na ograniczeniach. |
reklamy | Uzyskiwanie identyfikatora wyświetlania reklam z Usługami Play lub bez nich. |
annotation | Udostępniaj metadane, które pomagają narzędziom i innym deweloperom zrozumieć kod aplikacji. |
appfunctions | DO ZROBIENIA |
arch.core | Biblioteka pomocnicza dla innych zależności architektury, w tym reguł testów JUnit, które można stosować z LiveData. |
asynclayoutinflater | Asynchronicznie rozwijaj układy, aby uniknąć zacinania się interfejsu. |
autouzupełnianie | Zwiększanie dokładności autouzupełniania przez rozszerzanie wskazówek. |
benchmark | Dokładnie mierz wydajność kodu w Androidzie Studio. |
biometryczne | Uwierzytelniaj się za pomocą danych biometrycznych lub danych logowania na urządzeniu i przeprowadzaj operacje kryptograficzne. |
bluetooth | Korzystaj z funkcji Bluetooth platformy Android za pomocą interfejsów API zgodnych wstecznie. |
przeglądarka | Wyświetlanie stron internetowych w domyślnej przeglądarce użytkownika. |
camera.featurecombinationquery | DO ZROBIENIA |
camera.media3 | DO ZROBIENIA |
camera.viewfinder | Samodzielny komponent i wizjer oparty na widoku dla aparatu” |
car-app | Twórz aplikacje oparte na szablonach na Androida Auto i Androida Automotive OS. |
cardview | Zaimplementuj wzorzec karty Material Design z zaokrąglonymi rogami i cieniami. |
kolekcji, | Zmniejsz wpływ na pamięć w przypadku małych kolekcji (zarówno nowych, jak i istniejących). |
compose.animation | tworzyć animacje w aplikacjach Jetpack Compose, aby zwiększać komfort użytkowników; |
compose.compiler | Przekształcanie funkcji z adnotacją @Composable i włączanie optymalizacji za pomocą wtyczki kompilatora Kotlin. |
compose.foundation | Twórz aplikacje w Jetpack Compose za pomocą gotowych elementów składowych i rozszerzaj podstawy, aby tworzyć własne elementy systemu projektowania. |
compose.material | Twórz interfejsy Jetpack Compose za pomocą gotowych komponentów Material Design. Jest to punkt wejścia wyższego poziomu w Compose, który ma udostępniać komponenty zgodne z tymi opisanymi na stronie www.material.io. |
compose.material3 | Twórz interfejsy Jetpack Compose za pomocą komponentów Material Design 3, czyli kolejnej ewolucji Material Design. Material 3 zawiera zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczny kolor. Jest on spójny z nowym stylem wizualnym Androida 12 i interfejsem systemu. |
compose.material3.adaptive | Użyj biblioteki adaptacyjnej Material 3, aby tworzyć adaptacyjne interfejsy, które będą automatycznie dostosowywać się do bieżących konfiguracji okna, takich jak klasy rozmiaru okna czy orientacja urządzenia. Biblioteka udostępnia zarówno domyślne implementacje szkieletu, jak i niezbędne elementy składowe, które umożliwiają tworzenie własnych, niestandardowych rozwiązań. |
compose.runtime | Podstawowe elementy modelu programowania i zarządzania stanem w Compose oraz podstawowe środowisko wykonawcze, do którego kierowany jest wtyczka kompilatora Compose. |
compose.ui | Podstawowe komponenty interfejsu Compose potrzebne do interakcji z urządzeniem, w tym układ, rysowanie i dane wejściowe. |
concurrent | Przenieś zadania z głównego wątku za pomocą korutyn i skorzystaj z interfejsu ListenableFuture. |
constraintlayout | Ustawiaj widżety w elastyczny sposób za pomocą pozycjonowania względnego. |
contentpager | Wczytywanie danych z ContentProvider i przeglądanie ich na wątku w tle. |
coordinatorlayout | Pozycjonowanie widżetów aplikacji najwyższego poziomu, takich jak AppBarLayout i FloatingActionButton. |
core | Korzystaj z najnowszych funkcji platformy i interfejsów API, a jednocześnie obsługuj starsze urządzenia. |
core.uwb | Wdrażanie technologii UWB (ultra-wideband) na obsługiwanych urządzeniach. |
dane logowania, | Ta biblioteka zapewnia ujednolicony dostęp do danych logowania użytkownika. Mogą to być hasła, klucze dostępu i dane logowania federacyjnego. Ta biblioteka powinna być używana do zapewniania płynnego i bezpiecznego logowania. |
credentials.providerevents | DO ZROBIENIA |
credentials.registry | Aby rozwiązać te problemy, dodajemy nowy mechanizm rejestracji, który umożliwia aplikacji dostarczanie cyfrowych poświadczeń w sposób chroniący prywatność. Aplikacja dostawcy wstępnie zarejestruje wszystkie kwalifikujące się cyfrowe dokumenty tożsamości w Menedżerze danych logowania. Gdy Menedżer danych logowania otrzyma żądanie aplikacji dotyczące konkretnego cyfrowego dokumentu tożsamości, uruchomi w piaskownicy interfejs dopasowywania dokumentów tożsamości i wyboru użytkownika. |
cursoradapter | Udostępnij dane obiektu Cursor widżetowi ListView. |
customview | Wdrażaj widoki niestandardowe. |
datastore | przechowywać dane asynchronicznie, spójnie i transakcyjnie, co pozwala uniknąć niektórych wad SharedPreferences; |
documentfile | Wyświetl dokument pliku. |
draganddrop | Akceptuj dane przeciągane z innej aplikacji lub w ramach aplikacji i wyświetlaj spójny element docelowy przeciągania. |
drawerlayout | Wdrażanie widżetu szuflady Material Design. |
dynamicanimation | Twórz płynne animacje za pomocą interfejsu API animacji opartego na fizyce. |
emotikon | Wyświetlanie emoji na obecnych i starszych urządzeniach. |
emoji2 | Wyświetlanie emoji na obecnych i starszych urządzeniach. |
enterprise | Tworzenie aplikacji gotowych do użytku w firmach. |
exifinterface | odczytywać i zapisywać tagi EXIF plików graficznych. |
gier, | Używaj w aplikacji natywnego pakietu SDK do gier na Androida, aby wykonywać złożone zadania związane z grami, takie jak synchronizacja klatek. |
szybki rzut oka | Twórz układy na potrzeby zdalnych platform za pomocą interfejsu API w stylu Jetpack Compose. |
grafika | Wykorzystywanie funkcji graficznych w wielu wersjach platformy Android |
gridlayout | Wdróż układ siatki. |
health | tworzyć wydajne aplikacje związane ze zdrowiem w sposób niezależny od platformy; |
health.connect | Umożliwia deweloperom odczytywanie i zapisywanie danych dotyczących zdrowia i aktywności fizycznej użytkownika. |
heifwriter | Kodowanie obrazu lub kolekcji obrazów w formacie HEIF przy użyciu dostępnych kodeków na urządzeniu z Androidem. |
ink | Inspiruj najlepsze aplikacje do obsługi pióra. Ułatwienie deweloperom tworzenia wydajnych i estetycznych funkcji pisania odręcznego. |
input | Skracanie czasu oczekiwania na interakcje wejściowe przez przewidywanie przyszłych zdarzeń MotionEvent |
interpolator | Używaj interpolatorów animacji na starszych platformach. |
javascriptengine | Włącz w aplikacji na Androida możliwość oceny kodu JavaScript. |
jetifier | Samodzielne narzędzie, które przenosi zależności biblioteki od wycofanej biblioteki pomocy do równoważnych zależności AndroidX. |
leanback | Zamiast tego artefaktu używaj Compose for TV. |
starsza wersja | Ten artefakt i jego klasy zostały wycofane. Od Androida 8 ograniczenia dotyczące sprawdzania w tle sprawiają, że ta klasa nie jest już przydatna. |
lint | Sprawdzanie za pomocą narzędzia Lint, czy używane są interfejsy Gradle API |
loader | Wczytywanie danych do interfejsu, które przetrwają zmiany konfiguracji. |
localbroadcastmanager | Ten artefakt i jego klasy zostały wycofane. Zamiast tego używaj LiveData lub strumieni reaktywnych. |
media | udostępnianie treści multimedialnych i elementów sterujących innym aplikacjom; Zastąpiona przez bibliotekę Media3. |
media3 * | Biblioteki pomocy w przypadku zastosowań multimedialnych. |
mediarouter | Umożliwia wyświetlanie i odtwarzanie multimediów na zdalnych urządzeniach odbiorczych za pomocą wspólnego interfejsu użytkownika. |
multidex | wdrażać aplikacje z wieloma plikami DEX na urządzeniach z Androidem w wersji starszej niż 5. |
dane | Śledzenie i raportowanie różnych danych o czasie działania aplikacji |
navigation3 | Navigation 3 to nowa biblioteka nawigacji zaprojektowana do współpracy z Compose. |
navigationevent | Biblioteka Navigation Event udostępnia interfejs API KMP do obsługi systemowego przycisku Wstecz oraz [gestu przewidywanego powrotu](/guide/navigation/custom-back/predictive-back-gesture). |
palette | wyodrębniać z obrazów reprezentatywne palety kolorów; |
Biblioteka umożliwiająca dodawanie funkcji wyświetlania plików PDF w aplikacjach. | |
percentlayout | Ten artefakt i jego klasy zostały wycofane. Zamiast tego używaj ConstraintLayout i powiązanych z nim układów. |
performance | Zawiera adnotacje źródłowe na potrzeby optymalizacji wydajności. |
photopicker | Ta biblioteka zapewnia integrację z Compose i widokami Androida w przypadku umieszczonego selektora zdjęć. |
preference | Twórz interaktywne ekrany ustawień bez konieczności interakcji z pamięcią urządzenia ani zarządzania interfejsem. |
Drukuj zdjęcia, dokumenty i inne grafiki oraz obrazy z aplikacji. | |
privacysandbox.activity | DO ZROBIENIA |
privacysandbox.ads | Ta biblioteka umożliwia integrację z interfejsami API chroniącymi prywatność, które są częścią Piaskownicy prywatności na Androida. |
privacysandbox.plugins | Wtyczka Gradle biblioteki Android Privacy Sandbox SDK |
privacysandbox.sdkruntime | Ta biblioteka udostępnia komponenty dla odbiorców korzystających z pakietu SDK Runtime. |
privacysandbox.tools | Biblioteka do korzystania z funkcji Piaskownicy prywatności na Androidzie |
privacysandbox.ui | DO ZROBIENIA |
profileinstaller | Umożliwia bibliotekom wstępne wypełnianie śladów kompilacji, które mają być odczytywane przez ART. |
rekomendacja | Promowanie treści na ekranie głównym Androida TV Launcher. |
recyclerview | Wyświetlanie dużych zbiorów danych w interfejsie przy minimalnym zużyciu pamięci. |
remotecallback | Utwórz otoczkę, która ułatwi deweloperom dostarczanie intencji PendingIntent. |
resourceinspection | Wyświetlaj atrybuty widoków niestandardowych w inspektorze układu na żywo w Android Studio. |
savedstate | Pisz komponenty wtykowe, które zapisują stan interfejsu, gdy proces zostanie zakończony, i przywracają go po ponownym uruchomieniu procesu. |
bezpieczeństwo, | Bezpieczne zarządzanie kluczami oraz szyfrowanie plików i ustawień udostępnionych. |
sharetarget | Zapewnia zgodność wsteczną w przypadku używania skrótów jako bezpośrednich celów udostępniania. |
slice | wyświetlać elementy interfejsu oparte na szablonach poza aplikacją; |
slidingpanelayout | Zaimplementuj wzorzec interfejsu przesuwanego panelu. |
startup | Wdróż prosty i wydajny sposób inicjowania komponentów podczas uruchamiania aplikacji. |
sqlite | Praca z lokalnymi bazami danych SQLite. Jeśli to możliwe, użyj pokoju. |
swiperefreshlayout | Zaimplementuj wzorzec interfejsu „przesuń, aby odświeżyć”. |
test.uiautomator | Framework do testowania funkcjonalnego interfejsu w różnych aplikacjach |
textclassifier | Identyfikuje rozmowy, linki, zaznaczenia i inne podobne konstrukcje w tekście. |
śledzenie | Zapisuje zdarzenia logu czasu w buforze logu czasu systemu. |
transition | Animuj ruch w interfejsie za pomocą układów początkowego i końcowego. |
tv | Zapewnia programistom funkcje Compose i Material Design, które umożliwiają pisanie aplikacji na telewizory. |
tvprovider | udostępniać kanały Androida TV; |
xr.arcore | Wprowadzaj treści cyfrowe do świata rzeczywistego dzięki funkcjom percepcji. |
xr.compose | Deklaratywne tworzenie układów interfejsu przestrzennego, które wykorzystują możliwości przestrzenne Androida XR. |
xr.compose.material3 | Tworzenie komponentów i układów Material, które dostosowują się do XR |
xr.runtime | Rozpocznij niestandardową sesję AR lub 3D za pomocą naszego natywnego środowiska wykonawczego. |
xr.scenecore | Twórz i modyfikuj wykres sceny Androida XR za pomocą treści 3D. |
vectordrawable | renderować grafikę wektorową, |
versionedparcelable | Zapewnia stabilny i kompaktowy format serializacji binarnej, który można bezpiecznie przekazywać między procesami lub zapisywać. |
viewpager | Wyświetlanie widoków lub fragmentów w formacie umożliwiającym przesuwanie. Jeśli to możliwe, używaj zamiast tego widoku viewpager2. |
viewpager2 | Wyświetlanie widoków lub fragmentów w formacie umożliwiającym przesuwanie. |
wear | tworzyć aplikacje na zegarki z Wear OS by Google; |
wear.compose | Twórz aplikacje Jetpack Compose na urządzenia z Wear OS, udostępniając funkcje obsługujące różne rozmiary urządzeń i gesty nawigacyjne. |
wear.protolayout | Ta biblioteka umożliwia definiowanie zestawu układów interfejsu i wyrażeń niezwiązanych z interfejsem, które mają być renderowane lub oceniane na zdalnych powierzchniach. |
wear.tiles | tworzyć aplikacje na zegarki z Wear OS by Google; |
wear.watchface | tworzyć aplikacje na zegarki z Wear OS by Google; |
wear.watchfacepush | Funkcja Watch Face Push umożliwia aplikacji na Wear OS programowe instalowanie tarczy zegarka na zegarku. |
webkit | Działa z nowoczesnymi interfejsami WebView API na Androidzie 5 i nowszym. |
okno | Pomaga w obsłudze różnych formatów urządzeń, takich jak urządzenia składane. |
window.extensions.core | Podstawowe interfejsy API rozszerzeń biblioteki menedżera okien |
Nauka korzystania z jetpacka
Szkolenie podstawowe
Poznaj najważniejsze biblioteki Jetpacka w ramach podstaw Androida dzięki kursowi Compose i ogranicz liczbę powtarzających się elementów w swojej aplikacji
Praktyczny samouczek
Zyskaj praktyczne doświadczenie dzięki 3 bibliotekom Jetpack, które upraszczają warstwę danych: LiveData, ViewModel i room
Przykładowa aplikacja Sunflower
Zobacz, jak najpopularniejsze biblioteki Jetpack są używane razem w aplikacji w wersji produkcyjnej