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 na początku.
| activity * | Dostęp do interfejsów API, które można łączyć i które są oparte na interfejsie Activity. |
| Komponenty adaptacyjne Material Design 3 | Twórz adaptacyjne interfejsy za pomocą komponentów Material Design 3. |
| appcompat * | Umożliwia dostęp do nowych interfejsów API w starszych wersjach platformy (wiele z nich korzysta z Material Design). |
| appsearch * | Twórz niestandardowe funkcje wyszukiwania w aplikacji dla użytkowników. |
| aparat | tworzyć aplikacje mobilne korzystające z aparatu; |
| compose * | Zdefiniuj interfejs programowo za pomocą funkcji typu „composable”, 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 hostowanych 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 działania lub fragmentu. |
| Komponenty Material Design * | Modułowe i dostosowywane komponenty interfejsu Material Design na Androida. |
| nawigacja * | Twórz i strukturuj interfejs użytkownika w 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. |
| room3 * | Tworzenie, przechowywanie i zarządzanie trwałymi danymi obsługiwanymi przez bazę danych SQLite. |
| test * | Testowanie na Androidzie. |
| praca * | Planowanie i wykonywanie odroczonych zadań w tle opartych na ograniczeniach. |
| a2ui | Renderowanie Jetpack Compose Agent-to-UI (A2UI) zapewnia implementację protokołu A2UI, dzięki czemu agenty AI mogą generować bogate, interaktywne interfejsy użytkownika, które renderują natywne komponenty Compose bez wykonywania dowolnego kodu. |
| a2ui.compose | Renderowanie Jetpack Compose Agent-to-UI (A2UI) zapewnia implementację protokołu A2UI, dzięki czemu agenty AI mogą generować bogate, interaktywne interfejsy użytkownika, które renderują natywne komponenty Compose bez wykonywania dowolnego kodu. |
| reklamy | Uzyskiwanie identyfikatora wyświetlania reklam z Usługami Google Play lub bez nich. |
| annotation | Udostępniaj metadane, 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 spełniać prośby użytkowników. |
| arch.core | Biblioteka pomocnicza dla innych zależności architektury, w tym reguł testów JUnit, których można używać z LiveData. |
| asynclayoutinflater | Asynchronicznie rozwijaj układy, aby uniknąć zacinania się interfejsu. |
| autofill | Zwiększanie dokładności autouzupełniania przez rozszerzanie wskazówek. |
| wartość referencyjna | Dokładnie mierz wydajność kodu w Androidzie Studio. |
| biometric | Uwierzytelniaj się za pomocą danych biometrycznych lub danych logowania na urządzeniu i wykonuj 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 | Sprawdzanie możliwości aparatu. |
| camera.media3 | DO ZROBIENIA |
| camera.viewfinder | Samodzielny komponent Composable i wizjer oparty na widoku dla aparatu”. |
| car-app | Twórz aplikacje oparte na szablonach na Androida Auto i system operacyjny Android Automotive. |
| cardview | Wdrażanie wzorca karty Material Design z zaokrąglonymi rogami i cieniami. |
| collection | Zmniejszenie wpływu na pamięć w przypadku małych kolekcji (zarówno nowych, jak i istniejących). |
| compose.animation | tworzyć animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia 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 do Compose, który ma zapewniać komponenty zgodne z 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 automatycznie dostosowują się do konfiguracji okna, np. klas rozmiaru okna lub orientacji urządzenia. Biblioteka udostępnia domyślne implementacje szkieletów i elementy składowe, które można wykorzystać do tworzenia własnych niestandardowych rozwiązań. |
| compose.remote.foundation | DO ZROBIENIA |
| compose.remote | Remote Compose to platforma do tworzenia interfejsu na potrzeby zdalnych platform. |
| 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 | Przenoszenie zadań z wątku głównego za pomocą współprogramów i korzystanie z ListenableFuture. |
| constraintlayout | Umieszczaj widżety w elastyczny sposób dzięki pozycjonowaniu względnemu. |
| contentpager | Wczytywanie i stronicowanie danych z ContentProvider w wątku w tle. |
| coordinatorlayout | Pozycjonowanie widżetów aplikacji najwyższego poziomu, takich jak AppBarLayout i FloatingActionButton. |
| locationbutton | |
| core | Korzystaj z najnowszych funkcji platformy i interfejsów API, a jednocześnie obsługuj starsze urządzenia. |
| core.uwb | Wdrażanie technologii UWB (ultraszerokopasmowej) 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 federacyjnego. Ta biblioteka powinna być używana do zapewniania płynnego i bezpiecznego logowania. |
| credentials.providerevents | Ta biblioteka udostępnia dostawcom danych uwierzytelniających zestaw interfejsów API, które umożliwiają im uczestniczenie w zdarzeniach dostawcy, takich jak przenoszenie danych uwierzytelniających i sygnalizowanie zmian w tych danych. |
| credentials.registry | Aby rozwiązać te problemy, dodajemy nowy mechanizm rejestracji, który umożliwia aplikacji przekazywanie cyfrowych danych logowania w sposób chroniący prywatność. Aplikacja dla usługodawców wstępnie zarejestruje wszystkie kandydowane cyfrowe dokumenty tożsamości w Credential Manager. Gdy Credential Manager otrzyma od aplikacji prośbę o konkretny cyfrowy dokument tożsamości, uruchomi w sandboxie interfejs dopasowywania dokumentów tożsamości i wybierania użytkowników. |
| cursoradapter | Udostępnij dane z 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 | akceptować dane przeciągane z innej aplikacji lub w ramach aplikacji i wyświetlać 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. |
| emoji | 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 w plikach graficznych; |
| gry | Używaj natywnie w aplikacji pakietu Android Game SDK do wykonywania złożonych zadań związanych z grami, takich jak synchronizacja klatek. |
| glance.adaptive | DO ZROBIENIA |
| glance | Twórz układy na potrzeby zdalnych powierzchni za pomocą interfejsu API w stylu Jetpack Compose. |
| glance.wear | Glance Wear to biblioteka do tworzenia widżetów na Wear OS |
| grafika | Wykorzystywanie funkcji graficznych w wielu wersjach platformy Android |
| gridlayout | Wdróż układ 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 dotyczących zdrowia i aktywności fizycznej 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 pióra. Obniż próg wejścia dla deweloperów, aby mogli tworzyć piękne i wydajne aplikacje do pisania odręcznego. Obsługuje pisanie odręczne na Androidzie i w JVM po stronie serwera (obecnie obsługiwane w Linuksie na platformie x86_64). |
| 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 JavaScriptu. |
| jetifier | Samodzielne narzędzie, które przenosi zależności biblioteki od wycofanej biblioteki pomocy do równoważnych zależności AndroidX. |
| leanback | Samodzielne narzędzie, które przenosi zależności biblioteki od wycofanej biblioteki pomocy do równoważnych zależności AndroidX. |
| legacy | 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ępniaj treści multimedialne i elementy sterujące innym aplikacjom. Zastąpione przez 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. |
| multidex | wdrażać aplikacje z wieloma plikami dex na urządzeniach z Androidem w wersji starszej niż 5. |
| metrics | śledzić i raportować różne dane dotyczące czasu działania aplikacji, |
| navigation3 | Navigation 3 to nowa biblioteka nawigacji zaprojektowana do współpracy z Compose. |
| navigationevent | Biblioteka zdarzeń nawigacji udostępnia interfejs API KMP do obsługi systemowego przejścia wstecz oraz [przewidywanego przejścia 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 zostały wycofane. Zamiast tego używaj ConstraintLayout i powiązanych układów. |
| performance | Zawiera adnotacje dotyczące źródeł na potrzeby optymalizacji wydajności. |
| photopicker | Ta biblioteka zapewnia integrację Compose i Android Views na potrzeby wbudowanego 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 chroniącymi prywatność interfejsami API, 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 SdkRuntime. |
| privacysandbox.tools | Biblioteka do korzystania z funkcji Piaskownicy prywatności na Androida |
| privacysandbox.ui | DO ZROBIENIA |
| profileinstaller | Umożliwia bibliotekom wstępne wypełnianie śladów kompilacji, które będą odczytywane przez ART. |
| recommendation | promować treści na ekranie głównym Android TV Launcher; |
| recyclerview | Wyświetlanie dużych zbiorów danych w interfejsie przy minimalnym wykorzystaniu pamięci. |
| remotecallback | Utwórz otoczkę, która ułatwi deweloperom dostarczanie intencji PendingIntent. |
| resourceinspection | Wyświetlanie atrybutów widoków niestandardowych w narzędziu Layout Inspector na żywo w Android Studio. |
| savedstate | Pisz komponenty wtykowe, które zapisują stan interfejsu, gdy proces się kończy, i przywracają go, gdy proces się ponownie uruchamia. |
| bezpieczeństwo | Bezpiecznie zarządzaj kluczami oraz szyfruj pliki i ustawienia współdzielone. |
| sharetarget | Zapewnia zgodność wsteczną w przypadku używania skrótów jako celów udostępniania bezpośredniego. |
| slice | wyświetlać elementy interfejsu oparte na szablonach poza aplikacją; |
| slidingpanelayout | Wdróż 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.backup | Zautomatyzowane ramy testowe do weryfikacji, czy dane użytkownika i dane logowania do konta są bezpieczne podczas uaktualniania urządzenia i przywracania danych z chmury. |
| test.ext | DO ZROBIENIA |
| test.uiautomator | Platforma do testowania funkcjonalnego interfejsu aplikacji |
| text-vertical | DO ZROBIENIA |
| textclassifier | Identyfikuje rozmowy, linki, zaznaczenia i inne podobne konstrukcje w tekście. |
| tracing | Zapisywanie zdarzeń 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; |
| 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, który można przesuwać. Jeśli to możliwe, użyj zamiast tego widoku ViewPager2. |
| viewpager2 | Wyświetlanie widoków lub fragmentów w formacie, który można przesuwać. |
| wear | Twórz 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.compose.remote | Twórz widżety i inne interfejsy zdalne na Wear OS, korzystając z systemu projektowania Material 3 Expressive. |
| 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 platformach. |
| wear.tiles | Twórz aplikacje na zegarki z Wear OS by Google. |
| wear.watchface | Twórz 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. |
| webgpu | Nowoczesny interfejs GPU API do grafiki i obliczeń w Kotlinie. |
| webkit | Działać z nowoczesnymi interfejsami WebView API na Androidzie 5 i nowszym. |
| window | Pomaga obsługiwać różne formaty urządzeń, np. urządzenia składane. |
| window.extensions.core | Podstawowe interfejsy API rozszerzeń biblioteki menedżera okien |
| xr.arcore | Wprowadzaj treści cyfrowe do świata rzeczywistego dzięki funkcjom percepcji. |
| xr.compose | Deklaratywnie twórz przestrzenne układy 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 użytkownika do tworzenia rozszerzonych środowisk Androida XR |
| xr.projected | Twórz środowiska, które wykorzystują unikalne możliwości połączonych urządzeń XR. |
| xr.runtime | Rozpocznij niestandardową sesję AR lub 3D za pomocą naszego natywnego środowiska wykonawczego. |
| xr.scenecore | Twórz i modyfikuj graf sceny Androida XR za pomocą treści 3D. |