Android Jetpack
Jetpack ist eine Suite von Bibliotheken, die Ihnen hilft, Best Practices zu befolgen, Boilerplate-Code zu reduzieren und Code zu schreiben, der auf allen Android-Versionen, Geräten und Formfaktoren konsistent funktioniert. So können Sie sich auf den Code konzentrieren, der Ihnen wichtig ist.
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.
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 übernimmt mühsame Aufgaben wie die Verwaltung von Hintergrundaufgaben, die Navigation und den Aktivitätslebenszyklus, damit Sie sich auf die Entwicklung Ihrer App konzentrieren können.
Fragmentierung reduzieren
Reduziere die Komplexität mit Bibliotheken, die einheitlich für alle Android-Versionen und -Geräte funktionieren.
Für jede Displaygröße entwickeln
Jetpack-Bibliotheken wie androidx.compose.material3.adaptive.layout vereinfachen die Entwicklung adaptiver Layouts, die für alle Anzeigegrößen optimiert sind.
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 * | Auf zusammensetzbare APIs zugreifen, die auf Activity basieren |
| Adaptive Komponenten von Material Design 3 | Adaptive UIs mit Komponenten von Material Design 3 erstellen |
| appcompat * | Ermöglicht den Zugriff auf neue APIs in älteren API-Versionen der Plattform (viele verwenden Material Design) |
| appsearch * | Benutzerdefinierte In‑App-Suchfunktionen für Nutzer erstellen |
| camera * | Mobile Kamera-Apps erstellen |
| compose * | UI programmatisch mit zusammensetzbaren Funktionen definieren, die Form und Datenabhängigkeiten beschreiben |
| databinding * | UI-Komponenten in Layouts mit einem deklarativen Format an Datenquellen in der App binden |
| fragment * | App in mehrere unabhängige Bildschirme segmentieren, die in einer Activity gehostet werden |
| hilt * | Funktionalität von Dagger Hilt erweitern, um die Abhängigkeitsinjektion bestimmter Klassen aus den androidx-Bibliotheken zu ermöglichen |
| lifecycle * | Lebenszyklusbezogene Komponenten erstellen, die das Verhalten basierend auf dem aktuellen Lebenszyklusstatus einer Activity oder eines Fragments anpassen können |
| Material Design Components * | Modulare und anpassbare Material Design-UI-Komponenten für Android |
| navigation * | In‑App-UI erstellen und strukturieren, Deeplinks verarbeiten und zwischen Bildschirmen navigieren |
| paging * | Daten in Seiten laden und in einem RecyclerView präsentieren |
| room * | Permanente Daten erstellen, speichern und verwalten, die von einer SQLite-Datenbank unterstützt werden |
| room3 * | Permanente Daten erstellen, speichern und verwalten, die von einer SQLite-Datenbank unterstützt werden |
| test * | Tests in Android |
| work * | Verschiebbare, einschränkungsbasierte Hintergrundaufgaben planen und ausführen |
| ads | Werbe‑ID mit oder ohne Play-Dienste abrufen |
| annotation | Metadaten verfügbar machen, die Tools und anderen Entwicklern helfen, den Code der App zu verstehen |
| appfunctions | Ermöglicht Apps, Funktionen und Daten mit KI-Assistenten zu teilen, sodass diese Aufgaben direkt auf dem Gerät erkennen und ausführen können, um Nutzeranfragen zu erfüllen |
| arch.core | Helfer für andere Arch-Abhängigkeiten, einschließlich JUnit-Testregeln, die mit LiveData verwendet werden können |
| asynclayoutinflater | Layouts asynchron aufblasen, um Ruckeln in der UI zu vermeiden |
| autofill | Genauigkeit der automatischen Vervollständigung durch erweiterte Hinweise verbessern |
| benchmark | Leistung des Codes in Android Studio genau messen |
| biometric | Mit biometrischen Daten oder Geräteanmeldedaten authentifizieren und kryptografische Vorgänge ausführen |
| bluetooth | Bluetooth-Funktionen der Android-Plattform mit abwärtskompatiblen APIs verwenden |
| browser | Webseiten im Standardbrowser des Nutzers anzeigen |
| camera.featurecombinationquery | Kamerafunktionen abfragen |
| camera.media3 | Aufgaben |
| camera.viewfinder | Eigenständiger zusammensetzbarer und ansichtsbasierter Sucher für die Kamera |
| car-app | Vorlagenbasierte Apps für Android Auto und Android Automotive OS erstellen |
| cardview | Kartenmuster von Material Design mit runden Ecken und Schlagschatten implementieren |
| collection | Speicherbedarf von vorhandenen und neuen kleinen Sammlungen reduzieren |
| compose.animation | Animationen in Jetpack Compose-Anwendungen erstellen, um die Nutzerfreundlichkeit zu verbessern |
| compose.compiler | @Zusammensetzbare Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in ermöglichen |
| compose.foundation | Jetpack Compose-Anwendungen mit sofort einsatzbereiten Bausteinen schreiben und die Grundlage erweitern, um eigene Designsystemkomponenten zu erstellen |
| compose.material | Jetpack Compose-UIs mit sofort einsatzbereiten Material Design-Komponenten erstellen Dies ist der Einstiegspunkt auf höherer Ebene für Compose, der Komponenten bereitstellt, die denen unter www.material.io entsprechen. |
| compose.material3 | Jetpack Compose-UIs mit Material Design 3-Komponenten erstellen, der nächsten Weiterentwicklung von Material Design Material 3 umfasst aktualisierte Designs und Komponenten sowie Material You-Personalisierungsfunktionen wie dynamische Farben und ist auf den neuen visuellen Stil und die System-UI von Android 12 abgestimmt. |
| compose.material3.adaptive | Mit der adaptiven Bibliothek von Material 3 adaptive UIs erstellen, die sich automatisch an die aktuellen Fensterkonfigurationen wie Fenstergrößenklassen oder Gerätepositionen anpassen Die Bibliothek bietet sowohl Standardimplementierungen für das Gerüst als auch die erforderlichen zusammensetzbaren Bausteine, um eigene benutzerdefinierte Erlebnisse zu erstellen. |
| compose.remote | Remote Compose ist ein Framework zum Erstellen von UIs für Remote-Oberflächen |
| compose.runtime | Grundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie die Core-Laufzeit für das Compose-Compiler-Plug-in |
| compose.ui | Grundlegende Komponenten der Compose-UI, die für die Interaktion mit dem Gerät erforderlich sind, einschließlich Layout, Zeichnung und Eingabe |
| concurrent | Aufgaben mit Coroutinen aus dem Haupt-Thread entfernen und ListenableFuture nutzen |
| constraintlayout | Widgets mit relativer Positionierung flexibel positionieren und in der Größe anpassen |
| contentpager | Daten von ContentProvider in einem Hintergrund-Thread laden und paginieren |
| coordinatorlayout | Widgets auf oberster Ebene der Anwendung positionieren, z. B. AppBarLayout und FloatingActionButton |
| core | Die neuesten Plattformfunktionen und APIs nutzen und gleichzeitig ältere Geräte unterstützen |
| core.uwb | UWB (Ultra-Wideband) auf unterstützten Geräten implementieren |
| credentials | Diese Bibliothek bietet einheitlichen Zugriff auf die Anmeldedaten eines Nutzers. Dazu können Passwörter, Passkeys und föderierte Anmeldedaten gehören. Diese Bibliothek sollte verwendet werden, um nahtlose und sichere Anmeldeverfahren zu ermöglichen. |
| credentials.providerevents | Diese Bibliothek bietet eine Reihe von APIs für Anmeldedatenanbieter, um an Anbieterereignissen teilzunehmen, z. B. Anmeldedatenübertragung und Signalisierung von Anmeldedatenänderungen. |
| 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 beim Credential Manager. Wenn der Credential Manager eine App-Anfrage für bestimmte digitale Anmeldedaten erhält, führt er die UI für die Anmeldedatenabstimmung und die Nutzerauswahl in einer Sandbox aus. |
| cursoradapter | Cursor-Daten für ein ListView-Widget verfügbar machen |
| customview | Benutzerdefinierte Ansichten implementieren |
| datastore | Daten asynchron, konsistent und transaktional speichern und so einige Nachteile von SharedPreferences überwinden |
| documentfile | Eine Dateidokumentation ansehen |
| draganddrop | Drag-and-drop-Daten aus einer anderen App oder innerhalb einer App akzeptieren und eine konsistente Drop-Target-Affordance anzeigen |
| drawerlayout | Ein Material Design-Drawer-Widget implementieren |
| 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 |
| enterprise | Anwendungen für Unternehmen erstellen |
| exifinterface | EXIF-Tags von Bilddateien lesen und schreiben |
| games | Android Game SDK nativ in der App verwenden, um komplexe Aufgaben für Spiele auszuführen, z. B. Frame Pacing |
| glance | Layouts für Remote-Oberflächen mit einer Jetpack Compose-ähnlichen API erstellen |
| glance.wear | Glance Wear ist eine Bibliothek zum Erstellen von Widgets für Wear OS |
| graphics | Grafikfunktionen in mehreren Android-Plattformversionen nutzen |
| gridlayout | Ein Rasterlayout implementieren |
| health | Plattformunabhängig leistungsstarke Gesundheits-Apps erstellen |
| health.connect | Ermöglicht Entwicklern, 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 | Erstklassige Stift-Apps entwickeln Die Einstiegshürde für Entwickler für leistungsstarke, ansprechende Stift-Erlebnisse senken |
| input | Latenz von Eingabeinteraktionen durch Vorhersage zukünftiger MotionEvents reduzieren |
| interpolator | Animationsinterpolatoren auf älteren Plattformen verwenden |
| javascriptengine | Android-App ermöglichen, JavaScript auszuwerten |
| jetifier | Eigenständiges Tool, das die Abhängigkeiten einer Bibliothek von der verworfenen Support-Bibliothek zu entsprechenden AndroidX-Abhängigkeiten migriert |
| leanback | Statt dieses Artefakts Compose für TV verwenden |
| legacy | Dieses Artefakt und seine Klassen sind verworfen. Ab Android 8 sind die Einschränkungen für Hintergrundprüfungen so streng, dass diese Klasse nicht mehr nützlich ist. |
| lint | Lint-Prüfungen zur Überprüfung der Verwendung von Gradle-APIs |
| loader | Daten für die UI laden, die Konfigurationsänderungen überdauern |
| localbroadcastmanager | Dieses Artefakt und seine Klassen sind verworfen. Stattdessen LiveData oder reaktive Streams verwenden |
| media | Medieninhalte und ‑steuerungen mit anderen Apps teilen Durch media3 ersetzt |
| media3 * | Support-Bibliotheken für Medienanwendungsfälle |
| mediarouter | Medienwiedergabe und ‑anzeige auf Remote-Empfängergeräten über eine gemeinsame Benutzeroberfläche ermöglichen |
| multidex | Anwendungen mit mehreren DEX-Dateien auf Geräten vor Android 5 bereitstellen |
| metrics | Verschiedene Laufzeitmesswerte für die Anwendung erfassen und melden |
| navigation3 | Navigation 3 ist eine neue Navigationsbibliothek, die für die Verwendung mit Compose entwickelt wurde. |
| navigationevent | Die Bibliothek „Navigation Event“ bietet eine KMP-First-API für die Verarbeitung von System-Back sowie [Predictive Back](/guide/navigation/custom-back/predictive-back-gesture). |
| palette | Repräsentative Farbpaletten aus Bildern extrahieren |
| Eine Bibliothek zum Hinzufügen von PDF-Anzeigefunktionen in Apps | |
| percentlayout | Dieses Artefakt und seine Klassen sind verworfen. Stattdessen ConstraintLayout und zugehörige Layouts verwenden |
| performance | Stellt Quellannotationen für Leistungsoptimierungen bereit |
| photopicker | Diese Bibliothek bietet eine Integration für Compose und Android-Ansichten für die eingebettete Bildauswahl. |
| preference | Interaktive Einstellungsbildschirme erstellen, ohne mit dem Gerätespeicher interagieren oder die UI verwalten zu müssen |
| Fotos, Dokumente und andere Grafiken und Bilder aus der App drucken | |
| privacysandbox.activity | Aufgaben |
| privacysandbox.ads | Diese Bibliothek ermöglicht die Integration mit datenschutzfreundlichen 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-fähige Nutzer |
| privacysandbox.tools | Eine Bibliothek zur Nutzung der Privacy Sandbox-Funktionalität in Android |
| privacysandbox.ui | Aufgaben |
| profileinstaller | Ermöglicht Bibliotheken, Spuren der Ahead-of-Time-Kompilierung vorab zu füllen, damit sie von ART gelesen werden können |
| recommendation | Inhalte auf dem Startbildschirm des Android TV-Launchers bewerben |
| recyclerview | Große Datensätze in der UI anzeigen und gleichzeitig den Speicherverbrauch minimieren |
| remotecallback | Wrapper erstellen, der es Entwicklern erleichtert, ein PendingIntent bereitzustellen |
| resourceinspection | Attribute benutzerdefinierter Ansichten im Live-Layout-Inspector von Android Studio anzeigen |
| savedstate | Plug-in-fähige Komponenten schreiben, die den UI-Status speichern, wenn ein Prozess beendet wird, und ihn wiederherstellen, wenn der Prozess neu gestartet wird |
| security | Schlüssel sicher verwalten und Dateien und Shared Preferences verschlüsseln |
| sharetarget | Abwärtskompatibilität für die Verwendung von Verknüpfungen als direkte Freigabeziele bereitstellen |
| slice | Vorlagenbasierte UI-Elemente außerhalb der App anzeigen |
| slidingpanelayout | Ein UI-Muster mit Schiebefenstern implementieren |
| startup | Eine einfache, leistungsstarke Möglichkeit zum Initialisieren von Komponenten beim Start der App implementieren |
| sqlite | Mit lokalen SQLite-Datenbanken arbeiten Wenn möglich, stattdessen Room verwenden |
| swiperefreshlayout | Das UI-Muster „Zum Aktualisieren wischen“ implementieren |
| test.uiautomator | Framework für funktionales UI-Testing für mehrere Apps |
| textclassifier | Identifiziert Unterhaltungen, Links, Auswahlen und andere ähnliche Konstrukte in Texten |
| tracing | Trace-Ereignisse in den System-Trace-Puffer schreiben |
| transition | Bewegung in der UI mit Start- und Endlayouts animieren |
| tv | Bietet Entwicklern Compose- und Material Design-Funktionen zum Schreiben von Anwendungen für das Fernsehen |
| tvprovider | Android TV-Kanäle bereitstellen |
| text-vertical | Aufgaben |
| xr.arcore | Digitale Inhalte mit Wahrnehmungsfunktionen in die reale Welt bringen |
| xr.compose | Räumliche UI-Layouts deklarativ erstellen, die die räumlichen Funktionen von Android XR nutzen |
| xr.compose.material3 | Mit Material-Komponenten und ‑Layouts erstellen, die sich an XR anpassen |
| xr.glimmer | Designsprache und UI-Toolkit zum Erstellen von erweiterten Android XR-Erlebnissen |
| xr.projected | Erlebnisse erstellen, die die einzigartigen Funktionen verbundener XR-Geräte nutzen |
| xr.runtime | Benutzerdefinierte AR- oder 3D-Sitzung mit unserer nativen Laufzeit starten |
| xr.scenecore | Den Android XR-Szenengraphen mit 3D-Inhalten erstellen und bearbeiten |
| vectordrawable | Vektorgrafiken rendern |
| versionedparcelable | Bietet ein stabiles und kompaktes binäres Serialisierungsformat, das über Prozesse hinweg weitergegeben oder sicher gespeichert werden kann |
| viewpager | Ansichten oder Fragmente in einem wischbaren Format anzeigen Wenn möglich, stattdessen viewpager2 verwenden |
| viewpager2 | Ansichten oder Fragmente in einem wischbaren Format anzeigen |
| wear | Anwendungen für Smartwatches mit Wear OS by Google erstellen |
| wear.compose | Jetpack Compose-Anwendungen für Wear OS-Geräte schreiben, indem Funktionen zur Unterstützung verschiedener Gerätegrößen und Navigationsgesten bereitgestellt werden |
| wear.compose.remote | Aufgaben |
| 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/ausgewertet werden sollen. |
| wear.tiles | Anwendungen für Smartwatches mit Wear OS by Google erstellen |
| wear.watchface | Anwendungen für Smartwatches mit Wear OS by Google erstellen |
| wear.watchfacepush | Mit Watch Face Push kann eine Wear OS-App ein Zifferblatt programmatisch auf einer Smartwatch installieren. |
| webgpu | Eine moderne GPU-API für Grafik und Berechnung von Kotlin |
| webkit | Mit modernen WebView-APIs unter Android 5 und höher arbeiten |
| window | Unterstützung verschiedener Geräteformfaktoren wie faltbarer Geräte |
| window.extensions.core | Die Core-APIs für Window Manager Library Extensions |