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.
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.
Jetpack-Bibliotheken Alle Bibliotheken ansehen
* Beliebte und häufig verwendete Bibliotheken werden zuerst aufgeführt.
activity * | Auf kombinierbare APIs zugreifen, 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 |
Kamera * | Kamera-Apps für Mobilgeräte entwickeln |
Schreiben * | Definieren Sie Ihre Benutzeroberfläche programmatisch mit zusammensetzbaren Funktionen, die ihre Form- und Datenabhängigkeiten beschreiben. |
databinding * | Binden Sie UI-Komponenten in Ihren Layouts über ein deklaratives Format an Datenquellen in Ihrer App. |
fragment * | Du kannst deine App in mehrere unabhängige Bildschirme aufteilen, die innerhalb einer Aktivität gehostet werden. |
hilt * | 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 * | Hier kannst du deine In-App-UI erstellen und strukturieren, Deeplinks verwenden und zwischen Bildschirmen wechseln. |
paging * | Daten auf Seiten laden und in einem RecyclerView präsentieren |
Raum * | Erstellen, speichern und verwalten Sie persistente Daten, die von einer SQLite-Datenbank gestützt werden. |
test * | Tests unter Android |
work * | Verschiebbare, einschränkende Hintergrundaufgaben planen und ausführen. |
ads | Du kannst eine Werbe-ID mit oder ohne Play-Dienste erhalten. |
Anmerkung | Metadaten zur Verfügung stellen, die Tools und anderen Entwicklern helfen, den Code Ihrer App zu verstehen. |
arch.core | Hilfsprogramm für andere Architekturabhängigkeiten, einschließlich JUnit-Testregeln, die mit LiveData verwendet werden können. |
asynclayoutinflater | Maximieren Sie Layouts asynchron, um Verzögerungen 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 | Authentifizieren Sie sich mit biometrischen oder Geräteanmeldedaten und führen Sie kryptografische Vorgänge aus. |
Bluetooth | Die Bluetooth-Funktionen der Android-Plattform mit abwärtskompatiblen APIs verwenden |
Browser | Webseiten werden im Standardbrowser des Nutzers angezeigt. |
camera.viewfinder | Eigenständiger, kombinierbarer und suchbasierter Sucher für Kamera |
auto-app | Vorlagen für Apps für Android Auto und Android Automotive OS erstellen |
Kartenansicht | Implementieren Sie das Material Design-Kartenmuster mit abgerundeten Ecken und Schlagschatten. |
Sammlung | Reduzieren Sie die Arbeitsspeicherauswirkungen vorhandener und neuer Sammlungen, die klein sind. |
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 | Schreiben Sie Jetpack Compose-Anwendungen mit gebrauchsfertigen Bausteinen und erweitern Sie die Grundlage für den Aufbau Ihrer eigenen Designsysteme. |
compose.material | Jetpack Compose-UIs mit einsatzbereiten Material Design-Komponenten erstellen Dies ist der übergeordnete Einstiegspunkt von Compose. Hier werden Komponenten bereitgestellt, die den unter www.material.io beschriebenen Komponenten entsprechen. |
compose.material3 einfügen | Jetpack Compose-UIs mit Material Design 3 Components erstellen, der nächsten Entwicklung des Material Design Material 3 enthält aktualisierte Designs und Komponenten sowie Funktionen zur Personalisierung von Material You wie dynamische Farben. Das Produkt wurde so entwickelt, dass es zum visuellen Stil und zur System-UI von Android 12 passt. |
compose.material3.adaptive. | Mit der adaptiven Material 3-Bibliothek adaptive UIs erstellen die sich automatisch an das aktuelle Fenster wie Fenstergrößenklassen oder Gerätestatus. Die Bibliothek bietet sowohl Standard-Scaffold-Implementierungen als auch notwendige zusammensetzbare Bausteine um Ihre eigenen Erlebnisse zu schaffen. |
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. |
Content-Pager | Laden und Auslagern von ContentProvider-Daten in einem Hintergrund-Thread |
coordinatorlayout | Positionieren Sie Anwendungs-Widgets der obersten Ebene wie AppBarLayout und FloatingActionButton. |
core | Nutzen Sie die neuesten Plattformfunktionen und APIs und unterstützen Sie gleichzeitig ältere Geräte. |
core.uwb | Implementieren Sie UWB (Ultrabreitband) auf unterstützten Geräten. |
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 eine nahtlose und sichere Anmeldung zu ermöglichen. |
cursoradapter | Cursordaten einem ListView-Widget zur Verfügung stellen |
Benutzerdefinierte Ansicht | Benutzerdefinierte Ansichten implementieren |
Datenspeicher | Speichern Sie Daten asynchron, konsistent und transaktional und eliminieren Sie so einige Nachteile von „SharedPreferences“. |
documentfile | Dateidokument ansehen |
Drag-and-drop | Akzeptieren Sie Drag-and-drop-Daten aus einer anderen App oder innerhalb einer App und zeigen Sie ein einheitliches Angebot an Ziel-Drops. |
drawerlayout | Implementieren Sie ein Material Design-Leisten-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 | Erstellen Sie unternehmensgerechte Anwendungen. |
exifinterface | Lesen und schreiben Sie EXIF-Tags für Bilddateien. |
Spiele | Sie können das Android Game SDK nativ in Ihrer App verwenden, um komplexe Spielaufgaben wie Frame Pacing auszuführen. |
Glance | Erstellen Sie Layouts für Remote-Oberflächen mit einer Jetpack Compose-API. |
Grafiken | Grafikfunktionen für mehrere Releases der Android-Plattform nutzen |
gridlayout | Implementieren Sie ein Rasterlayout. |
gesundheit | Erstellen Sie leistungsstarke Gesundheitsanwendungen auf plattformunabhängige Weise. |
health.connect | Ermöglicht Entwicklern, die Gesundheits- und Fitnessdaten der Nutzer zu lesen oder zu schreiben. |
Heifwriter | Codiert ein Bild oder eine Bildsammlung mit den auf dem Android-Gerät verfügbaren Codecs im HEIF-Format. |
Tinte | Inspiriere erstklassige 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, das die Abhängigkeiten einer Bibliothek von der eingestellten Supportbibliothek zu entsprechenden AndroidX-Abhängigkeiten migriert. |
Leanback | Verwende stattdessen „Compose for TV“. |
alt | Dieses Artefakt und seine Klassen sind eingestellt. 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 UI, die über Konfigurationsänderungen erhalten bleiben. |
localbroadcastmanager | Dieses Artefakt und seine Klassen sind eingestellt. Verwende stattdessen LiveData oder reaktive Streams. |
media | Medieninhalte und Steuerelemente mit anderen Apps teilen Durch media2 ersetzt. |
media2 | Medieninhalte und Steuerelemente mit anderen Apps teilen |
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 mit einer älteren Version von Android 5 bereitstellen |
metrics | Verschiedene Laufzeitmesswerte für Ihre Anwendung verfolgen und melden |
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 eingestellt. Verwenden Sie stattdessen ConstraintLayout und zugehörige Layouts. |
preference | Erstellen Sie interaktive Einstellungsbildschirme, 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 aus. | |
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-bewusste Nutzer |
privacysandbox.tools | Eine Bibliothek zur Nutzung der Privacy Sandbox-Funktionen unter Android |
privacysandbox.ui | Aufgaben |
profileinstaller | Ermöglicht Bibliotheken, Kompilierungs-Traces im Voraus zu füllen, damit sie von ART gelesen werden können. |
Empfehlung | Inhalte auf dem Startbildschirm von Android TV präsentieren |
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-fähige Komponenten, die den UI-Status speichern, wenn ein Prozess abgebrochen wird, und stellen Sie ihn wieder her, wenn der Prozess neu gestartet wird. |
Sicherheitschip | Schlüssel sicher verwalten und Dateien und SharedPreferences verschlüsseln |
sharetarget | Sorgen Sie für Abwärtskompatibilität für die Verwendung von Verknüpfungen als Ziele zum direkten Teilen. |
slice | Vorlagenbasierte UI-Elemente außerhalb Ihrer App anzeigen |
Slidingpane-Layout | Implementieren Sie ein UI-Muster mit gleitendem Bereich. |
start | Implementieren Sie eine einfache, leistungsstarke Methode, um Komponenten beim Start der App zu initialisieren. |
SSQLite | Mit lokalen SQLite-Datenbanken arbeiten Verwenden Sie stattdessen nach Möglichkeit Google Home. |
Wischen-Aktualisieren-Layout | Implementieren Sie das UI-Muster zum Aktualisieren durch Wischen. |
test.uiautomator | Framework für anwendungsübergreifende UI-Tests |
Textklassifikator | Er erkennt Unterhaltungen, Links, Auswahlen und andere ähnliche Konstrukte im Text. |
Tracing | Trace-Ereignisse in den System-Trace-Puffer schreiben. |
transition | Animieren Sie die Bewegung auf 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 werden in einem Swipe-Format angezeigt. Verwenden Sie nach Möglichkeit stattdessen „viewpager2“. |
viewpager2 | Ansichten oder Fragmente lassen sich in einem Swipe-Format anzeigen. |
wear | Erstelle Apps für Wear OS by Google-Smartwatches. |
wear.compose | Jetpack Compose-Anwendungen für Wearable-Geräte schreiben, indem Funktionen zur Unterstützung bestimmter am Körper tragbarer Geräte, Größen, Formen und Navigationsgesten. |
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 Smartwatches mit Wear OS by Google erstellen |
wear.watchface | Erstelle Apps für Wear OS by Google-Smartwatches. |
webkit | Unter Android 5 und höher können Sie moderne WebView APIs verwenden. |
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. Die Compose-Version von August 2023 verbessert außerdem die Speicherzuweisung um bis zu 70 % (insbesondere im Grafikstack), wodurch der Speicherbedarf von Compose auf Geräten reduziert wird.
- 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 gegenseitig: Mit Wear Compose können komplexe App-Bildschirme auf Wear-Geräten erstellt werden und mit Wear-Kacheln können die App-Kacheln erstellt werden. Die neue Version von Wear Compose enthält neue Funktionen wie maximierbare Elemente und Wischen, um Inhalte zu enthüllen. Die Wear-Kacheln unterstützen jetzt auch Widget-Animationen und die Datenbindung der Plattform (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.
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.
Sunflower-Beispiel-App
Hier erfährst du, wie die beliebtesten Jetpack-Bibliotheken in einer App auf Produktionsebene zusammen verwendet werden