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 Jetpack Zobacz wszystkie biblioteki
* Popularne i często używane biblioteki są na początku listy
aktywność * | Korzystaj z kompozycyjnych interfejsów API utworzonych w oparciu o aktywność. |
appcompat * | Umożliwia dostęp do nowych interfejsów API w starszych wersjach interfejsów API platformy (wiele z nich korzysta z Material Design). |
appsearch * | Utwórz niestandardowe funkcje wyszukiwania w aplikacji dla swoich użytkowników. |
kamera * | tworzenie aplikacji mobilnych aparatu, |
compose * | Definiuj interfejs użytkownika programowo za pomocą funkcji kompozytowych, które opisują jego kształt i zależności danych. |
databinding * | Połącz komponenty UI w swoich układach ze źródłami danych w aplikacji za pomocą formatu deklaratywnego. |
fragment * | podzielić aplikację na kilka niezależnych ekranów hostowanych w ramach aktywności; |
hilt * | Rozszerz funkcje narzędzia Dagger Hilt, aby umożliwić wstrzykiwanie zależności określonych klas z bibliotek Androidax. |
cykl życia * | Tworzenie komponentów uwzględniających cykl życia, które mogą dostosowywać 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. |
Nawigacja * | tworzyć i strukturyzować interfejs aplikacji, obsługiwać precyzyjne linki i przechodzić między ekranami; |
paging * | wczytywać dane na stronach i wyświetlać je w elemencie RecyclerView; |
room * | Tworzenie i przechowywanie danych trwałych w bazie danych SQLite oraz zarządzanie nimi. |
test * | Testowanie w Androidzie. |
praca * | Planowanie i wykonywanie opartych na ograniczeniach zadań w tle z możliwością odroczenia. |
ads | Uzyskaj identyfikator wyświetlania reklam z Usługami Google Play lub bez nich. |
adnotacja | Udostępniaj metadane, aby ułatwić narzędziom i innym deweloperom zrozumienie kodu aplikacji. |
arch.core | Pomoc dla innych zależności Arch, w tym reguł testów JUnit, których można używać z LiveData. |
asynclayoutinflater, | Asynchronicznie zwiększaj układy, aby uniknąć zacinania się w interfejsie. |
autouzupełnianie | Ulepszanie dokładności autouzupełniania dzięki rozszerzaniu podpowiedzi. |
test porównawczy | dokładnie mierzyć wydajność kodu w Android Studio, |
biometryczne | Uwierzytelniaj za pomocą danych biometrycznych lub danych logowania do urządzenia i wykonuj operacje kryptograficzne. |
bluetooth | Korzystanie z funkcji Bluetooth na platformie Android przy użyciu interfejsów API zgodnych ze starszymi wersjami. |
przeglądarka | wyświetlać strony internetowe w domyślnej przeglądarce użytkownika; |
camera.viewfinder | Standalone Composable and View based Viewfinder for Camera |
aplikacja-samochodowa | tworzyć aplikacje na podstawie szablonów na potrzeby Androida Auto i Androida Automotive. |
cardview | Wdrożyć wzór karty Material Design z zaokrąglonymi rogami i cieniowaniem. |
kolekcja | Zmniejsz wpływ na pamięć istniejących i nowych kolekcji o małej objętości. |
compose.animation | Twórz animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników. |
compose.buildr | Przekształcaj funkcje @Composable i włącz optymalizacje za pomocą wtyczki kompilatora Kotlin. |
compose.foundation | Pisać aplikacje Jetpack Compose za pomocą gotowych elementów składowych i rozwijać podstawy, aby tworzyć własne elementy systemu projektowania. |
compose.material, | Twórz interfejsy Jetpack Compose z gotowymi do użycia komponentami Material Design. Jest to punkt wejścia wyższego poziomu w Composer, który ma dostarczać komponenty pasujące do tych opisanych na www.material.io. |
compose.material3 | Twórz interfejsy Jetpack Compose z komponentami Material Design 3, które stanowią kolejną wersję Material Design. Material 3 ma zaktualizowane motywy i komponenty oraz funkcje personalizacji Material You, takie jak dynamiczne kolory, i został zaprojektowany tak, aby był spójny z nowym stylem wizualnym i interfejsem systemu na Androidzie 12. |
compose.material3.adaptive, | Używaj biblioteki adaptacyjnej Material 3, aby tworzyć adaptacyjne interfejsy które dostosują się automatycznie do bieżącego okresu. takich jak klasy rozmiaru okna czy stany urządzeń. W bibliotece zarówno domyślne implementacje rusztowania, jak i niezbędne elementy kompozycyjne z elementów składowych. aby tworzyć własne, spersonalizowane doświadczenia. |
compose.runtime, | Podstawowe elementy modelu programowania i zarządzania stanem w Compose oraz środowisko uruchomieniowe główne dla wtyczki kompilatora Compose, na które ma być nakierowany. |
compose.ui, | Podstawowe elementy interfejsu tworzenia wiadomości, które są potrzebne do interakcji z urządzeniem, w tym układ, rysowanie i wprowadzanie danych. |
równoległe | Przenoś zadania z głównego wątku za pomocą coroutines i korzystaj z interfejsu ListenableFuture. |
constraintlayout | Elastyczne ustawianie położenia i rozmiaru widżetów za pomocą pozycjonowania względnego. |
contentpager | wczytywanie i przewijanie danych ContentProvider na wątku w tle. |
coordinatorlayout | umiejscowić widżety aplikacji najwyższego poziomu, takie jak AppBarLayout i FloatingActionButton; |
rdzenia, | Uwzględniaj najnowsze funkcje i interfejsy API platformy, jednocześnie obsługując starsze urządzenia. |
core.uwb | Wdrożyć łącza ultraszerokopasmowe (UWB) na obsługiwanych urządzeniach. |
dane logowania | Ta biblioteka zapewnia jednolity dostęp do danych logowania użytkownika. Dotyczy to haseł, kluczy dostępu i sfederowanych danych logowania. Biblioteki tej należy używać, aby zapewnić bezproblemowe i bezpieczne logowanie. |
kursoradapter | Wyświetlanie danych kursora w widżecie ListView. |
customview | Wdrażanie widoków niestandardowych. |
datastore | Przechowuj dane asynchronicznie, w spójny i transakcyjny sposób, z wykorzystaniem niektórych wad SharedPreferences |
documentfile | Wyświetlanie dokumentu. |
przeciągnij | Akceptuj przeciąganie i upuszczanie danych z innej aplikacji lub w obrębie aplikacji oraz pokazuj stałą aproporcję wartości docelowej. |
drawerlayout | Wdrożenie widżetu w szufladzie Material Design. |
dynamicanimation | Tworzenie płynnych animacji za pomocą interfejsu API animacji opartej na fizyce. |
emotikon | wyświetlać emotikony na obecnych i starszych urządzeniach. |
emoji2 | wyświetlać emotikony na obecnych i starszych urządzeniach. |
enterprise, | Twórz aplikacje dla firm. |
exifinterface | odczytywanie i zapisywanie tagów EXIF pliku graficznego; |
gry | Aby wykonywać złożone zadania związane z grami, takie jak ustalanie szybkości animacji, użyj w swojej aplikacji natywnego pakietu SDK do gier na Androida. |
widok | Twórz układy dla platform zdalnych, korzystając z interfejsu API w stylu Jetpack Compose. |
grafika | Korzystanie z funkcji graficznych w różnych wersjach platformy Android |
gridlayout | Wdrożyć układ siatki. |
health | Twórz 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. |
atrament | tworzyć najlepsze w swojej klasie aplikacje do rysowania. Obniż barierę deweloperską, aby móc korzystać z wysokiej wydajności i pięknie pisać odręcznie. |
wpisywanie danych | Skrócenie czasu oczekiwania na interakcje wejściowe dzięki przewidywaniu przyszłych zdarzeń MotionEvents |
interpolator | na starszych platformach używaj interpolacji animacji; |
javascriptengine | Umożliw aplikacji na Androida interpretowanie kodu JavaScript. |
jetifier | Oddzielne narzędzie, które przenosi zależności biblioteki od wycofanej biblioteki pomocy do odpowiadających im zależności AndroidaX. |
leanback | Zamiast tego artefaktu użyj funkcji Compose for TV. |
starsza wersja | Ten artefakt i jego klasy zostały wycofane. Począwszy od Androida 8 ograniczenia związane z sprawdzaniem przeszłości sprawiają, że ta klasa nie jest już przydatna. |
lint | Lint sprawdza, czy korzystasz z interfejsów Gradle API |
loader | Wczytywanie danych interfejsu użytkownika, które przetrwają zmiany konfiguracji. |
localbroadcastmanager, | Ten artefakt i jego klasy zostały wycofane. Zamiast tego użyj LiveData lub strumieni reaktywnych. |
multimedia, | Udostępniaj treści multimedialne i elementy sterujące innym aplikacjom. Zastąpiona przez media2. |
media2 | udostępniać treści multimedialne i elementy sterujące innym aplikacjom; |
media3 * | Obsługa bibliotek w przypadku zastosowań związanych z multimediami. |
mediarouter | Włącz wyświetlanie multimediów i odtwarzanie na urządzeniach zdalnych za pomocą wspólnego interfejsu. |
multidex, | Wdrażanie aplikacji z wieloma plikami dex na urządzeniach z Androidem w wersji 5 i starszych. |
dane | Śledź i raportuj różne wskaźniki czasu działania aplikacji |
paleta | wyodrębniać z obrazów reprezentatywne palety kolorów; |
Biblioteka umożliwiająca wyświetlanie plików PDF w aplikacji. | |
percentlayout | Ten artefakt i jego klasy zostały wycofane. Zamiast tego użyj ConstraintLayout i powiązanych układów. |
preferencja | tworzyć interaktywne ekrany ustawień bez konieczności interakcji z pamięcią urządzenia lub zarządzania interfejsem; |
Drukuj zdjęcia, dokumenty oraz inne grafiki i 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.Wtyczka | Wtyczka Gradle do obsługi biblioteki SDK piaskownicy prywatności na Androida |
privacysandbox.sdkruntime | Ta biblioteka udostępnia komponenty dla klientów korzystających z SdkRuntime. |
privacysandbox.tools | Biblioteka umożliwiająca korzystanie z funkcji Piaskownicy prywatności na Androidzie |
privacysandbox.ui. | TODO |
profileinstaller | Umożliwia bibliotekom wstępne wypełnianie śladów kompilacji, które mają być odczytywane przez ART. |
rekomendacja | Promuj treści na ekranie głównym Android TV Launcher. |
recyclerview, | Wyświetlaj w interfejsie duże zbiory danych, minimalizując jednocześnie wykorzystanie pamięci. |
zdalne wywołanie zwrotne | Utwórz element opakowujący, który ułatwi deweloperom udostępnianie PendingIntent. |
inspekcja zasobów | Wyświetlanie atrybutów widoków niestandardowych w Menedżerze układu na żywo w Android Studio. |
savedstate (zapisany stan), | Napisz komponenty z możliwością podłączania, które zapisują stan interfejsu po zakończeniu procesu i przywracają go po jego ponownym uruchomieniu. |
bezpieczeństwo | Bezpiecznie zarządzaj kluczami oraz szyfruj pliki i udostępnione ustawienia. |
sharetarget, | zapewnić wsteczną zgodność skrótów z docelami bezpośredniego udostępniania; |
wycinek | Wyświetlaj oparte na szablonach elementy interfejsu poza aplikacją. |
slidingpanelayout | Zaimplementuj wzorzec interfejsu panelu przesuwanego. |
startup | Zaimplementuj 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 wzór interfejsu przesuń, aby odświeżyć. |
test.uiautomator | Framework do testowania interfejsu użytkownika w różnych aplikacjach |
textclassifier | Identyfikuje wątki, linki, zaznaczenia i inne podobne konstrukcje w tekście. |
śledzenie | Zapisz zdarzenia logu czasu w buforze śledzenia systemu. |
przejście | Animowanie ruchu w interfejsie za pomocą początkowych i końcowych układów. |
tv | Udostępnia deweloperom funkcje Compose i Material Design umożliwiające pisanie aplikacji na telewizory |
tvprovider | Dostarczanie kanałów Androida TV. |
vectordrawable | Renderowanie grafiki wektorowej. |
versionedparcelable | Zapewnia stabilny i kompaktowy format serializacji binarnej, który można przekazywać między procesami lub bezpiecznie przechowywać. |
viewpager | Wyświetlaj wyświetlenia lub fragmenty w formacie przesuwanym. Jeśli to możliwe, użyj zamiast tego viewpager2. |
viewpager2 | Wyświetlaj wyświetlenia lub fragmenty w formacie przesuwanym. |
wear | Twórz aplikacje na zegarki z Wear OS by Google. |
wear.compose | Zapisuj aplikacje Jetpack Compose na urządzenia do noszenia według zapewnia funkcje obsługujące określone urządzenia do noszenia, rozmiary, kształty gestów nawigacji. |
wear.protolayout | Ta biblioteka umożliwia zdefiniowanie zestawu układów interfejsu użytkownika i wyrażeń niebędących interfejsem użytkownika, które mają być renderowane i oceniane na zdalnych powierzchniach. |
wear.tiles | Twórz aplikacje na zegarki z Wear OS by Google. |
wear.watchface | Twórz aplikacje na zegarki z Wear OS by Google. |
webkit | Możliwość korzystania z nowoczesnych interfejsów API WebView na Androidzie 5 lub nowszym. |
okno | Pomaga w obsługiwaniu różnych formatów urządzeń, takich jak składane urządzenia. |
window.extensions.core, | Podstawowe interfejsy API rozszerzeń biblioteki Menedżera okien |
Nowości
- Utwórz sierpień 2023 r.
- Jetpack Compose 1.5.0 przechodzi do wersji stabilnej i zapewnia znaczną poprawę wydajności, w tym refaktoryzację modyfikatorów wysokiego poziomu, takich jak „Klikalny”, co może poprawić czas kompozycji o 80%. Wersja Compose z 23 sierpnia 2023 r. ulepsza też przydzielanie pamięci (zwłaszcza w przypadku stosu graficznego) nawet o 70%, co zmniejszy zapotrzebowanie na pamięć na urządzeniach
- Wear Compose and Tiles 1.2
- Funkcje Wear Compose i kafelki na Wear są teraz dostępne w wersji stabilnej, aby zapewnić jeszcze lepsze wrażenia deweloperom aplikacji na Wear OS. Oba narzędzia się uzupełniają: Wear Compose służy do tworzenia złożonych ekranów aplikacji na urządzeniach Wear, a karty Wear do tworzenia samych kart aplikacji. Nowa wersja Wear Compose zawiera nowe funkcje, takie jak elementy rozwijane i funkcja przesuwania palcem, aby ją odkryć. Wersja aplikacji na tarcze Wear obsługuje teraz animację widżetów i wiązanie danych platformy (np. źródła danych dotyczących zdrowia).
- Okno 1.1
- 1.1 stabilizuje interfejsy API do umieszczania aktywności, co pozwala aplikacjom takim jak WhatsApp, eBay i Temu udostępniać układy na dużych ekranach. Interfejs API jest wzbogacony o różne funkcje, które pozwalają deweloperom modyfikować sposób działania podzielonego ekranu, sprawdzać (i zmieniać) stan podziału w czasie działania, implementować podziały poziome i uruchamiać modal w pełnym oknie.
- Informacje o wersji
- Więcej informacji znajdziesz w informacjach o wersji.
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