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
* Na początku listy znajdują się popularne i często używane biblioteki
activity * | Uzyskaj dostęp do interfejsów API, które można łączyć i które zostały utworzone na podstawie interfejsu Activity. |
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. |
camera * | Tworzenie aplikacji mobilnych do obsługi 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 funkcjonalność Hilta, aby umożliwić wstrzykiwanie zależności niektórych klas z bibliotek androidx. |
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 spersonalizowane komponenty interfejsu Material Design na Androida. |
nawigacja * | tworzyć i strukturyzować interfejs użytkownika w aplikacji, obsługiwać precyzyjne linki i przechodzić między ekranami. |
przełączanie stron * | wczytywać dane stronami i prezentować je w RecyclerView. |
room * | tworzyć i przechowywać dane trwałe oraz zarządzać nimi przy użyciu bazy danych SQLite; |
test * | Testowanie w Androidzie. |
praca * | Planowanie i wykonywanie opóźnionych zadań w tle na podstawie ograniczeń. |
ads | Uzyskiwanie identyfikatora wyświetlania reklam z użyciem Usług Google Play lub bez nich |
adnotacja | Udostępniaj metadane, które pomagają narzędziom i innym deweloperom zrozumieć kod Twojej aplikacji. |
arch.core | Narzędzie pomocnicze do innych zależności archiwum, w tym reguł testów JUnit, które można używać z LiveData. |
asynclayoutinflater | Rozwijaj układy asynchronicznie, aby uniknąć zacięcia interfejsu. |
autouzupełnianie | Ulepszanie dokładności autouzupełniania dzięki rozszerzaniu podpowiedzi. |
benchmark | dokładnie mierzyć wydajność kodu w Android Studio, |
biometryczne | uwierzytelniać się za pomocą danych biometrycznych lub danych logowania na urządzeniu oraz wykonywać 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 |
car-app | 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. |
collection | Zmniejsz wpływ na pamięć istniejących i nowych kolekcji o małej objętości. |
compose.animation | tworzyć animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników. |
compose.compiler | 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 | Tworzenie interfejsów Jetpack Compose za pomocą gotowych komponentów Material Design. Jest to punkt wejścia na wyższym poziomie w Compose, który ma na celu udostępnianie komponentów odpowiadających komponentom opisanym na stronie www.material.io. |
compose.material3 | Twórz interfejsy Jetpack Compose za pomocą komponentów Material Design 3, czyli kolejnej generacji Material Design. Material 3 obejmuje zaktualizowane motywy i elementy oraz funkcje personalizacji Material You, takie jak dynamiczne kolory. Jest on spójny z nowym stylem wizualnym Androida 12 i interfejsem systemu. |
compose.material3.adaptive | Korzystaj z biblioteki adaptacyjnej Material 3, aby tworzyć interfejsy adaptacyjne, które będą się automatycznie dostosowywać do bieżących konfiguracji okna, takich jak klasy rozmiarów okien czy postawy urządzenia. Biblioteka zawiera 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 ś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; |
core | kierować się na 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 ujednolicony dostęp do danych logowania użytkownika. Mogą to być hasła, klucze dostępu i uprawnienia federacyjne. Biblioteki tej należy używać, aby zapewnić bezproblemowe i bezpieczne logowanie. |
credentials.registry | Aby rozwiązać te problemy, dodajemy nowy mechanizm rejestru, który umożliwia aplikacji udostępnianie danych logowania w sposób zapewniający ochronę prywatności. Ogólnie rzecz biorąc, aplikacja dostawcy będzie rejestrować z wyprzedzeniem wszystkie dane logowania kandydatów w Menedżerze danych logowania. Gdy Menedżer danych logowania otrzyma żądanie aplikacji dotyczące konkretnego cyfrowego dokumentu tożsamości, uruchomi w sandboksie interfejs dopasowywania danych logowania i selektora użytkowników. |
cursoradapter | Wyświetlanie danych kursora w widżecie ListView. |
customview | Wdrażanie widoków niestandardowych. |
datastore | asynchroniczne, spójne i transakcyjne przechowywanie danych, co pozwala wyeliminować niektóre wady SharedPreferences; |
documentfile | Wyświetlanie dokumentu. |
przeciąganie i upuszczanie | akceptować przeciąganie i upuszczanie danych z innej aplikacji lub w aplikacji oraz wyświetlać spójne miejsce docelowe; |
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 | tworzyć aplikacje gotowe do użytku w firmach. |
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. |
podsumowanie | Tworzenie układów dla zdalnych powierzchni za pomocą interfejsu API w stylu Jetpack Compose. |
grafika | Korzystanie z funkcji graficznych w różnych wersjach platformy Android |
gridlayout | Wprowadź układ siatki. |
health | Twórz wydajne aplikacje związane ze zdrowiem niezależnie 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 | tworzyć najlepsze w swojej klasie aplikacje do rysowania. Zmniejsz barierę wejścia dla deweloperów, aby zapewnić wysoką wydajność i piękne wrażenia z używania funkcji rysowania. |
input | Skrócenie czasu oczekiwania na interakcje z danymi wejściowymi dzięki przewidywaniu przyszłych zdarzeń MotionEvents |
interpolator | Używaj interpolacji animacji na starszych platformach. |
javascriptengine | Umożliw aplikacji na Androida interpretowanie kodu JavaScript. |
jetifier | Samodzielne narzędzie, które migruje zależności biblioteki od wycofanej biblioteki pomocniczej do odpowiednich zależności AndroidX. |
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 | wczytać dane interfejsu, które są odporne na zmiany konfiguracji; |
localbroadcastmanager | Ten artefakt i jego klasy zostały wycofane. Zamiast tego użyj LiveData lub strumieni reaktywnych. |
media | udostępniać 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 przypadkach użycia multimediów. |
mediarouter | Umożliwianie wyświetlania i odtwarzania multimediów na urządzeniach z odległym odbiornikiem za pomocą wspólnego interfejsu użytkownika. |
multidex | Wdrażanie aplikacji z wieloma plikami dex na urządzeniach z Androidem w wersji 5 i starszych. |
dane | Śledzenie i raportowanie różnych danych dotyczących działania aplikacji |
palette | 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; |
drukowanie zdjęć, dokumentów i innych grafik i 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 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 do korzystania z funkcji Piaskownicy prywatności na Androida |
privacysandbox.ui | TODO |
profileinstaller | Umożliwia bibliotekom wstępne wypełnianie śladów kompilacji, które mają być odczytywane przez ART. |
rekomendacja | promować treści na ekranie głównym Androida TV Launcher; |
recyclerview | Wyświetlanie dużych zbiorów danych w interfejsie przy minimalnym wykorzystaniu pamięci. |
remotecallback | Utwórz element opakowujący, który ułatwi deweloperom udostępnianie PendingIntent. |
resourceinspection | Wyświetlanie atrybutów widoków niestandardowych w Menedżerze układu na żywo w Android Studio. |
savedstate | 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 | Bezpieczne zarządzanie kluczami i szyfrowanie plików oraz wspólnych preferencji. |
sharetarget | zapewnić wsteczną zgodność skrótów z docelami udostępniania bezpośredniego; |
slice | wyświetlać szablonowe elementy interfejsu poza aplikacją; |
slidingpanelayout | Wdrożyć wzór interfejsu przesuwanego okienka. |
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 rozmowy, linki, wybrane fragmenty i inne podobne konstrukcje w tekście. |
śledzenie | Zapisywanie zdarzeń z wyszukiwania w buforze wyszukiwania systemowego. |
transition | Animowanie ruchu w interfejsie za pomocą początkowych i końcowych układów. |
tv | Udostępnia deweloperom funkcje Compose i Material Design do tworzenia aplikacji na telewizory. |
tvprovider | Dostarczanie kanałów Androida TV. |
vectordrawable | renderować grafikę wektorową, |
versionedparcelable | Zapewnia stabilny i kompaktowy format serializacji binarnej, który można przekazywać między procesami lub bezpiecznie przechowywać. |
viewpager | wyświetlać widoki lub fragmenty w formacie umożliwiającym przewijanie; Jeśli to możliwe, użyj zamiast tego viewpager2. |
viewpager2 | wyświetlać widoki lub fragmenty w formacie umożliwiającym przewijanie; |
wear | tworzyć aplikacje na zegarki z Wear OS by Google. |
wear.compose | Tworzenie aplikacji Jetpack Compose na potrzeby urządzeń noszonych przez udostępnienie funkcji obsługujących określone urządzenia, rozmiary, kształty i gesty nawigacyjne. |
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 | tworzyć aplikacje na zegarki z Wear OS by Google. |
wear.watchface | tworzyć aplikacje na zegarki z Wear OS by Google. |
webkit | Pracuj z nowoczesnymi interfejsami WebView API na Androidzie 5 i nowszych. |
window | Pomaga w obsługiwaniu różnych formatów urządzeń, takich jak składane urządzenia. |
window.extensions.core | Podstawowe interfejsy API dla rozszerzeń biblioteki menedżera okien |
Nowości
- Utwórz sierpień 2023 r.
- Jetpack Compose 1.5.0 przechodzi do wersji stabilnej i wprowadza istotne ulepszenia wydajności, w tym refaktoryzację modyfikatorów wysokiego poziomu, takich jak „Clickable”, która może skrócić czas tworzenia 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. Obie funkcje uzupełniają się wzajemnie – Wear Compose można używać do tworzenia złożonych ekranów aplikacji na urządzeniach Wear. Kafelki aplikacji można natomiast używać do tworzenia kafelków 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 funkcje, które umożliwiają deweloperom modyfikowanie zachowania podzielonego ekranu, sprawdzanie (i zmienianie) stanu podziału w czasie działania, wdrażanie podziałów poziomych oraz uruchamianie okna modalnego 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