Jetpack na Androida
Programowanie UI z użyciem funkcji Compose
Nauka korzystania z jetpacka
Szkolenie podstawowe
Praktyczny samouczek
Teraz w przykładowej aplikacji na Androida
Biblioteki Jetpacka 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 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 interfejsu użytkownika 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 * | Rozszerzenie funkcjonalności Dagger Hilt w celu umożliwienia wstrzykiwania 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 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ępnianie metadanych, które pomagają narzędziom i innym deweloperom zrozumieć kod Twojej aplikacji. |
arch.core | Narzędzie pomocnicze do innych zależności arch, 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 za pomocą interfejsów API zgodnych ze starszymi wersjami. |
przeglądarka | wyświetlać strony internetowe w domyślnej przeglądarce użytkownika; |
camera.media3 | TODO |
camera.viewfinder | Standalone Composable and View based Viewfinder for Camera |
car-app | tworzyć aplikacje na szablonach 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 wrażeń. |
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. |
jednocześnie | 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 | Ładowanie i przeglądanie 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 te 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 selekcji użytkownika. |
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 w pliku. |
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 w stylu 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 | odczytywać i zapisywać tagi 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 | Zezwala deweloperom na odczytywanie i zapisywanie danych o stanie 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 obsługi rysika; 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 weryfikacją 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 media3. |
media2 | udostępniać treści multimedialne i elementy sterujące innym aplikacjom; |
media3 * | Obsługa bibliotek w przypadku zastosowań związanych z multimediami. |
mediarouter | Umożliwianie wyświetlania i odtwarzania multimediów na urządzeniach zdalnie sterowanych za pomocą wspólnego interfejsu użytkownika. |
multidex | Wdrażanie aplikacji z większą liczbą plików dex na urządzeniach z Androidem w wersji wcześniejszej niż 5. |
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. |
wydajność | Zapewnia adnotacje źródła na potrzeby optymalizacji wydajności. |
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 bezpośredniego udostępniania; |
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żywaj zamiast tego 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. |
xr.arcore | Przenoszenie cyfrowych treści do świata rzeczywistego dzięki funkcjom percepcji. |
xr.compose | Tworzenie deklaratywnie układów UI przestrzennego, które korzystają z funkcji przestrzennych Androida XR. |
xr.compose.material3 | tworzenie komponentów i układów Material Design dostosowanych do XR; |
xr.runtime | Rozpocznij niestandardową sesję AR lub 3D za pomocą naszego natywnego środowiska wykonawczego. |
xr.scenecore | tworzyć i modyfikować graf sceny Androida XR za pomocą treści 3D. |
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 nowymi interfejsami WebView API na Androidzie 5 i nowszych. |
window | Pomaga obsługiwać różne formaty urządzeń, np. składane. |
window.extensions.core | Podstawowe interfejsy API dla rozszerzeń biblioteki menedżera okien |
Dlaczego warto korzystać z Androida Jetpack?
Stosowanie sprawdzonych metod
Wyeliminuj powtarzalny kod
Ogranicz fragmentację
Wiadomości i filmy
obsługa wielu linków w pojedynczym ciągu tekstowym;
Updated 22 lutego 2025
Możesz obsługiwać wiele linków w jednym ciągu tekstowym, aby zapewnić użytkownikom opcje dotyczące tego, dokąd mogą przejść, i zwiększyć zaangażowanie.
nadawać styl fragmentom tekstu,
Updated 22 lutego 2025
Możesz nadawać styl fragmentom tekstu, aby zwiększyć czytelność, poprawić wrażenia użytkownika i zachęcić do większej kreatywności dzięki zastosowaniu kolorów i czcionek.
Sprawdzanie danych wejściowych podczas wpisywania przez użytkownika
Updated 22 lutego 2025
Możesz sprawdzać dane wprowadzane przez użytkownika w polu tekstowym, np. imię i nazwisko, adres e-mail, adres lub inne dane kontaktowe. Ta weryfikacja zmniejsza liczbę błędów i oszczędza czas użytkowników.
wczytywanie i wyświetlanie obrazów,
Updated 22 lutego 2025
Aby wyświetlać w aplikacji obrazy związane z treściami i działaniami użytkowników, wczytaj je z dysku lub z zewnętrznego źródła w internecie.
Wyświetlanie paska aplikacji u góry
Updated 6 lutego 2025
Utwórz górny pasek aplikacji, aby ułatwić użytkownikom poruszanie się po aplikacji i dostęp do funkcji, używając komponentu TopAppBar.
Animacja w Compose
Updated 6 lutego 2025
Dowiedz się, jak animować wartości stanu, używając przejść, animacji widoczności lub zmian rozmiaru oraz przejść płynnych, korzystając z interfejsów API animacji kompozytowej.
Wyświetlanie animowanego obrazu
Updated 6 lutego 2025
Możesz zwiększyć interaktywność i zaangażowanie użytkowników w aplikacji, wczytując plik drawable, aby wyświetlać animowane obrazy. Animowane obrazy są przydatne do tworzenia wskaźników ładowania, wskaźników sukcesu lub błędów, ułatwiania tworzenia gry i różnych innych funkcji interfejsu.
Wyświetlanie paska aplikacji
Updated 6 lutego 2025
Pasek aplikacji to element znajdujący się u góry lub u dołu ekranu i zawierający najważniejsze funkcje oraz elementy nawigacji.
Rysowanie tekstu w oknie tworzenia wiadomości
Updated 6 lutego 2025
Dowiedz się, jak używać interfejsów API Compose, które są przeznaczone do rysowania tekstu na płótnie. Ten fragment kodu służy do wyświetlania czcionki emotikonu w zaokrąglonym prostokącie.
Wyświetlanie lub ukrywanie hasła na podstawie przełącznika użytkownika
Updated 6 lutego 2025
Aby zwiększyć bezpieczeństwo i wygodę użytkowników, możesz utworzyć ikonę, która będzie ukrywać lub wyświetlać hasło na podstawie przełącznika.
Zarządzanie zmianami konfiguracji klawiatury odłączanej
Updated 6 lutego 2025
Dowiedz się, jak zarządzać zmianami konfiguracji zewnętrznej klawiatury.
Wyświetlanie obrazu przyciętego do kształtu
Updated 6 lutego 2025
Możesz narysować cienie wokół przyciętego obszaru obrazu, aby wyświetlić obraz w kształcie klipu.
Ograniczanie orientacji aplikacji na telefonach, ale nie na urządzeniach z dużym ekranem
Updated 6 lutego 2025
Ogranicz orientację aplikacji na małych ekranach, ale nie na dużych.
Wyświetlanie listy stronowanej
Updated 6 lutego 2025
Utwórz listę stron, aby użytkownicy mogli przewijać treści, które są zbyt duże, aby zmieścić się na jednym ekranie. Listy stron poziomych mogą ułatwiać użytkownikom poruszanie się po treściach takich jak obrazy, pokazy slajdów czy karuzele produktów. Pionowe listy stron są przydatne w przypadku aplikacji z dużą ilością treści, w których użytkownicy muszą przewijać dużą liczbę elementów, np. artykułów.
Wyświetlanie komponentów interaktywnych
Updated 6 lutego 2025
Wybierz odpowiedni komponent dla interfejsu użytkownika i dowiedz się, jak go zaimplementować w aplikacji.
Dodaj przełącznik, który użytkownicy mogą włączać i wyłączać
Updated 6 lutego 2025
Możesz użyć przełącznika, aby umożliwić użytkownikom wybór jednego z 2 stanów.
Tworzenie elementu reprezentującego złożone elementy
Updated 6 lutego 2025
Element typu element graficzny wizualnie przedstawia złożone elementy, często z ikoną i etykietą.
Testowanie w Compose
Updated 6 lutego 2025
Utwórz pierwsze testy Jetpack Compose. Dowiedz się, jak korzystać z elementów testowych Compose', aby pisać testy UI, używać reguł testów, wyszukiwarek i zasad.
Zarządzanie stanem WebView
Updated 6 lutego 2025
Zarządzaj stanem WebView w przypadku zmian konfiguracji.
Tworzenie pływającego przycisku polecenia (FAB)
Updated 6 lutego 2025
Pływający przycisk polecenia umożliwia użytkownikowi wykonanie głównego działania w aplikacji.
Optymalizacja pod kątem dużych ekranów
Updated 6 lutego 2025
Umożliw aplikacji optymalne działanie na tabletach, urządzeniach składanych i urządzeniach z ChromeOS.
Odrzucanie dotyku dłoni na rysik
Updated 6 lutego 2025
Odrzucanie przypadkowego dotknięcia dłonią rysika.
Tworzenie menu wysuwanego za pomocą komponentu szuflady nawigacyjnej
Updated 6 lutego 2025
Panel nawigacyjny to wysuwane menu nawigacyjne.
wyświetlać wyskakujące okienka z wiadomościami lub prośbami o wprowadzenie danych przez użytkownika;
Updated 6 lutego 2025
Dialogi wyświetlają wyskakujące okienka lub proszą o wprowadzenie danych przez użytkownika na warstwie nad główną treścią aplikacji.
Utwórz element szablonu, który będzie zawierać interfejs użytkownika
Updated 6 lutego 2025
Szkielet zapewnia spójność różnych części interfejsu, takich jak paski aplikacji i pływające przyciski, dzięki czemu aplikacje wyglądają i działają spójnie.
Tworzenie przewijalnego siatki
Updated 6 lutego 2025
Możesz zarządzać dużymi zbiorami danych i treściami dynamicznymi za pomocą siatek opóźnionych, co poprawia wydajność aplikacji. Dzięki elementom kompozytowym siatki o opóźnionym renderowaniu możesz wyświetlać elementy w przewijanym kontenerze rozmieszczonym na wielu kolumnach lub wierszach.
Tworzenie panelu dolnego
Updated 6 lutego 2025
Dolna karta zawiera treści dodatkowe widoczne u dołu ekranu.