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 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 programowo za pomocą funkcji z możliwością komponowania, które opisują jego kształt i zależności od danych. |
| databinding * | Łączenie komponentów interfejsu w układach ze źródłami danych w aplikacji za pomocą formatu deklaratywnego. |
| fragment * | Dzielenie aplikacji na wiele niezależnych ekranów hostowanych w aktywności. |
| hilt * | Rozszerzanie 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 * | Modularne i konfigurowalne komponenty interfejsu Material Design na Androida. |
| navigation * | Tworzenie i strukturyzowanie interfejsu w aplikacji, obsługiwanie precyzyjnych linków i przechodzenie między ekranami. |
| paging * | Wczytywanie danych w stronach i wyświetlanie 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 | Pobieranie identyfikatora reklamowego z usługami Google Play lub bez nich. |
| annotation | Udostępnianie metadanych, które pomagają narzędziom i innym programistom zrozumieć kod aplikacji. |
| appfunctions | Umożliwia aplikacjom udostępnianie funkcji i danych asystentom AI, dzięki czemu mogą oni wykrywać i wykonywać zadania bezpośrednio na urządzeniu, aby realizować prośby 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 Androida 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 | TODO |
| 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 | Zmniejszanie 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 elementów składowych i rozszerzanie podstaw, aby tworzyć własne elementy systemu projektowania. |
| compose.material | Tworzenie interfejsów Jetpack Compose za pomocą gotowych komponentów Material Design. Jest to punkt wejścia wyższego poziomu do Compose, który ma zapewniać komponenty zgodne 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żywaj biblioteki adaptacyjnej Material 3, aby tworzyć adaptacyjne interfejsy, 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 komponenty 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 w 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 ujednolicony 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 danych logowania cyfrowych w sposób chroniący prywatność. Aplikacja dla usługodawców będzie wstępnie rejestrować wszystkie swoje cyfrowe dane logowania w Credential Manager. Gdy Credential Manager otrzyma prośbę aplikacji o określone cyfrowe dane logowania, uruchomi w piaskownicy dopasowywanie danych logowania i interfejs wyboru 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 synchronizacja klatek. |
| 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 na Wear OS. |
| graphics | Wykorzystywanie funkcji graficznych w różnych wersjach platformy Androida. |
| gridlayout | Implementowanie układu siatki. |
| health | Tworzenie wydajnych aplikacji zdrowotnych w sposób niezależny od platformy. |
| health.connect | Umożliwia programistom 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 | Inspiruj do tworzenia najlepszych w swojej klasie aplikacji do obsługi rysika. Zmniejszaj bariery wejścia dla programistów, którzy chcą tworzyć piękne i wydajne aplikacje do rysowania. |
| input | Skracanie czasu oczekiwania na interakcje z danymi wejściowymi przez przewidywanie przyszłych MotionEvent. |
| interpolator | Używanie interpolatorów animacji na starszych platformach. |
| javascriptengine | Umożliwianie aplikacji na Androida oceniania kodu 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, czy używane są interfejsy API Gradle. |
| loader | Wczytywanie danych do interfejsu, 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żliwianie wyświetlania i odtwarzania multimediów na urządzeniach zdalnych za pomocą wspólnego interfejsu. |
| multidex | Wdrażanie aplikacji z wieloma plikami dex na urządzeniach z Androidem w wersji starszej 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 do dodawania 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 na potrzeby 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 | TODO |
| 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, którzy korzystają z SdkRuntime. |
| privacysandbox.tools | Biblioteka do korzystania z funkcji Piaskownicy prywatności na Androida. |
| privacysandbox.ui | TODO |
| 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 programistom 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, gdy proces się ponownie uruchamia. |
| 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 panelem przesuwanym. |
| startup | Implementowanie prostego i wydajnego sposobu inicjowania komponentów podczas uruchamiania aplikacji. |
| sqlite | Praca z lokalnymi bazami danych SQLite. Jeśli to możliwe, używaj zamiast tego 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 programistom funkcje Compose i Material Design, aby mogli tworzyć aplikacje na telewizory. |
| tvprovider | Udostępnianie kanałów Androida TV. |
| text-vertical | TODO |
| 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 | Uruchamianie 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. Jeśli to możliwe, używaj zamiast tego 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 | TODO |
| 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 | Funkcja Watch Face Push umożliwia aplikacji na Wear OS programowe instalowanie tarczy zegarka na zegarku. |
| webgpu | Nowoczesny interfejs GPU API do grafiki i obliczeń w 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. |