Quickstarters
CRUD Samples
Building a CRUD App with Jetpack Compose?
29 min
aperçu dans ce guide, vous apprendrez à développer une application crud (créer, lire, mettre à jour, supprimer) en utilisant jetpack compose pour android nous illustrerons comment gérer efficacement les opérations de données en intégrant votre application avec back4app le projet commence par la configuration d'une instance back4app nommée basic crud app jetpackcompose , qui servira d'infrastructure backend solide nous décrirons comment concevoir un schéma de base de données optimal en définissant des collections et des champs spécifiques—soit manuellement, soit en utilisant les outils alimentés par l'ia de back4app cela garantit que la structure de données de votre application est suffisamment robuste pour des opérations crud sans faille ensuite, vous configurerez la console d'administration back4app, une interface conviviale par glisser déposer qui simplifie la gestion des données, rendant facile l'exécution des actions crud enfin, vous connecterez votre frontend jetpack compose avec back4app, en utilisant soit le sdk android parse (lorsque cela est applicable), soit des appels api rest directs, tout en appliquant des mesures de sécurité strictes avec des contrôles d'accès avancés à la fin de ce tutoriel, vous aurez une application android qui prend en charge les fonctionnalités crud essentielles, complète avec authentification utilisateur et gestion sécurisée des données ce que vous apprendrez comment construire une application basée sur crud sur android en utilisant jetpack compose méthodes pour créer un backend évolutif avec back4app stratégies pour utiliser la console d'administration intuitive de back4app pour la manipulation des données techniques d'intégration avec soit le sdk android parse soit les api rest conditions préalables avant de continuer, assurez vous d'avoir les éléments suivants prêts un compte back4app avec un projet nouvellement créé si vous avez besoin d'aide, consultez démarrer avec back4app https //www back4app com/docs/get started/new parse app une configuration de développement android avec android studio assurez vous d'avoir la dernière version d'android studio installée avec kotlin une familiarité avec kotlin, jetpack compose et les api restful pour un rapide rappel, visitez la documentation de jetpack compose https //developer android com/jetpack/compose étape 1 – initier votre projet créer un projet back4app connectez vous à votre compte back4app sélectionnez l'option “nouvelle application” depuis votre tableau de bord nommez votre projet basic crud app jetpackcompose et complétez le processus de configuration créer un nouveau projet après la configuration, votre projet sera visible dans la console back4app, posant les bases de votre configuration backend étape 2 – élaborer votre schéma de base de données décrire votre structure de données pour cette application crud, vous définirez plusieurs collections ci dessous se trouvent des collections d'exemple avec les champs et types de données nécessaires, garantissant que votre backend est bien préparé pour gérer les données 1\ collection articles cette collection est utilisée pour stocker les détails de chaque entrée champ type détails id identifiant d'objet identifiant unique généré automatiquement titre chaîne nom ou titre de l'élément description chaîne un bref aperçu de l'article créé à date horodatage du moment où l'élément a été ajouté mis à jour le date horodatage de la dernière mise à jour 2\ collection utilisateurs cette collection gère les profils d'utilisateur et les données d'authentification champ type description id identifiant d'objet clé primaire générée automatiquement nom d'utilisateur chaîne identifiant unique de l'utilisateur email chaîne adresse e mail unique de l'utilisateur hash de mot de passe chaîne mot de passe crypté pour la sécurité créé à date horodatage de création du compte mis à jour le date dernière mise à jour du compte vous pouvez ajouter manuellement ces collections et champs via le tableau de bord back4app en créant de nouvelles classes et en spécifiant les colonnes nécessaires créer une nouvelle classe vous pouvez définir chaque colonne en choisissant un type de données, en lui donnant un nom, en assignant des valeurs par défaut et en déterminant si elle est obligatoire créer une colonne exploiter l'ia de back4app pour la configuration du schéma l'outil ia de back4app peut automatiser la création de votre schéma de base de données en interprétant une invite qui décrit vos collections et champs souhaités cette fonctionnalité accélère considérablement la configuration du projet comment utiliser l'outil ia accéder à l'outil ia connectez vous à votre console back4app et naviguez vers la section ia saisir la description de votre schéma fournissez une invite détaillée décrivant les collections et leurs champs correspondants examiner et appliquer après la génération, examinez le schéma proposé et intégrez le dans votre projet exemple d'invite ia 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) utiliser cette méthode ia garantit que votre base de données est structurée correctement et optimisée pour les besoins de votre application étape 3 – activation de la console d'administration et gestion des fonctions crud introduction à la console d'administration la console d'administration de back4app est une solution polyvalente sans code qui vous permet de superviser et de manipuler vos données backend sans effort son interface intuitive prend en charge les opérations crud par glisser déposer, rendant la gestion des données simple activation de la console d'administration allez dans la section “plus” de votre tableau de bord back4app sélectionnez “console d'administration” puis choisissez “activer la console d'administration ” configurez vos identifiants administratifs en enregistrant votre premier utilisateur administrateur, ce qui établit également les rôles et collections système nécessaires activer l'application admin une fois activée, connectez vous à la console d'administration pour gérer vos collections tableau de bord de l'application admin effectuer des actions crud via la console dans la console d'administration, vous pouvez ajouter des enregistrements utilisez la fonction “ajouter un enregistrement” dans une collection (par exemple, articles) pour insérer de nouvelles entrées voir/modifier des enregistrements cliquez sur n'importe quel enregistrement pour examiner ou modifier ses champs supprimer des enregistrements sélectionnez l'option de suppression pour éliminer les enregistrements obsolètes cette interface simplifiée augmente la productivité en rendant les opérations de backend à la fois accessibles et efficaces étape 4 – connecter jetpack compose avec back4app maintenant que votre backend est configuré, il est temps de lier votre application android construite avec jetpack compose à back4app option a utiliser le sdk android parse ajoutez la dépendance du sdk parse mettez à jour votre build gradle fichier implementation 'com parse\ parse android\ latest version' initialisez parse dans votre classe d'application créez ou mettez à jour votre classe d'application (par exemple, 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() ) } } implémentez le crud dans un écran compose par exemple, créez un écran pour lister les éléments // 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 = "éléments", 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") ? "pas de titre") button(onclick = { / déclencher l'action d'édition / }) { text(text = "modifier") } } } } } } option b utiliser rest ou graphql si vous préférez ne pas utiliser le sdk parse, vous pouvez interagir directement avec back4app en utilisant des api restful ou graphql par exemple, pour récupérer des éléments via rest 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() } } intégrez ces appels d'api dans vos composants compose selon les besoins étape 5 – sécuriser votre backend mise en œuvre des listes de contrôle d'accès (acl) améliorez la sécurité des données en attribuant des acl à vos objets par exemple, pour créer un enregistrement accessible uniquement par son propriétaire 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() } } configuration des autorisations au niveau de la classe (clp) dans votre console back4app, ajustez les clp pour chaque collection cela garantit que seuls les utilisateurs autorisés ou authentifiés peuvent accéder aux données sensibles étape 6 – gestion de l'authentification des utilisateurs configuration des comptes utilisateurs back4app utilise la classe user intégrée de parse pour gérer l'authentification dans votre application jetpack compose, gérez l'inscription et la connexion des utilisateurs en utilisant le sdk parse voici un exemple d'écran d'inscription utilisant 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") } } } vous pouvez implémenter des écrans similaires pour la connexion et la gestion de session des fonctionnalités supplémentaires comme la connexion sociale, la vérification par email et la récupération de mot de passe peuvent être gérées via la console de back4app étape 7 – (non applicable) remarque le déploiement via le web n'est pas applicable dans le contexte de cette application mobile étape 8 – réflexions finales et prochaines étapes félicitations ! vous avez maintenant développé une application crud complète en utilisant jetpack compose et back4app vous avez configuré un projet nommé basic crud app jetpackcompose , conçu un schéma de base de données efficace pour les articles et les utilisateurs, et utilisé la console d'administration back4app pour une gestion facile des données de plus, vous avez intégré votre frontend android avec back4app, en appliquant des mesures de sécurité robustes en cours de route quelles sont les prochaines étapes ? développez votre interface compose améliorez votre application avec des fonctionnalités supplémentaires telles que des vues détaillées des articles, des capacités de recherche et des mises à jour de données en direct incorporez plus de logique backend envisagez d'utiliser des fonctions cloud, d'intégrer des api tierces ou de mettre en œuvre des contrôles d'accès basés sur les rôles apprentissage supplémentaire explorez la documentation back4app https //www back4app com/docs et des tutoriels compose supplémentaires pour optimiser les performances et explorer des intégrations personnalisées en suivant ce tutoriel, vous disposez maintenant des outils pour construire un backend crud sécurisé et efficace pour vos applications android en utilisant jetpack compose et back4app bon codage !