Jetpack na Androida
Jetpack to pakiet bibliotek, który pomaga stosować sprawdzone metody, ograniczać ilość powtarzalnego kodu i pisać kod, który działa spójnie na różnych wersjach Androida, urządzeniach i formatach, dzięki czemu możesz skupić się na kodzie, który Cię 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 zajmuje się żmudnymi zadaniami, takimi jak zarządzanie zadaniami w tle, nawigacją i cyklem życia działania, dzięki czemu możesz skupić się na tworzeniu świetnej aplikacji.
Ogranicz fragmentację
Zmniejsz złożoność dzięki bibliotekom, które działają spójnie na różnych wersjach i urządzeniach z Androidem.
Tworzenie reklam na dowolny rozmiar ekranu
Biblioteki Jetpack, takie jak androidx.compose.material3.adaptive.layout, upraszczają tworzenie układów adaptacyjnych zoptymalizowanych pod kątem wszystkich rozmiarów wyświetlaczy.
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
Teraz w przykładowej aplikacji na Androida
Zobacz, jak nowoczesna architektura Androida jest wdrożona w rzeczywistej aplikacji
Biblioteki Jetpack Zobacz wszystkie biblioteki
* Popularne i często używane biblioteki są wymienione jako pierwsze
| activity * | Dostęp do interfejsów API z możliwością komponowania, które są oparte na aktywności. |
| Komponenty adaptacyjne Material Design 3 | Tworzenie adaptacyjnych interfejsów użytkownika za pomocą komponentów Material Design 3. |
| 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. |
| camera * | Tworzenie aplikacji aparatu na urządzenia mobilne. |
| compose * | Definiowanie interfejsu użytkownika programowo za pomocą funkcji z możliwością komponowania, które opisują jego kształt i zależności od danych. |
| databinding * | Powiązanie komponentów interfejsu użytkownika w układach ze źródłami danych w aplikacji za pomocą formatu deklaratywnego. |
| fragment * | Podzielenie aplikacji na wiele niezależnych ekranów hostowanych w aktywności. |
| hilt * | Rozszerzenie funkcjonalności Dagger Hilt, aby umożliwić wstrzykiwanie zależności niektórych klas z bibliotek androidx. |
| lifecycle * | Tworzenie komponentów uwzględniających cykl życia, które mogą dostosowywać swoje działanie na podstawie bieżącego stanu cyklu życia aktywności lub fragmentu. |
| Komponenty Material Design * | Modułowe i konfigurowalne komponenty interfejsu Material Design na Androida. |
| navigation * | Tworzenie i strukturyzowanie interfejsu użytkownika w aplikacji, obsługa precyzyjnych linków i nawigacja między ekranami. |
| paging * | Wczytywanie danych w stronach i prezentowanie ich w RecyclerView. |
| room * | Tworzenie, przechowywanie i zarządzanie trwałymi danymi przechowywanymi w bazie danych SQLite. |
| room3 * | Tworzenie, przechowywanie i zarządzanie trwałymi danymi przechowywanymi w bazie danych SQLite. |
| test * | Testowanie na Androidzie. |
| work * | Planowanie i wykonywanie zadań w tle, które można odłożyć i które są oparte na ograniczeniach. |
| ads | Uzyskiwanie identyfikatora wyświetlania reklam z Usługami Google Play lub bez nich. |
| annotation | Udostępnianie metadanych, które pomagają narzędziom i innym deweloperom zrozumieć kod aplikacji. |
| appfunctions | Umożliwia aplikacjom udostępnianie funkcji i danych asystentom AI, co pozwala im odkrywać i wykonywać zadania bezpośrednio na urządzeniu w celu realizacji żądań użytkowników. |
| arch.core | Pomocnik dla innych zależności arch, w tym reguł testów JUnit, których można używać z LiveData. |
| asynclayoutinflater | Asynchroniczne rozszerzanie układów, aby uniknąć zacinania się interfejsu. |
| autofill | Zwiększanie dokładności autouzupełniania przez rozszerzanie podpowiedzi. |
| benchmark | Dokładne mierzenie wydajności kodu w Android Studio. |
| biometric | Uwierzytelnianie za pomocą biometrii lub danych logowania oraz wykonywanie operacji kryptograficznych. |
| bluetooth | Korzystanie z funkcji Bluetooth platformy Android za pomocą interfejsów API zgodnych wstecz. |
| browser | Wyświetlanie stron internetowych w domyślnej przeglądarce użytkownika. |
| camera.featurecombinationquery | Wysyłanie zapytań o możliwości aparatu. |
| camera.media3 | DO ZROBIENIA |
| camera.viewfinder | Samodzielny wizjer z możliwością komponowania i oparty na widoku dla aparatu |
| car-app | Tworzenie aplikacji opartych na szablonach dla Androida Auto i systemu operacyjnego Android Automotive. |
| cardview | Implementowanie wzorca karty Material Design z zaokrąglonymi rogami i cieniami. |
| collection | Zmniejszenie wpływu na pamięć istniejących i nowych małych kolekcji. |
| compose.animation | Tworzenie animacji w aplikacjach Jetpack Compose, aby wzbogacić wrażenia użytkownika. |
| compose.compiler | Przekształcanie funkcji @Composable i włączanie optymalizacji za pomocą wtyczki kompilatora Kotlin. |
| compose.foundation | Pisanie aplikacji Jetpack Compose za pomocą gotowych do użycia elementów składowych i rozszerzanie podstaw, aby tworzyć własne elementy systemu projektowania. |
| compose.material | Tworzenie interfejsów Jetpack Compose za pomocą gotowych do użycia komponentów Material Design. Jest to punkt wejścia wyższego poziomu do Compose, który ma na celu udostępnianie komponentów zgodnych z tymi opisanymi na stronie www.material.io. |
| compose.material3 | Tworzenie interfejsów Jetpack Compose za pomocą komponentów Material Design 3, czyli kolejnej ewolucji Material Design. Material 3 obejmuje zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczne kolory. Jest też zaprojektowany tak, aby pasować do nowego stylu wizualnego Androida 12 i interfejsu systemu. |
| compose.material3.adaptive | Użyj biblioteki adaptacyjnej Material 3 do tworzenia adaptacyjnych interfejsów, które będą się automatycznie dostosowywać do bieżących konfiguracji okien, takich jak klasy rozmiarów okien czy postawy urządzenia. Biblioteka udostępnia zarówno domyślne implementacje szkieletów, jak i niezbędne elementy składowe z możliwością komponowania, które pozwalają tworzyć własne niestandardowe rozwiązania. |
| compose.remote | Remote Compose to platforma do tworzenia interfejsu dla platform zdalnych. |
| compose.runtime | Podstawowe elementy składowe modelu programowania i zarządzania stanem Compose oraz podstawowe środowisko wykonawcze dla wtyczki kompilatora Compose. |
| compose.ui | Podstawowe komponenty interfejsu Compose potrzebne do interakcji z urządzeniem, w tym układ, rysowanie i dane wejściowe. |
| concurrent | Przenoszenie zadań z głównego wątku za pomocą współprogramów i korzystanie z ListenableFuture. |
| constraintlayout | Elastyczne pozycjonowanie i określanie rozmiaru widżetów za pomocą pozycjonowania względnego. |
| contentpager | Wczytywanie i stronicowanie danych ContentProvider w wątku w tle. |
| coordinatorlayout | Pozycjonowanie widżetów aplikacji najwyższego poziomu, takich jak AppBarLayout i FloatingActionButton. |
| core | Korzystanie z najnowszych funkcji i interfejsów API platformy przy jednoczesnej obsłudze starszych urządzeń. |
| core.uwb | Implementowanie technologii UWB (łącze ultraszerokopasmowe) na obsługiwanych urządzeniach. |
| credentials | Ta biblioteka zapewnia jednolity dostęp do danych logowania użytkownika. Mogą to być hasła, klucze dostępu i dane logowania federacyjne. Ta biblioteka powinna być używana do zapewniania płynnego i bezpiecznego logowania. |
| credentials.providerevents | Ta biblioteka udostępnia zestaw interfejsów API, które umożliwiają dostawcom danych logowania uczestniczenie w zdarzeniach dostawcy, takich jak przesyłanie danych logowania i sygnalizowanie zmian danych logowania. |
| credentials.registry | Aby rozwiązać te problemy, dodajemy nowy mechanizm rejestracji, który umożliwia aplikacji udostępnianie cyfrowych danych logowania w sposób chroniący prywatność. Aplikacja dla usługodawców będzie wstępnie rejestrować wszystkie swoje potencjalne cyfrowe dane logowania w Credential Manager. Gdy Credential Manager otrzyma żądanie aplikacji dotyczące konkretnych cyfrowych danych logowania, uruchomi w piaskownicy interfejs dopasowywania danych logowania i selektora użytkownika. |
| cursoradapter | Udostępnianie danych kursora widżetowi ListView. |
| customview | Implementowanie widoków niestandardowych. |
| datastore | Asynchroniczne, spójne i transakcyjne przechowywanie danych, które pozwala przezwyciężyć niektóre wady SharedPreferences. |
| documentfile | Wyświetlanie dokumentu pliku. |
| draganddrop | Akceptowanie danych przeciąganych z innej aplikacji lub w aplikacji oraz wyświetlanie spójnego elementu docelowego. |
| drawerlayout | Implementowanie widżetu szuflady Material Design. |
| dynamicanimation | Tworzenie płynnych animacji za pomocą interfejsu API animacji opartego na fizyce. |
| emoji | Wyświetlanie emoji na bieżących i starszych urządzeniach. |
| emoji2 | Wyświetlanie emoji na bieżących i starszych urządzeniach. |
| enterprise | Tworzenie aplikacji gotowych do użycia w firmach. |
| exifinterface | Odczytywanie i zapisywanie tagów EXIF plików graficznych. |
| games | Korzystanie z pakietu Android Game SDK natywnie w aplikacji do wykonywania złożonych zadań związanych z grami, takich jak Frame Pacing. |
| glance | Tworzenie układów dla powierzchni zdalnych za pomocą interfejsu API w stylu Jetpack Compose. |
| glance.wear | Glance Wear to biblioteka do tworzenia widżetów dla Wear OS. |
| graphics | Wykorzystywanie funkcji graficznych w wielu wersjach platformy Android. |
| gridlayout | Implementowanie układu siatki. |
| health | Tworzenie wydajnych aplikacji związanych ze zdrowiem w sposób niezależny od platformy. |
| health.connect | Umożliwia deweloperom odczytywanie i zapisywanie danych o zdrowiu i kondycji użytkownika. |
| heifwriter | Kodowanie obrazu lub kolekcji obrazów w formacie HEIF za pomocą dostępnych kodeków na urządzeniu z Androidem. |
| ink | Inspiracja do tworzenia najlepszych aplikacji do pisania. Zmniejszenie bariery wejścia dla deweloperów w przypadku tworzenia wydajnych i atrakcyjnych aplikacji do pisania. Obsługuje pisanie na Androidzie i JVM po stronie serwera (obecnie obsługiwane w systemie Linux w przypadku architektury x86_64). |
| input | Zmniejszenie opóźnienia interakcji wejściowych przez przewidywanie przyszłych MotionEvent. |
| interpolator | Używanie interpolatorów animacji na starszych platformach. |
| javascriptengine | Umożliwienie aplikacji na Androida oceniania JavaScript. |
| jetifier | Samodzielne narzędzie, które migruje 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. |
| legacy | Ten artefakt i jego klasy są 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, aby zweryfikować użycie interfejsów API Gradle. |
| loader | Wczytywanie danych dla interfejsu użytkownika, które przetrwają zmiany konfiguracji. |
| localbroadcastmanager | Ten artefakt i jego klasy są 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 media3. |
| media3 * | Biblioteki pomocy do zastosowań multimedialnych. |
| mediarouter | Umożliwienie wyświetlania i odtwarzania multimediów na urządzeniach zdalnych za pomocą wspólnego interfejsu użytkownika. |
| multidex | Wdrażanie aplikacji z wieloma plikami dex na urządzeniach z Androidem w wersji wcześniejszej niż 5. |
| metrics | Ś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, który w pierwszej kolejności obsługuje KMP, do obsługi systemowego przycisku wstecz oraz [gestu przewidywania wstecz](/guide/navigation/custom-back/predictive-back-gesture). |
| palette | Wyodrębnianie reprezentatywnych palet kolorów z obrazów. |
| Biblioteka umożliwiająca dodawanie funkcji wyświetlania plików PDF w aplikacjach. | |
| percentlayout | Ten artefakt i jego klasy są wycofane. Zamiast tego używaj ConstraintLayout i powiązanych układów. |
| performance | Udostępnia adnotacje źródłowe do optymalizacji wydajności. |
| photopicker | Ta biblioteka zapewnia integrację z Compose i widokami Androida w przypadku wbudowanego selektora zdjęć. |
| preference | Tworzenie interaktywnych ekranów ustawień bez konieczności interakcji z pamięcią urządzenia ani zarządzania interfejsem. |
| Drukowanie zdjęć, dokumentów i innych grafik oraz obrazów 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 pakietu SDK Piaskownicy prywatności na Androida |
| privacysandbox.sdkruntime | Ta biblioteka udostępnia komponenty dla odbiorców uwzględniających SdkRuntime. |
| privacysandbox.tools | Biblioteka umożliwiająca korzystanie z funkcji Piaskownicy prywatności na Androida. |
| privacysandbox.ui | DO ZROBIENIA |
| profileinstaller | Umożliwia bibliotekom wstępne wypełnianie śladów kompilacji z wyprzedzeniem, które mają być odczytywane przez ART. |
| recommendation | Promowanie treści na ekranie głównym Launchera Androida TV. |
| recyclerview | Wyświetlanie dużych zbiorów danych w interfejsie przy jednoczesnym minimalizowaniu wykorzystania pamięci. |
| remotecallback | Tworzenie otoki, która ułatwia deweloperom udostępnianie PendingIntent. |
| resourceinspection | Wyświetlanie atrybutów widoków niestandardowych w narzędziu Layout Inspector na żywo w Android Studio. |
| savedstate | Tworzenie komponentów z możliwością podłączania, które zapisują stan interfejsu, gdy proces się kończy, i przywracają go po ponownym uruchomieniu procesu. |
| security | Bezpieczne zarządzanie kluczami oraz szyfrowanie plików i sharedpreferences. |
| sharetarget | Zapewnianie zgodności wstecznej w przypadku używania skrótów jako bezpośrednich celów udostępniania. |
| slice | Wyświetlanie elementów interfejsu opartych na szablonach poza aplikacją. |
| slidingpanelayout | Implementowanie wzorca interfejsu z przesuwanym panelem. |
| startup | Implementowanie prostego i wydajnego sposobu inicjowania komponentów podczas uruchamiania aplikacji. |
| sqlite | Praca z lokalnymi bazami danych SQLite. W miarę możliwości używaj Room. |
| swiperefreshlayout | Implementowanie wzorca interfejsu „przesuń, aby odświeżyć”. |
| test.uiautomator | Środowisko do funkcjonalnego testowania interfejsu w różnych aplikacjach. |
| textclassifier | Identyfikuje rozmowy, linki, zaznaczenia i inne podobne konstrukcje w tekście. |
| tracing | Zapisywanie zdarzeń śledzenia w buforze śledzenia systemu. |
| transition | Animowanie ruchu w interfejsie za pomocą układów początkowych i końcowych. |
| tv | Udostępnia deweloperom funkcje Compose i Material Design, aby mogli tworzyć aplikacje na telewizory. |
| tvprovider | Udostępnianie kanałów Androida TV. |
| text-vertical | DO ZROBIENIA |
| xr.arcore | Wprowadzanie treści cyfrowych do świata rzeczywistego za pomocą funkcji percepcji. |
| xr.compose | Deklaratywne tworzenie przestrzennych układów interfejsu, które wykorzystują możliwości przestrzenne Androida XR. |
| xr.compose.material3 | Tworzenie za pomocą komponentów i układów Material, które dostosowują się do XR. |
| xr.glimmer | Język projektowania i zestaw narzędzi interfejsu do tworzenia rozszerzonych rozwiązań Android XR. |
| xr.projected | Tworzenie rozwiązań, które wykorzystują unikalne możliwości połączonych urządzeń XR. |
| xr.runtime | Rozpoczynanie niestandardowej sesji AR lub 3D za pomocą naszego natywnego środowiska wykonawczego. |
| xr.scenecore | Tworzenie i manipulowanie grafem sceny Androida XR za pomocą treści 3D. |
| vectordrawable | Renderowanie grafiki wektorowej. |
| versionedparcelable | Udostępnia stabilny i kompaktowy format serializacji binarnej, który można przekazywać między procesami lub bezpiecznie utrwalać. |
| viewpager | Wyświetlanie widoków lub fragmentów w formacie przesuwanym. W miarę możliwości używaj viewpager2. |
| viewpager2 | Wyświetlanie widoków lub fragmentów w formacie przesuwanym. |
| wear | Tworzenie aplikacji na zegarki z Wear OS by Google. |
| wear.compose | Pisanie aplikacji Jetpack Compose na urządzenia z Wear OS przez udostępnianie funkcji obsługujących różne rozmiary urządzeń i gesty nawigacyjne. |
| wear.compose.remote | Pisanie widżetów i innych zdalnych interfejsów dla Wear OS za pomocą systemu projektowania Material 3 Expressive. |
| wear.protolayout | Ta biblioteka umożliwia definiowanie zestawu układów interfejsu i wyrażeń innych niż interfejs, które mają być renderowane lub oceniane na powierzchniach zdalnych. |
| wear.tiles | Tworzenie aplikacji na zegarki z Wear OS by Google. |
| wear.watchface | Tworzenie aplikacji na zegarki z Wear OS by Google. |
| wear.watchfacepush | Watch Face Push umożliwia aplikacji na Wear OS programowe instalowanie tarczy zegarka na zegarku. |
| webgpu | Nowoczesny interfejs GPU do grafiki i obliczeń w języku Kotlin. |
| webkit | Praca z nowoczesnymi interfejsami WebView API na Androidzie 5 i nowszym. |
| window | Pomaga obsługiwać różne formaty urządzeń, takie jak urządzenia składane. |
| window.extensions.core | Podstawowe interfejsy API rozszerzeń biblioteki Window Manager. |