Quickstarters
CRUD Samples
Building a CRUD App with Jetpack Compose?
29 min
übersicht in diesem leitfaden lernen sie, wie sie eine crud (create, read, update, delete) anwendung mit jetpack compose für android entwickeln wir werden veranschaulichen, wie man datenoperationen effektiv verwaltet, indem man ihre app mit back4app integriert das projekt beginnt mit der einrichtung einer back4app instanz namens basic crud app jetpackcompose , die als solide backend infrastruktur dient wir werden skizzieren, wie man ein optimales datenbankschema entwirft, indem man spezifische sammlungen und felder definiert – entweder manuell oder durch die nutzung der ki gestützten tools von back4app dies stellt sicher, dass die datenstruktur ihrer app robust genug für nahtlose crud operationen ist als nächstes konfigurieren sie die back4app admin konsole, eine benutzerfreundliche drag and drop oberfläche, die das datenmanagement vereinfacht und es einfach macht, crud aktionen durchzuführen schließlich verbinden sie ihr jetpack compose frontend mit back4app, indem sie entweder das parse android sdk (wo anwendbar) oder direkte rest api aufrufe verwenden und dabei starke sicherheitsmaßnahmen mit fortschrittlichen zugriffskontrollen durchsetzen am ende dieses tutorials haben sie eine android anwendung, die grundlegende crud funktionalität unterstützt, einschließlich benutzerauthentifizierung und sicherer datenverarbeitung was sie lernen werden wie man eine crud basierte anwendung auf android mit jetpack compose erstellt methoden zur erstellung eines skalierbaren backends mit back4app strategien zur nutzung der intuitiven back4app admin konsole zur datenmanipulation integrationstechniken mit entweder dem parse android sdk oder rest apis voraussetzungen bevor sie fortfahren, stellen sie sicher, dass sie folgendes bereit haben ein back4app konto mit einem neu erstellten projekt wenn sie hilfe benötigen, schauen sie sich erste schritte mit back4app https //www back4app com/docs/get started/new parse app an eine android entwicklungsumgebung mit android studio stellen sie sicher, dass sie die neueste version von android studio zusammen mit kotlin installiert haben vertrautheit mit kotlin, jetpack compose und restful apis für eine schnelle auffrischung besuchen sie die dokumentation zu jetpack compose https //developer android com/jetpack/compose schritt 1 – ihr projekt initiieren ein back4app projekt erstellen melden sie sich bei ihrem back4app konto an wählen sie die option „neue app“ in ihrem dashboard benennen sie ihr projekt basic crud app jetpackcompose und schließen sie den einrichtungsprozess ab neues projekt erstellen nach der einrichtung wird ihr projekt in der back4app konsole sichtbar sein, was die grundlage für ihre backend konfiguration legt schritt 2 – ihr datenbankschema erstellen ihre datenstruktur skizzieren für diese crud app definieren sie mehrere sammlungen unten sind beispiel sammlungen zusammen mit den notwendigen feldern und datentypen aufgeführt, um sicherzustellen, dass ihr backend gut vorbereitet ist, um daten zu verarbeiten 1\ sammlung artikel diese sammlung wird verwendet, um details zu jedem eintrag zu speichern feld typ einzelheiten id objekt id automatisch generierte eindeutige kennung titel zeichenfolge name oder titel des elements beschreibung zeichenfolge eine kurze übersicht über den artikel erstellt am datum zeitstempel, wann der artikel hinzugefügt wurde aktualisiert am datum zeitstempel für das letzte update 2\ sammlung benutzer diese sammlung verwaltet benutzerprofile und authentifizierungsdaten feld typ beschreibung id objekt id automatisch generierter primärschlüssel benutzername zeichenfolge eindeutiger benutzeridentifikator e mail zeichenfolge die eindeutige e mail adresse des benutzers passwort hash zeichenfolge verschlüsseltes passwort zur sicherheit erstellt am datum zeitstempel der kontoerstellung aktualisiert am datum letzte aktualisierung des kontos zeitstempel sie können diese sammlungen und felder manuell über das back4app dashboard hinzufügen, indem sie neue klassen erstellen und die erforderlichen spalten angeben neue klasse erstellen sie können jede spalte festlegen, indem sie einen datentyp auswählen, ihn benennen, standardwerte zuweisen und bestimmen, ob er obligatorisch ist spalte erstellen nutzung der ki von back4app für die schemaeinrichtung das back4app ki tool kann die erstellung ihres datenbankschemas automatisieren, indem es eine eingabeaufforderung interpretiert, die ihre gewünschten sammlungen und felder umreißt diese funktion beschleunigt die projektkonfiguration erheblich so verwenden sie das ki tool zugriff auf das ki tool melden sie sich bei ihrer back4app konsole an und navigieren sie zum ki bereich geben sie ihre schema beschreibung ein geben sie eine detaillierte eingabeaufforderung an, die die sammlungen und deren entsprechende felder umreißt überprüfen und anwenden überprüfen sie nach der erstellung das vorgeschlagene schema und integrieren sie es in ihr projekt beispiel für eine ki eingabeaufforderung create the following collections in my back4app project collection items \ fields \ id objectid (auto generated) \ title string \ description string \ created at date (auto assigned) \ updated at date (auto updated) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto assigned) \ updated at date (auto updated) die verwendung dieser ki methode stellt sicher, dass ihre datenbank korrekt strukturiert und auf die bedürfnisse ihrer app optimiert ist schritt 3 – aktivierung der admin konsole & verwaltung von crud funktionen einführung in die admin konsole die back4app admin konsole ist eine vielseitige, no code lösung, die es ihnen ermöglicht, ihre backend daten mühelos zu überwachen und zu manipulieren ihre intuitive benutzeroberfläche unterstützt drag and drop crud operationen, was die datenverwaltung einfach macht aktivierung der admin konsole gehe zum abschnitt „mehr“ in deinem back4app dashboard wähle „admin konsole“ und wähle dann „admin konsole aktivieren “ richte deine admin anmeldeinformationen ein indem du deinen ersten admin benutzer registrierst, was auch notwendige rollen und systemkollektionen festlegt admin app aktivieren sobald aktiviert, melde dich in der admin konsole an, um deine sammlungen zu verwalten admin app dashboard durchführung von crud aktionen über die konsole in der admin konsole kannst du datensätze hinzufügen verwende die funktion „datensatz hinzufügen“ innerhalb einer sammlung (zum beispiel, artikel), um neue einträge einzufügen datensätze anzeigen/bearbeiten klicke auf einen beliebigen datensatz, um seine felder zu überprüfen oder zu ändern datensätze entfernen wähle die löschoption, um veraltete datensätze zu entfernen diese vereinfachte benutzeroberfläche steigert die produktivität, indem sie backend operationen sowohl zugänglich als auch effizient macht schritt 4 – verbindung von jetpack compose mit back4app jetzt, da ihr backend konfiguriert ist, ist es an der zeit, ihre android app, die mit jetpack compose erstellt wurde, mit back4app zu verknüpfen option a nutzung des parse android sdk fügen sie die parse sdk abhängigkeit hinzu aktualisieren sie ihre build gradle datei implementation 'com parse\ parse android\ latest version' initialisieren sie parse in ihrer anwendungs klasse erstellen oder aktualisieren sie ihre anwendungs klasse (z b myapplication kt ) // myapplication kt package com example basiccrud import android app application import com parse parse class myapplication application() { override fun oncreate() { super oncreate() parse initialize( parse configuration builder(this) applicationid("your application id") clientkey("your client key") server("https //parseapi back4app com") build() ) } } implementieren sie crud in einem compose bildschirm erstellen sie beispielsweise einen bildschirm, um elemente aufzulisten // itemsscreen kt package com example basiccrud import androidx compose foundation layout import androidx compose foundation lazy lazycolumn import androidx compose foundation lazy items import androidx compose material button import androidx compose material text import androidx compose runtime import androidx compose ui modifier import androidx compose ui unit dp import com parse parseobject import com parse parsequery import kotlinx coroutines dispatchers import kotlinx coroutines withcontext @composable fun itemsscreen() { var items by remember { mutablestateof(listof\<parseobject>()) } launchedeffect(unit) { withcontext(dispatchers io) { val query = parsequery getquery\<parseobject>("items") try { val result = query find() items = result } catch (e exception) { e printstacktrace() } } } column(modifier = modifier padding(16 dp)) { text(text = "items", modifier = modifier padding(bottom = 8 dp)) lazycolumn { items(items) { item > row( modifier = modifier fillmaxwidth() padding(8 dp), horizontalarrangement = arrangement spacebetween ) { text(text = item getstring("title") ? "kein titel") button(onclick = { / trigger edit action / }) { text(text = "bearbeiten") } } } } } } option b verwendung von rest oder graphql wenn sie das parse sdk nicht verwenden möchten, können sie direkt mit back4app über restful apis oder graphql interagieren zum beispiel, um elemente über rest abzurufen suspend fun fetchitems() { try { val response = khttp get( url = "https //parseapi back4app com/classes/items", headers = mapof( "x parse application id" to "your application id", "x parse rest api key" to "your rest api key" ) ) // process json response accordingly } catch (e exception) { e printstacktrace() } } integrieren sie diese api aufrufe in ihre compose komponenten nach bedarf schritt 5 – sicherung ihres backends implementierung von zugriffskontrolllisten (acls) verbessern sie die datensicherheit, indem sie acls ihren objekten zuweisen zum beispiel, um einen datensatz zu erstellen, der nur von seinem eigentümer zugänglich ist suspend fun createsecureitem(itemdata map\<string, string>, owneruser parseobject) { val item = parseobject("items") item put("title", itemdata\["title"]) item put("description", itemdata\["description"]) // define acl so that only the owner has read/write privileges val acl = parseacl(owneruser) acl publicreadaccess = false acl publicwriteaccess = false item acl = acl try { item save() println("secure item saved successfully") } catch (e exception) { e printstacktrace() } } konfigurieren von klassenebene berechtigungen (clps) passen sie in ihrer back4app konsole die clps für jede sammlung an dies stellt sicher, dass nur autorisierte oder authentifizierte benutzer auf sensible daten zugreifen können schritt 6 – verwaltung der benutzerauthentifizierung einrichten von benutzerkonten back4app nutzt die integrierte benutzerklasse von parse zur verwaltung der authentifizierung in ihrer jetpack compose app verwalten sie die benutzerregistrierung und den login mit dem parse sdk im folgenden finden sie ein beispiel für einen registrierungsbildschirm mit compose // signupscreen kt package com example basiccrud import androidx compose foundation layout import androidx compose material button import androidx compose material outlinedtextfield import androidx compose material text import androidx compose runtime import androidx compose ui modifier import androidx compose ui unit dp import com parse parseuser @composable fun signupscreen() { var username by remember { mutablestateof("") } var email by remember { mutablestateof("") } var password by remember { mutablestateof("") } column(modifier = modifier padding(16 dp)) { outlinedtextfield( value = username, onvaluechange = { username = it }, label = { text("username") }, modifier = modifier fillmaxwidth() ) spacer(modifier = modifier height(8 dp)) outlinedtextfield( value = email, onvaluechange = { email = it }, label = { text("email") }, modifier = modifier fillmaxwidth() ) spacer(modifier = modifier height(8 dp)) outlinedtextfield( value = password, onvaluechange = { password = it }, label = { text("password") }, modifier = modifier fillmaxwidth() ) spacer(modifier = modifier height(16 dp)) button(onclick = { val user = parseuser() user username = username user email = email user setpassword(password) user signupinbackground { e > if (e == null) { println("user registered successfully!") } else { println("registration error ${'$'}{e message}") } } }) { text(text = "sign up") } } } sie können ähnliche bildschirme für den login und das sitzungsmanagement implementieren zusätzliche funktionen wie soziale anmeldung, e mail verifizierung und passwortwiederherstellung können über die konsole von back4app verwaltet werden schritt 7 – (nicht anwendbar) hinweis die bereitstellung über das web ist in diesem kontext der mobilen app nicht anwendbar schritt 8 – abschließende gedanken und nächste schritte herzlichen glückwunsch! sie haben jetzt eine vollständige crud anwendung mit jetpack compose und back4app entwickelt sie haben ein projekt mit dem namen basic crud app jetpackcompose , ein effektives datenbankschema für artikel und benutzer entworfen und die back4app admin konsole für eine einfache datenverwaltung genutzt darüber hinaus haben sie ihr android frontend mit back4app integriert und dabei robuste sicherheitsmaßnahmen angewendet was kommt als nächstes? erweitern sie ihre compose ui verbessern sie ihre anwendung mit zusätzlichen funktionen wie detaillierten artikelansichten, suchfunktionen und live datenaktualisierungen integrieren sie mehr backend logik erwägen sie die verwendung von cloud funktionen, die integration von drittanbieter apis oder die implementierung von rollenbasierten zugriffskontrollen weiteres lernen erforschen sie die back4app dokumentation https //www back4app com/docs und zusätzliche compose tutorials, um die leistung zu optimieren und benutzerdefinierte integrationen zu erkunden indem sie dieses tutorial befolgt haben, verfügen sie nun über die werkzeuge, um ein sicheres, effizientes crud backend für ihre android anwendungen mit jetpack compose und back4app zu erstellen viel spaß beim programmieren!