Android Jetpack
Jetpack ist eine Suite von Bibliotheken, die Entwickler dabei unterstützen sollen, Best Practices umzusetzen, Boilerplate-Code zu reduzieren und Code zu schreiben, der mit allen Android-Versionen und -Geräten einheitlich funktioniert. So können sich Entwickler auf den für sie wichtigen Code konzentrieren.
Jetpack Compose
UI mit „Compose“ entwickeln
Ein modernes Toolkit zum Erstellen nativer Benutzeroberflächen, mit dem du die UI-Entwicklung für Android vereinfachen und beschleunigen kannst.
Jetpack verwenden
Grundlagenschulung
Im Kurs „Android-Grundlagen mit Compose“ kannst du die wichtigsten Jetpack-Bibliotheken kennenlernen und den Textbaustein in deiner App reduzieren
Praktische Anleitung
Mit drei Jetpack-Bibliotheken können Sie Ihre Datenschicht in der Praxis vereinfachen: LiveData, ViewModel und Room.
Jetzt in der Android-Beispiel-App
Hier erfährst du, wie die moderne Android-Architektur in einer realen App implementiert wird.
Jetpack-Bibliotheken Alle Bibliotheken ansehen
* Beliebte und häufig verwendete Bibliotheken werden zuerst aufgeführt.
activity * | Zugriff auf kombinierbare APIs, die auf Aktivitäten basieren |
appcompat * | Ermöglicht den Zugriff auf neue APIs auf älteren API-Versionen der Plattform (viele mit Material Design). |
appsearch * | Benutzerdefinierte In-App-Suchfunktionen für Ihre Nutzer erstellen |
camera * | Kamera-Apps für Mobilgeräte entwickeln |
compose * | Definieren Sie Ihre Benutzeroberfläche programmatisch mit kombinierbaren Funktionen, die ihre Form und Datenabhängigkeiten beschreiben. |
databinding * | Binden Sie UI-Komponenten in Ihren Layouts mithilfe eines deklarativen Formats an Datenquellen in Ihrer App. |
fragment * | Segmentieren Sie Ihre App in mehrere unabhängige Bildschirme, die in einer Aktivität gehostet werden. |
Knauf * | Die Funktionalität von Dagger Hilt wurde erweitert, um die Abhängigkeitsinjektion bestimmter Klassen aus den androidx-Bibliotheken zu ermöglichen. |
lifecycle * | Erstellen Sie Lifecycle-orientierte Komponenten, die das Verhalten je nach aktuellem Lebenszyklusstatus einer Aktivität oder eines Fragments anpassen können. |
Material Design-Komponenten * | Modulare und anpassbare Material Design-UI-Komponenten für Android |
navigation * | In-App-UI erstellen und strukturieren, Deeplinks verarbeiten und zwischen Bildschirmen wechseln |
Seitenwechsel * | Daten auf Seiten laden und in einem RecyclerView präsentieren |
room * | Persistente Daten erstellen, speichern und verwalten, die von einer SQLite-Datenbank unterstützt werden. |
test * | Tests unter Android |
work * | Verschiebbare, einschränkende Hintergrundaufgaben planen und ausführen. |
ads | Werbe-ID mit oder ohne Play-Dienste abrufen |
Anmerkung | Metadaten freigeben, die Tools und anderen Entwicklern helfen, den Code Ihrer App zu verstehen. |
arch.core | Helfer für andere Architekturabhängigkeiten, einschließlich JUnit-Testregeln, die mit LiveData verwendet werden können. |
asynclayoutinflater | Layouts asynchron einblenden, um Ruckler in der Benutzeroberfläche zu vermeiden. |
autofill | Verbessern Sie die Genauigkeit des automatischen Ausfüllens durch erweiterte Hinweise. |
Benchmark | Sie können die Leistung Ihres Codes in Android Studio genau messen. |
biometrische | Authentifizierung mit biometrischen Verfahren oder Geräte-Anmeldedaten und kryptografische Vorgänge ausführen. |
bluetooth | Verwenden Sie die Bluetooth-Funktionen der Android-Plattform mit abwärtskompatiblen APIs. |
Browser | Webseiten werden im Standardbrowser des Nutzers angezeigt. |
camera.viewfinder | Eigenständiger, zusammensetzbarer und ansichtsbasierter Sucher für Kameras“ |
car-app | Apps mit Vorlagen für Android Auto und Android Automotive OS entwickeln |
cardview | Implementieren Sie das Kartenmuster von Material Design mit abgerundeten Ecken und Schatten. |
collection | Speicherbelastung von kleinen vorhandenen und neuen Sammlungen reduzieren |
compose.animation | Sie können Animationen in ihren Jetpack Compose-Anwendungen erstellen, um die Nutzerfreundlichkeit zu verbessern. |
compose.compiler | @Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in aktivieren |
compose.foundation | Erstellen Sie Jetpack Compose-Anwendungen mit vorgefertigten Bausteinen und erweitern Sie die Grundlage, um eigene Designsystem-Elemente zu erstellen. |
compose.material | Erstellen Sie Jetpack Compose-UIs mit vorgefertigten Material Design-Komponenten. Dies ist der übergeordnete Einstiegspunkt von Compose. Er wurde entwickelt, um Komponenten bereitzustellen, die denen auf www.material.io entsprechen. |
compose.material3 | Erstellen Sie Jetpack Compose-UIs mit Material Design 3-Komponenten, der nächsten Weiterentwicklung von Material Design. Material 3 umfasst aktualisierte Themen und Komponenten sowie Personalisierungsfunktionen von Material You wie dynamische Farben. Es wurde so konzipiert, dass es zum neuen visuellen Stil und zur System-UI von Android 12 passt. |
compose.material3.adaptive | Mit der adaptiven Material 3-Bibliothek können Sie adaptive Benutzeroberflächen erstellen, die sich automatisch an die aktuellen Fensterkonfigurationen wie Fenstergrößenklassen oder Gerätepositionen anpassen. Die Bibliothek bietet sowohl Standard-Scaffold-Implementierungen als auch die erforderlichen Baustein-Kompositen, um eigene benutzerdefinierte Funktionen zu erstellen. |
compose.runtime | Grundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie die Kernlaufzeit, auf die das Compose-Compiler-Plug-in ausgerichtet ist. |
compose.ui | Grundlegende Komponenten der Compose-Benutzeroberfläche, die für die Interaktion mit dem Gerät erforderlich sind, einschließlich Layout, Zeichnen und Eingabe. |
gleichzeitig | Verschieben Sie Aufgaben mithilfe von Tasks aus dem Haupt-Thread und nutzen Sie ListenableFuture. |
constraintlayout | Mithilfe der relativen Positionierung können Sie Widgets flexibel positionieren und skalieren. |
contentpager | Laden und Auslagern von ContentProvider-Daten in einem Hintergrund-Thread |
coordinatorlayout | Positionieren Sie Anwendungs-Widgets der obersten Ebene, z. B. AppBarLayout und FloatingActionButton. |
core | Sie können die neuesten Plattformfunktionen und APIs nutzen und gleichzeitig ältere Geräte unterstützen. |
core.uwb | Implementieren Sie UWB (Ultrabreitband) auf unterstützten Geräten. |
credentials | Diese Bibliothek bietet einheitlichen Zugriff auf die Anmeldedaten eines Nutzers. Dazu gehören Passwörter, Passkeys und föderierte Anmeldedaten. Diese Bibliothek sollte verwendet werden, um eine nahtlose und sichere Anmeldung zu ermöglichen. |
credentials.registry | Um diese Probleme zu lösen, fügen wir einen neuen Registrierungsmechanismus hinzu, mit dem eine App digitale Anmeldedaten datenschutzfreundlich bereitstellen kann. Im Allgemeinen registriert die Anbieter-App alle ihre potenziellen digitalen Anmeldedaten vorab im Anmeldedaten-Manager. Wenn der Anmeldedaten-Manager eine App-Anfrage für eine bestimmte digitale Anmeldedaten erhält, führt er die Anmeldedatenabgleichs- und Nutzerauswahl-Benutzeroberfläche in einer Sandbox aus. |
cursoradapter | Cursordaten für ein ListView-Widget freigeben |
customview | Implementieren Sie benutzerdefinierte Ansichten. |
datastore | Daten asynchron, konsistent und transaktional speichern, um einige der Nachteile von SharedPreferences zu vermeiden |
documentfile | Dateidokument ansehen |
draganddrop | Akzeptieren Sie Drag-and-drop-Daten aus einer anderen App oder innerhalb einer App und zeigen Sie ein einheitliches Drop-Target-Affordance an. |
drawerlayout | Implementieren Sie ein Material Design-Schieberegler-Widget. |
dynamicanimation | Mit einer physikbasierten Animations-API flüssige Animationen erstellen |
Emoji | Emojis auf aktuellen und älteren Geräten anzeigen |
emoji2 | Emojis auf aktuellen und älteren Geräten anzeigen |
Unternehmen | Unternehmenstaugliche Anwendungen erstellen |
exifinterface | EXIF-Tags von Bilddateien lesen und schreiben. |
Spiele | Verwenden Sie das Android Game SDK nativ in Ihrer App, um komplexe Aufgaben wie Frame Pacing auszuführen. |
Glance | Layouts für Remote-Oberflächen mit einer Jetpack Compose-API erstellen |
graphics | Grafikfunktionen für mehrere Android-Plattformversionen nutzen |
gridlayout | Implementieren Sie ein Rasterlayout. |
gesundheit | Plattformunabhängig leistungsstarke Gesundheits-Apps erstellen |
health.connect | Ermöglicht es Entwicklern, die Gesundheits- und Fitnessdaten von Nutzern zu lesen oder zu schreiben. |
heifwriter | Ein Bild oder eine Bildsammlung mit den auf dem Android-Gerät verfügbaren Codecs im HEIF-Format codieren |
Ink | Inspirieren Sie die Entwickler von erstklassigen Stift-Apps. Die Einstiegshürden für Entwickler für leistungsstarke und ansprechende Zeichenfunktionen senken. |
input | Latenz von Eingabeinteraktionen reduzieren, indem zukünftige MotionEvents vorhergesagt werden |
Interpolator | Animationsinkubator auf älteren Plattformen verwenden |
javascriptengine | Aktivieren Sie in Ihrer Android-App die JavaScript-Auswertung. |
jetifier | Ein eigenständiges Tool, mit dem die Abhängigkeiten einer Bibliothek von der eingestellten Supportbibliothek zu entsprechenden AndroidX-Abhängigkeiten migriert werden. |
Leanback | Verwende stattdessen „Compose for TV“. |
Legacy | Dieses Artefakt und seine Klassen sind veraltet. Ab Android 8 ist diese Klasse aufgrund von Einschränkungen bei der Hintergrundüberprüfung nicht mehr nützlich. |
lint | Lint-Prüfungen zur Überprüfung der Verwendung von Gradle-APIs |
loader | Laden Sie Daten für Ihre Benutzeroberfläche, die bei Konfigurationsänderungen erhalten bleiben. |
localbroadcastmanager | Dieses Artefakt und seine Klassen sind veraltet. Verwenden Sie stattdessen LiveData oder reaktive Streams. |
media | Medieninhalte und Steuerelemente für andere Apps freigeben Wurde durch „media2“ ersetzt. |
media2 | Medieninhalte und Steuerelemente für andere Apps freigeben |
media3 * | Bibliotheken für Medienanwendungsfälle unterstützen |
mediarouter | Aktivieren Sie die Medienanzeige und -wiedergabe auf Remote-Empfängergeräten mit einer gemeinsamen Benutzeroberfläche. |
multidex | Anwendungen mit mehreren dex-Dateien auf Geräten vor Android 5 bereitstellen |
metrics | Verschiedene Laufzeitmesswerte für Ihre Anwendung erfassen und erfassen |
palette | Repräsentative Farbpaletten aus Bildern extrahieren |
Eine Bibliothek, mit der Apps die Möglichkeit zum Ansehen von PDF-Dateien hinzugefügt werden kann. | |
percentlayout | Dieses Artefakt und seine Klassen sind veraltet. Verwenden Sie stattdessen ConstraintLayout und zugehörige Layouts. |
preference | Sie können interaktive Einstellungsbildschirme erstellen, ohne mit dem Gerätespeicher interagieren oder die Benutzeroberfläche verwalten zu müssen. |
Drucken Sie Fotos, Dokumente und andere Grafiken und Bilder aus Ihrer App. | |
privacysandbox.activity | Aufgaben |
privacysandbox.ads | Diese Bibliothek ermöglicht die Einbindung in datenschutzfreundliche APIs, die Teil der Privacy Sandbox für Android sind. |
privacysandbox.plugins | Android Privacy Sandbox Sdk Library Gradle Plugin |
privacysandbox.sdkruntime | Diese Bibliothek bietet Komponenten für SdkRuntime-kompatible Nutzer. |
privacysandbox.tools | Eine Bibliothek zur Nutzung der Privacy Sandbox-Funktionen unter Android |
privacysandbox.ui | Aufgaben |
profileinstaller | Ermöglicht es Bibliotheken, Kompilierungs-Traces vorab zu füllen, die von ART gelesen werden sollen. |
Empfehlung | Inhalte auf dem Startbildschirm des Android TV-Launchers bewerben. |
recyclerview | Große Datenmengen in der Benutzeroberfläche anzeigen und gleichzeitig die Arbeitsspeichernutzung minimieren. |
remotecallback | Erstellen Sie einen Wrapper, mit dem Entwickler leichter einen PendingIntent bereitstellen können. |
resourceinspection | Die Attribute benutzerdefinierter Ansichten im Live Layout Inspector von Android Studio anzeigen |
savedstate | Schreiben Sie Plug-in-Komponenten, die den UI-Status speichern, wenn ein Prozess beendet wird, und ihn wiederherstellen, wenn der Prozess neu gestartet wird. |
Sicherheitschip | Schlüssel sicher verwalten und Dateien und SharedPreferences verschlüsseln |
sharetarget | Abwärtskompatibilität für die Verwendung von Tastenkürzeln als Ziele für die direkte Freigabe |
slice | Vorlagenbasierte UI-Elemente außerhalb Ihrer App anzeigen |
slidingpanelayout | Implementieren Sie ein UI-Muster mit einem Schiebefeld. |
start | Implementieren Sie eine einfache, leistungsstarke Möglichkeit, Komponenten beim Starten der App zu initialisieren. |
sqlite | Mit lokalen SQLite-Datenbanken arbeiten Verwenden Sie stattdessen nach Möglichkeit Google Home. |
swiperefreshlayout | Implementieren Sie das UI-Muster „Wischen zum Aktualisieren“. |
test.uiautomator | Framework für funktionale UI-Tests für mehrere Apps |
Textklassifikator | Er erkennt Unterhaltungen, Links, Auswahlen und andere ähnliche Konstrukte im Text. |
Tracing | Trace-Ereignisse in den System-Trace-Puffer schreiben. |
transition | Animieren Sie Bewegungen in der Benutzeroberfläche mit Start- und Endlayouts. |
tv | Bietet Entwicklern Compose- und Material Design-Funktionen, um Apps für Fernseher zu entwickeln |
tvprovider | Android TV-Kanäle bereitstellen |
vectordrawable | Vektorgrafiken rendern |
versionedparcelable | Bietet ein stabiles und kompaktes binäres Serializationsformat, das zwischen Prozessen übergeben oder sicher gespeichert werden kann. |
viewpager | Ansichten oder Fragmente in einem wischbaren Format anzeigen Verwenden Sie nach Möglichkeit stattdessen viewpager2. |
viewpager2 | Ansichten oder Fragmente in einem wischbaren Format anzeigen |
wear | Apps für Wear OS by Google-Smartwatches erstellen |
wear.compose | Erstellen Sie Jetpack Compose-Anwendungen für Wearables, indem Sie Funktionen zur Unterstützung von Wearables-spezifischen Geräten, Größen, Formen und Navigationsgesten bereitstellen. |
wear.protolayout | Mit dieser Bibliothek können Sie eine Reihe von UI-Layouts und nicht UI-Ausdrücken definieren, die auf Remote-Oberflächen gerendert/bewertet werden sollen. |
wear.tiles | Apps für Wear OS by Google-Smartwatches erstellen |
wear.watchface | Apps für Wear OS by Google-Smartwatches erstellen |
webkit | Unterstützung moderner WebView APIs unter Android 5 und höher |
Fenster | Hilft, verschiedene Geräteformfaktoren wie faltbare Geräte zu unterstützen. |
window.extensions.core | Die Haupt-APIs für Erweiterungen der Window Manager Library |
Das ist neu
- Compose August 2023
- Jetpack Compose 1.5.0 ist jetzt als stabile Version verfügbar und bietet erhebliche Leistungsverbesserungen. Dazu gehört eine Refaktorisierung von übergeordneten Modifikatoren wie „Clickable“, die die Zusammenstellungszeit um 80 % verkürzen kann. August 2023 Compose verbessert auch die Arbeitsspeicherzuweisung um bis zu 70 % (insbesondere im Grafik-Stack), was den Arbeitsspeicherbedarf von Editoren auf Geräten verringert.
- Wear Compose und Kacheln 1.2
- Sowohl Wear Compose- als auch Wear-Kacheln wurden in die stabile Version verschoben, um WearOS-Entwicklern noch mehr Komfort zu bieten. Beide ergänzen sich. Wear Compose kann verwendet werden, um komplexe App-Bildschirme auf Wear-Geräten zu erstellen, und Wear-Kacheln können zum Erstellen der App-Kacheln verwendet werden. Die neue Version von Wear Compose enthält neue Funktionen wie einblendbare Elemente und zum Anzeigen wischen. Die neue Wear-Kacheln-Version unterstützt jetzt auch Widget-Animationen und Plattformdatenbindung (z. B. Gesundheitsdatenquelle).
- Fenster 1.1
- 1.1 stabilisiert APIs für die Einbettung von Aktivitäten, sodass Apps wie WhatsApp, eBay und Temu große Bildschirmlayouts bereitstellen können. Die API ist mit Funktionen angereichert, da sie es Entwicklern ermöglicht, das Splitscreen-Verhalten zu ändern, den geteilten Status während der Laufzeit zu prüfen (und zu ändern), horizontale Aufteilungen zu implementieren und ein modales Fenster im Vollbildmodus zu starten.
- Versionshinweise
- Weitere Informationen finden Sie in den Versionshinweisen.
Warum Android Jetpack?
Angewandtes Wissen
Die Android Jetpack-Bibliotheken, die auf modernen Designpraktiken basieren, ermöglichen dank integrierter Abwärtskompatibilität weniger Abstürze und weniger Speicherlecks.
Boilerplate-Code entfernen
Android Jetpack verwaltet mühsame Aufgaben wie Hintergrundaufgaben, Navigation und Verwaltung des Lebenszyklus, damit Sie sich darauf konzentrieren können, was Ihre App großartig macht.
Fragmentierung reduzieren
Reduziere die Komplexität mit Bibliotheken, die einheitlich für alle Android-Versionen und -Geräte funktionieren.