Quickstarters
Feature Overview
Comment construire un backend pour Android ?
46 min
introduction dans ce tutoriel, vous apprendrez à construire un backend complet pour une application android (java) en utilisant back4app nous allons passer en revue l'intégration des fonctionnalités essentielles de back4app—telles que la gestion de base de données, les fonctions cloud code, les api rest et graphql, l'authentification des utilisateurs, et les requêtes en temps réel (live queries)—pour créer un backend sécurisé, évolutif et robuste qui communique sans problème avec votre client android vous verrez également comment la configuration rapide de back4app et son environnement intuitif peuvent réduire considérablement le temps et les efforts par rapport à la configuration manuelle des serveurs et des bases de données en cours de route, vous acquerrez une expérience pratique avec des fonctionnalités clés, y compris des fonctionnalités de sécurité avancées, la planification de tâches avec cloud jobs, et la configuration de webhooks pour des intégrations externes à la fin de ce tutoriel, vous serez bien préparé à améliorer cette configuration de base en une application prête pour la production, ou à incorporer facilement une logique personnalisée et des api tierces selon vos besoins prérequis pour compléter ce tutoriel, vous aurez besoin de un compte back4app et un nouveau projet back4app commencer avec back4app https //www back4app com/docs/get started/new parse app si vous n'avez pas de compte, vous pouvez en créer un gratuitement suivez le guide ci dessus pour préparer votre projet environnement de développement android (java) de base vous pouvez le configurer en utilisant android studio https //developer android com/studio ou un outil similaire assurez vous d'avoir installé la dernière version du sdk android java (version 8 ou supérieure) vous aurez besoin de java pour compiler et exécuter votre projet android familiarité avec java et les concepts de base d'android documentation des développeurs android https //developer android com/docs si vous êtes nouveau sur android, consultez la documentation officielle ou un tutoriel pour débutants avant de commencer assurez vous d'avoir tous ces prérequis en place avant de commencer avoir votre projet back4app configuré et votre environnement android local prêt vous aidera à suivre plus facilement étape 1 – configuration du projet back4app créer un nouveau projet la première étape pour construire votre backend android sur back4app consiste à créer un nouveau projet si vous ne l'avez pas encore fait, suivez ces étapes connectez vous à votre compte back4app cliquez sur le bouton “nouvelle application” dans votre tableau de bord back4app donnez un nom à votre application (par exemple, “android backend tutorial”) une fois le projet créé, vous le verrez listé dans votre tableau de bord back4app ce projet sera la base de toutes les configurations backend discutées dans ce tutoriel connecter le sdk parse back4app s'appuie sur la plateforme parse pour gérer vos données, fournir des fonctionnalités en temps réel, gérer l'authentification des utilisateurs, et plus encore connecter votre application android à back4app implique d'installer le sdk android parse et de l'initialiser avec les identifiants de votre tableau de bord back4app récupérez vos clés parse dans votre tableau de bord back4app, accédez à la section “paramètres de l'application” ou “sécurité & clés” de votre application pour trouver votre id d'application et clé client (ou clé javascript si indiqué) vous trouverez également l' url du serveur parse (souvent au format https //parseapi back4app com ) installez le sdk parse dans votre projet android en ajoutant ces lignes à votre module level build gradle dependencies { implementation "com github parse community parse sdk android\ parse\ latest version here" } si vous avez besoin du dépôt jitpack dans votre root build gradle allprojects { repositories { maven { url "https //jitpack io" } } } initialisez parse dans votre application android créez une classe application personnalisée (par exemple, app java ) et configurez le androidmanifest xml package com example app; import android app application; import com parse parse; public class app extends application { @override public void oncreate() { super oncreate(); parse initialize(new parse configuration builder(this) applicationid("your app id") // from back4app clientkey("your client key") // from back4app server("https //parseapi back4app com/") build() ); } } ensuite, ajoutez cette classe application personnalisée dans votre androidmanifest xml \<?xml version="1 0" encoding="utf 8"?> \<manifest > \<application android\ name=" app" > \</application> \</manifest> en complétant cette étape, vous avez établi une connexion sécurisée entre votre front end android et le backend back4app toutes les demandes et transactions de données sont acheminées de manière sécurisée via ce sdk, réduisant la complexité des appels rest ou graphql manuels (bien que vous puissiez toujours les utiliser si nécessaire) étape 2 – configuration de la base de données sauvegarde et requête de données avec votre projet back4app configuré et le sdk parse intégré dans votre application android, vous pouvez maintenant commencer à sauvegarder et à récupérer des données une manière typique de créer et de sauvegarder un enregistrement est d'utiliser la parseobject classe parseobject gamescore = new parseobject("gamescore"); gamescore put("score", 1337); gamescore put("playername", "sean plott"); gamescore put("cheatmode", false); gamescore saveinbackground(e > { if (e == null) { // success! } else { // failed } }); pour interroger les données parsequery\<parseobject> query = parsequery getquery("gamescore"); query whereequalto("playername", "sean plott"); query findinbackground((objects, e) > { if (e == null) { // objects now contains the results } else { // something went wrong } }); alternativement, vous pouvez utiliser les points de terminaison rest api curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"score" 1337, "playername" "sean plott", "cheatmode" false}' \\ https //parseapi back4app com/classes/gamescore back4app fournit également une interface graphql mutation { creategamescore(input { fields { score 1337 playername "sean plott" cheatmode false } }) { gamescore { objectid score playername cheatmode } } } ces options diverses vous permettent d'intégrer des opérations de données de la manière qui convient le mieux à votre processus de développement, que ce soit via le sdk android de parse, rest ou graphql conception de schéma et types de données par défaut, parse permet la création de schéma à la volée , mais vous pouvez également définir vos classes et types de données dans le tableau de bord back4app pour plus de contrôle accédez à la section “base de données” dans votre tableau de bord back4app créez une nouvelle classe (par exemple, “gamescore”) et ajoutez des colonnes pertinentes back4app prend également en charge divers types de données chaîne , nombre , booléen , objet , date , fichier , pointeur, tableau, relation , geopoint , et polygone vous pouvez choisir le type approprié pour chaque champ back4app propose un agent ia qui peut vous aider à concevoir votre modèle de données ouvrez l'agent ia depuis votre tableau de bord d'application ou dans le menu décrivez votre modèle de données dans un langage simple (par exemple, “veuillez créer une nouvelle application todo avec un schéma de classe complet ”) laissez l'agent ia créer le schéma pour vous données relationnelles si vous avez des données relationnelles—disons, un catégorie objet qui pointe vers plusieurs scoredejeu objets—vous pouvez utiliser pointeurs ou relations dans parse par exemple // linking a gamescore to a category with a pointer public void creategamescoreforcategory(string categoryobjectid, int scorevalue) { parseobject gamescore = new parseobject("gamescore"); // construct a pointer to the category parseobject categorypointer = parseobject createwithoutdata("category", categoryobjectid); // set fields gamescore put("score", scorevalue); gamescore put("category", categorypointer); gamescore saveinbackground(e > { if (e == null) { // success } else { // error } }); } lorsque vous interrogez, vous pouvez inclure des données de pointeur parsequery\<parseobject> query = parsequery getquery("gamescore"); query include("category"); query findinbackground((scores, e) > { if (e == null) { // scores now has category details } }); requêtes en direct pour des mises à jour en temps réel, back4app fournit des requêtes en direct vous pouvez vous abonner aux changements dans une classe spécifique depuis votre application android activer les requêtes en direct dans votre tableau de bord back4app sous les paramètres du serveur de votre application initialiser la requête en direct dans votre code dans android, vous vous appuyez généralement sur la bibliothèque parse livequery android https //github com/parse community/parselivequery android pour vous abonner les étapes sont similaires à celles des autres plateformes, mais vous intégrerez un livequeryclient dependencies { implementation "com github parse community\ parselivequery android\ latest version here" } alors livequeryclient livequeryclient = new livequeryclient builder("wss\ //your subdomain here b4a io", 443) build(); parsequery\<parseobject> query = parsequery getquery("gamescore"); subscriptionhandling\<parseobject> subscriptionhandling = livequeryclient subscribe(query); subscriptionhandling handleevents((query1, event, gamescore) > { switch (event) { case create // a new gamescore object was created break; case update // existing gamescore updated break; case delete // existing gamescore deleted break; default break; } }); en vous abonnant, vous recevez des notifications en temps réel chaque fois qu'un nouvel enregistrement est créé, mis à jour ou supprimé cette fonctionnalité est particulièrement précieuse pour les applications collaboratives ou dynamiques où plusieurs utilisateurs doivent voir les dernières données sans actualiser la page étape 3 – application de la sécurité avec les acl et les clp mécanisme de sécurité back4app back4app prend la sécurité au sérieux en fournissant des listes de contrôle d'accès (acl) et des autorisations au niveau de la classe (clp) ces fonctionnalités vous permettent de restreindre qui peut lire ou écrire des données sur une base par objet ou par classe, garantissant que seuls les utilisateurs autorisés peuvent modifier vos données listes de contrôle d'accès (acl) un acl est appliqué à des objets individuels pour déterminer quels utilisateurs, rôles ou le public peuvent effectuer des opérations de lecture/écriture par exemple public void createprivatescore(int scorevalue, parseuser owneruser) { parseobject gamescore = new parseobject("gamescore"); gamescore put("score", scorevalue); parseacl acl = new parseacl(owneruser); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); gamescore setacl(acl); gamescore saveinbackground(e > { if (e == null) { // success } else { // failed } }); } permissions au niveau de la classe (clp) clp régissent les permissions par défaut d'une classe entière, telles que si la classe est lisible ou écrivable publiquement, ou si seuls certains rôles peuvent y accéder allez sur votre tableau de bord back4app , sélectionnez votre application et ouvrez la base de données section sélectionnez une classe (par exemple, “gamescore”) ouvrez l'onglet des permissions au niveau de la classe configurez vos valeurs par défaut ces permissions établissent la base, tandis que les acl affinent les permissions pour des objets individuels un modèle de sécurité robuste combine généralement à la fois les clp (restrictions larges) et les acl (restrictions fines par objet) pour plus d'informations, allez à directives de sécurité de l'application https //www back4app com/docs/security/parse security étape 4 – écriture et déploiement des fonctions de code cloud pourquoi cloud code cloud code est une fonctionnalité de l'environnement parse server qui vous permet d'exécuter du code javascript personnalisé côté serveur—sans avoir besoin de gérer vos serveurs ou votre infrastructure en écrivant du cloud code, vous pouvez étendre votre backend back4app avec une logique métier supplémentaire, des validations, des déclencheurs et des intégrations qui s'exécutent de manière sécurisée et efficace sur le parse server fonction d'exemple une simple fonction cloud code qui calcule la longueur d'une chaîne de texte envoyée par le client main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); déploiement back4app cli tableau de bord dans le tableau de bord de votre application, allez à cloud code > fonctions copiez/collez votre code dans main js et cliquez sur déployer appeler votre fonction depuis android (java) en utilisant le sdk parse hashmap\<string, object> params = new hashmap<>(); params put("text", "hello back4app"); parsecloud callfunctioninbackground("calculatetextlength", params, (result, e) > { if (e == null) { // result is a hashmap; get the length map\<?, ?> mapresult = (map\<?, ?>) result; object lengthval = mapresult get("length"); // cast to number, etc } else { // handle error } }); vous pouvez également l'appeler via rest ou graphql cette flexibilité vous permet d'intégrer votre logique personnalisée dans votre frontend android ou tout autre client qui prend en charge rest ou graphql étape 5 – configuration de l'authentification des utilisateurs authentification des utilisateurs dans back4app back4app utilise la classe parse user comme base pour l'authentification par défaut, parse gère le hachage des mots de passe, les jetons de session et le stockage sécurisé cela signifie que vous n'avez pas à configurer manuellement des flux de sécurité complexes configuration de l'authentification des utilisateurs dans une application android utilisant java, vous pouvez créer un nouvel utilisateur parseuser user = new parseuser(); user setusername("myusername"); user setpassword("mypassword"); user setemail("email\@example com"); user signupinbackground(e > { if (e == null) { // sign up success } else { // sign up failed } }); connectez un utilisateur existant parseuser logininbackground("myusername", "mypassword", (parseuser, e) > { if (e == null) { // logged in successfully } else { // login failed } }); via rest, une connexion pourrait ressembler à curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ g \\ \ data urlencode 'username=alice' \\ \ data urlencode 'password=secret123' \\ https //parseapi back4app com/login gestion de session après une connexion réussie, parse crée un jeton de session stocké sur l'objet utilisateur vous pouvez vérifier l'utilisateur actuellement connecté parseuser currentuser = parseuser getcurrentuser(); if (currentuser != null) { // user is logged in } else { // no user is logged in } vous pouvez vous déconnecter parseuser logout(); intégration de la connexion sociale back4app et parse peuvent s'intégrer avec des fournisseurs oauth populaires comme google ou facebook par exemple, vous pouvez configurer la connexion facebook en configurant l' facebook app id et en utilisant les parse facebookutils dédiés pour android les instructions détaillées varient, alors référez vous à documentation de connexion sociale https //www back4app com/docs/platform/sign in with apple vérification par e mail et réinitialisation du mot de passe pour activer la vérification par e mail et la réinitialisation du mot de passe accédez aux paramètres d'e mail dans votre tableau de bord back4app activez la vérification par e mail configurez l'adresse d'expédition et les modèles d'e mail cela aide à garantir que l'e mail de votre utilisateur est valide et fournit une méthode de récupération de mot de passe sécurisée étape 6 – gestion du stockage de fichiers téléchargement et récupération de fichiers parse inclut la parsefile classe pour gérer les téléchargements de fichiers, que back4app stocke en toute sécurité file file = new file("/path/to/image jpg"); byte\[] data = // read file as bytes parsefile parsefile = new parsefile("image jpg", data); parsefile saveinbackground(e > { if (e == null) { // file saved } else { // error } }); attachez le fichier à un objet parseobject photo = new parseobject("photo"); photo put("imagefile", parsefile); photo saveinbackground(); récupérer l'url du fichier parsefile imagefile = photo getparsefile("imagefile"); string url = imagefile geturl(); sécurité des fichiers parse server fournit des configurations flexibles pour gérer la sécurité de l'upload de fichiers, y compris le contrôle de l'autorisation des utilisateurs anonymes ou authentifiés à télécharger des fichiers assurez vous de consulter la documentation pour des configurations plus avancées étape 7 – vérification des e mails et réinitialisation du mot de passe aperçu vérifier les e mails garantit que les nouveaux utilisateurs possèdent l'adresse e mail utilisée pour s'inscrire les réinitialisations de mot de passe permettent aux utilisateurs de récupérer leurs comptes en toute sécurité configuration du tableau de bord back4app activer la vérification par e mail dans le tableau de bord de votre application, allez à paramètres de l'e mail activer la réinitialisation du mot de passe configurez le flux d'e mail de réinitialisation du mot de passe code/implémentation déclencher la réinitialisation du mot de passe en java parseuser requestpasswordresetinbackground("email\@example com", e > { if (e == null) { // email sent } else { // something went wrong } }); étape 8 – planification des tâches avec des travaux cloud travaux cloud utilisez travaux cloud dans back4app pour planifier des tâches récurrentes, comme nettoyer les anciennes données ou envoyer des e mails quotidiens exemple parse cloud job('cleanupoldscores', async (request) => { const gamescore = parse object extend('gamescore'); const query = new parse query(gamescore); // e g , remove scores older than 30 days // }); planifiez le dans le tableau de bord back4app > paramètres de l'application > paramètres du serveur > travaux en arrière plan étape 9 – intégration des webhooks webhooks permet à votre application back4app d'envoyer des requêtes http à un service externe chaque fois que certains événements se produisent, par exemple, envoyer des données à un service tiers comme stripe naviguez vers webhooks dans votre tableau de bord back4app > plus > webhooks ajouter un webhook avec votre point de terminaison externe configurer les déclencheurs pour les événements pertinents étape 10 – exploration du panneau d'administration back4app l' application d'administration back4app est une interface de gestion basée sur le web conçue pour les utilisateurs non techniques elle permet des opérations crud rapides et une gestion de données de routine sans écrire de code activation de l'application d'administration allez à tableau de bord de l'application > plus > application d'administration et cliquez sur activer l'application d'administration créer un premier utilisateur administrateur et un sous domaine, et vous aurez une interface web pour l'administration des données conclusion en suivant ce tutoriel complet, vous avez créé un backend sécurisé pour une application android (java) sur back4app configuré une base de données avec des schémas de classe, des types de données et des relations intégré des requêtes en temps réel (requêtes en direct) pour des mises à jour immédiates des données appliqué des mesures de sécurité en utilisant des acl et des clp pour protéger et gérer l'accès aux données implémenté des fonctions cloud code pour exécuter une logique métier personnalisée côté serveur mis en place une authentification utilisateur avec support pour la vérification par e mail et les réinitialisations de mot de passe géré les téléchargements de fichiers et la récupération, avec des contrôles de sécurité des fichiers en option planifié des tâches cloud pour des tâches d'arrière plan automatisées utilisé des webhooks pour s'intégrer à des services externes exploré le panneau d'administration back4app pour la gestion des données avec un frontend android solide (java) et un backend back4app robuste, vous êtes maintenant bien équipé pour développer des applications riches en fonctionnalités, évolutives et sécurisées continuez à explorer des fonctionnalités plus avancées, intégrez votre logique métier et exploitez la puissance de back4app pour vous faire gagner d'innombrables heures dans l'administration des serveurs et des bases de données bon codage ! prochaines étapes construisez une application android prête pour la production en étendant ce backend pour gérer des modèles de données plus complexes, des stratégies de mise en cache et des optimisations de performance intégrez des fonctionnalités avancées telles que des flux d'authentification spécialisés, un contrôle d'accès basé sur les rôles ou des api externes (comme des passerelles de paiement) consultez la documentation officielle de back4app pour des plongées plus profondes dans la sécurité avancée, l'optimisation des performances et l'analyse des journaux explorez d'autres tutoriels sur les applications de chat en temps réel, les tableaux de bord iot ou les services basés sur la localisation vous pouvez combiner les techniques apprises ici avec des api tierces pour créer des applications complexes et réelles