Quickstarters
Feature Overview
Wie man ein Backend für Android erstellt?
46 min
einführung in diesem tutorial lernen sie, wie sie ein vollständiges backend für eine android (java) anwendung mit back4app erstellen wir werden die integration wesentlicher back4app funktionen durchgehen – wie z b datenbankverwaltung, cloud code funktionen, rest und graphql apis, benutzerauthentifizierung und echtzeitanfragen (live queries) – um ein sicheres, skalierbares und robustes backend zu erstellen, das nahtlos mit ihrem android client kommuniziert sie werden auch sehen, wie die schnelle einrichtung und die intuitive umgebung von back4app die zeit und den aufwand im vergleich zur manuellen konfiguration von servern und datenbanken drastisch reduzieren können auf dem weg dorthin werden sie praktische erfahrungen mit wichtigen funktionen sammeln, einschließlich fortschrittlicher sicherheitsfunktionen, der planung von aufgaben mit cloud jobs und der einrichtung von webhooks für externe integrationen am ende dieses tutorials sind sie gut vorbereitet, um dieses grundlegende setup in eine produktionsbereite anwendung zu erweitern oder bei bedarf benutzerdefinierte logik und drittanbieter apis einfach zu integrieren voraussetzungen um dieses tutorial abzuschließen, benötigen sie ein back4app konto und ein neues back4app projekt erste schritte mit back4app https //www back4app com/docs/get started/new parse app wenn sie kein konto haben, können sie eines kostenlos erstellen befolgen sie die obige anleitung, um ihr projekt vorzubereiten grundlegende android (java) entwicklungsumgebung sie können dies mit android studio https //developer android com/studio oder einem ähnlichen tool einrichten stellen sie sicher, dass sie das neueste android sdk installiert haben java (version 8 oder höher) sie benötigen java, um ihr android projekt zu kompilieren und auszuführen vertrautheit mit java und grundlegenden android konzepten android entwicklerdokumentation https //developer android com/docs wenn sie neu in android sind, lesen sie die offiziellen dokumente oder ein anfänger tutorial, bevor sie beginnen stellen sie sicher, dass sie alle diese voraussetzungen erfüllt haben, bevor sie beginnen wenn ihr back4app projekt eingerichtet und ihre lokale android umgebung bereit ist, wird es ihnen helfen, leichter mitzukommen schritt 1 – einrichtung des back4app projekts ein neues projekt erstellen der erste schritt beim erstellen ihres android backends auf back4app besteht darin, ein neues projekt zu erstellen wenn sie noch keines erstellt haben, folgen sie diesen schritten melden sie sich bei ihrem back4app konto an klicken sie auf die schaltfläche „neue app“ in ihrem back4app dashboard geben sie ihrer app einen namen (z b „android backend tutorial“) sobald das projekt erstellt ist, wird es in ihrem back4app dashboard aufgeführt dieses projekt wird die grundlage für alle backend konfigurationen sein, die in diesem tutorial besprochen werden verbinden sie das parse sdk back4app basiert auf der parse plattform, um ihre daten zu verwalten, echtzeitfunktionen bereitzustellen, die benutzerauthentifizierung zu handhaben und mehr die verbindung ihrer android anwendung mit back4app umfasst die installation des parse android sdk und die initialisierung mit den anmeldeinformationen aus ihrem back4app dashboard rufen sie ihre parse schlüssel ab navigieren sie in ihrem back4app dashboard zu den „app einstellungen“ oder dem abschnitt „sicherheit & schlüssel“, um ihre anwendungs id und client schlüssel (oder javascript schlüssel falls angegeben) zu finden sie finden auch die parse server url (oft im format https //parseapi back4app com ) installieren sie das parse sdk in ihrem android projekt, indem sie diese zeilen zu ihrem module level build gradle dependencies { implementation "com github parse community parse sdk android\ parse\ latest version here" } wenn sie das jitpack repository in ihrem root build gradle allprojects { repositories { maven { url "https //jitpack io" } } } initialisieren sie parse in ihrer android anwendung erstellen sie eine benutzerdefinierte application klasse (z b app java ) und konfigurieren sie die 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() ); } } fügen sie dann diese benutzerdefinierte application klasse in ihre androidmanifest xml \<?xml version="1 0" encoding="utf 8"?> \<manifest > \<application android\ name=" app" > \</application> \</manifest> durch das abschließen dieses schrittes haben sie eine sichere verbindung zwischen ihrem android frontend und dem back4app backend hergestellt alle anfragen und datenübertragungen werden sicher über dieses sdk geleitet, wodurch die komplexität manueller rest oder graphql aufrufe verringert wird (obwohl sie diese bei bedarf weiterhin verwenden können) schritt 2 – datenbank einrichten daten speichern und abfragen mit ihrem back4app projekt, das eingerichtet und das parse sdk in ihre android app integriert ist, können sie jetzt beginnen, daten zu speichern und abzurufen eine typische methode, um einen datensatz zu erstellen und zu speichern, ist die verwendung der parseobject klasse 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 } }); um die daten abzufragen 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 } }); alternativ können sie die rest api endpunkte von back4app verwenden 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 bietet auch eine graphql schnittstelle mutation { creategamescore(input { fields { score 1337 playername "sean plott" cheatmode false } }) { gamescore { objectid score playername cheatmode } } } mutation { creategamescore(input { fields { score 1337 playername "sean plott" cheatmode false } }) { gamescore { objectid score playername cheatmode } } } diese vielfältigen optionen ermöglichen es ihnen, datenoperationen auf die weise zu integrieren, die am besten zu ihrem entwicklungsprozess passt – sei es über das parse android sdk, rest oder graphql schema design und datentypen standardmäßig erlaubt parse schemaerstellung on the fly , aber sie können auch ihre klassen und datentypen im back4app dashboard definieren, um mehr kontrolle zu haben navigieren sie zum abschnitt “datenbank” in ihrem back4app dashboard erstellen sie eine neue klasse (z b “gamescore”) und fügen sie relevante spalten hinzu back4app unterstützt auch verschiedene datentypen string , number , boolean , object , date , file , pointer, array, relation , geopoint , und polygon sie können den geeigneten typ für jedes feld auswählen back4app bietet einen ai agenten an, der ihnen helfen kann, ihr datenmodell zu entwerfen öffnen sie den ai agenten von ihrem app dashboard oder im menü beschreiben sie ihr datenmodell in einfacher sprache (z b “bitte erstellen sie eine neue todo app mit einem vollständigen klassenschema ”) lassen sie den ai agenten das schema für sie erstellen relationale daten wenn sie relationale daten haben – sagen wir, ein kategorie objekt, das auf mehrere spielpunktzahlen objekte verweist – können sie zeiger oder beziehungen in parse verwenden zum beispiel // 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 } }); } wenn sie abfragen, können sie zeiger daten einbeziehen parsequery\<parseobject> query = parsequery getquery("gamescore"); query include("category"); query findinbackground((scores, e) > { if (e == null) { // scores now has category details } }); echtzeitabfragen für echtzeit updates bietet back4app echtzeitabfragen sie können änderungen in einer bestimmten klasse von ihrer android app abonnieren aktivieren sie echtzeitabfragen in ihrem back4app dashboard unter den servereinstellungen initialisieren sie die echtzeitabfrage in ihrem code in android verlassen sie sich typischerweise auf die parse livequery android bibliothek https //github com/parse community/parselivequery android um zu abonnieren die schritte sind ähnlich wie auf anderen plattformen, aber sie integrieren einen livequeryclient dependencies { implementation "com github parse community\ parselivequery android\ latest version here" } dann 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; } }); durch das abonnieren erhalten sie in echtzeit benachrichtigungen, wann immer ein neuer datensatz erstellt, aktualisiert oder gelöscht wird diese funktion ist besonders wertvoll für kollaborative oder dynamische apps, in denen mehrere benutzer die neuesten daten sehen müssen, ohne die seite zu aktualisieren schritt 3 – anwendung von sicherheit mit acls und clps back4app sicherheitsmechanismus back4app nimmt sicherheit ernst, indem es zugriffskontrolllisten (acls) und klassenebene berechtigungen (clps) diese funktionen ermöglichen es ihnen, einzuschränken, wer daten auf objekt oder klassenbasis lesen oder schreiben kann, und stellen sicher, dass nur autorisierte benutzer ihre daten ändern können zugriffskontrolllisten (acls) eine acl wird auf einzelne objekte angewendet, um zu bestimmen, welche benutzer, rollen oder die öffentlichkeit lese /schreiboperationen durchführen können zum beispiel 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 } }); } klassenebene berechtigungen (clps) clps regeln die standardberechtigungen einer gesamten klasse, wie z b ob die klasse öffentlich lesbar oder schreibbar ist oder ob nur bestimmte rollen darauf zugreifen können gehe zu deinem back4app dashboard , wähle deine app aus und öffne den datenbank abschnitt wähle eine klasse aus (z b „gamescore“) öffne die klassenebene berechtigungen registerkarte konfiguriere deine standardwerte diese berechtigungen setzen die basislinie, während acls die berechtigungen für einzelne objekte verfeinern ein robustes sicherheitsmodell kombiniert typischerweise sowohl clps (breite einschränkungen) als auch acls (fein abgestufte einschränkungen pro objekt) für weitere informationen gehe zu app sicherheitsrichtlinien https //www back4app com/docs/security/parse security schritt 4 – schreiben und bereitstellen von cloud code funktionen warum cloud code cloud code ist eine funktion der parse server umgebung, die es ihnen ermöglicht, benutzerdefinierten javascript code auf der serverseite auszuführen – ohne dass sie ihre server oder infrastruktur verwalten müssen durch das schreiben von cloud code können sie ihr back4app backend mit zusätzlicher geschäftslogik, validierungen, triggern und integrationen erweitern, die sicher und effizient auf dem parse server ausgeführt werden beispiel funktion eine einfache cloud code funktion, die die länge eines von der clientseite gesendeten textstrings berechnet main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); bereitstellung back4app cli dashboard gehen sie im dashboard ihrer app zu cloud code > funktionen kopieren sie ihren code in main js und klicken sie auf bereitstellen aufruf ihrer funktion von android (java) unter verwendung des parse sdk 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 } }); sie können es auch über rest oder graphql diese flexibilität ermöglicht es ihnen, ihre benutzerdefinierte logik in ihr android frontend oder jeden anderen client zu integrieren, der rest oder graphql unterstützt schritt 5 – benutzer authentifizierung konfigurieren benutzer authentifizierung in back4app back4app nutzt die parse user klasse als grundlage für die authentifizierung standardmäßig kümmert sich parse um passwort hashing, sitzungstoken und sichere speicherung das bedeutet, dass sie keine komplexen sicherheitsabläufe manuell einrichten müssen benutzer authentifizierung einrichten in einer android anwendung, die java verwendet, können sie einen neuen benutzer erstellen 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 } }); melden sie einen bestehenden benutzer an parseuser logininbackground("myusername", "mypassword", (parseuser, e) > { if (e == null) { // logged in successfully } else { // login failed } }); über rest könnte eine anmeldung so aussehen 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 sitzungsverwaltung nach einer erfolgreichen anmeldung erstellt parse ein sitzungstoken das im benutzerobjekt gespeichert wird sie können den aktuell angemeldeten benutzer überprüfen parseuser currentuser = parseuser getcurrentuser(); if (currentuser != null) { // user is logged in } else { // no user is logged in } sie können sich abmelden parseuser logout(); integration von sozialem login back4app und parse können mit beliebten oauth anbietern wie google oder facebook zum beispiel können sie die facebook anmeldung einrichten, indem sie die facebook app id konfigurieren und die speziellen parse facebookutils für android verwenden detaillierte anweisungen variieren, daher verweisen sie auf soziale anmeldedokumentation https //www back4app com/docs/platform/sign in with apple e mail verifizierung und passwortzurücksetzung um die e mail verifizierung und passwortzurücksetzung zu aktivieren navigieren sie zu den e mail einstellungen in ihrem back4app dashboard aktivieren sie die e mail verifizierung konfigurieren sie die absenderadresse und die e mail vorlagen dies hilft sicherzustellen, dass die e mail ihres benutzers gültig ist und bietet eine sichere methode zur passwortwiederherstellung schritt 6 – umgang mit dateispeicherung hochladen und abrufen von dateien parse enthält die parsefile klasse zum verarbeiten von datei uploads, die back4app sicher speichert 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 } }); fügen sie die datei einem objekt hinzu parseobject photo = new parseobject("photo"); photo put("imagefile", parsefile); photo saveinbackground(); rufen sie die datei url ab parsefile imagefile = photo getparsefile("imagefile"); string url = imagefile geturl(); dateisicherheit der parse server bietet flexible konfigurationen zur verwaltung der dateiuploadsicherheit, einschließlich der kontrolle, ob anonyme oder authentifizierte benutzer dateien hochladen können stellen sie sicher, dass sie die dokumentation für fortgeschrittene konfigurationen überprüfen schritt 7 – e mail verifizierung und passwortzurücksetzung übersicht die verifizierung von e mails stellt sicher, dass neue benutzer die e mail adresse besitzen, die sie zur anmeldung verwendet haben passwortzurücksetzungen ermöglichen es benutzern, ihre konten sicher wiederherzustellen back4app dashboard konfiguration e mail verifizierung aktivieren gehen sie im dashboard ihrer app zu e mail einstellungen passwortzurücksetzung aktivieren konfigurieren sie den e mail fluss zur passwortzurücksetzung code/implementierung passwortzurücksetzung in java auslösen parseuser requestpasswordresetinbackground("email\@example com", e > { if (e == null) { // email sent } else { // something went wrong } }); schritt 8 – aufgaben mit cloud jobs planen cloud jobs verwenden sie cloud jobs in back4app, um wiederkehrende aufgaben zu planen, wie das bereinigen alter daten oder das versenden täglicher e mails beispiel 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 // }); planen sie es im back4app dashboard > app einstellungen > servereinstellungen > hintergrundjobs schritt 9 – integration von webhooks webhooks ermöglichen es ihrer back4app app, http anfragen an einen externen dienst zu senden, wenn bestimmte ereignisse eintreten, z b daten an einen drittanbieterdienst wie stripe zu senden navigieren sie zu webhooks in ihrem back4app dashboard > mehr > webhooks webhook hinzufügen mit ihrem externen endpunkt trigger konfigurieren für relevante ereignisse schritt 10 – erkundung des back4app admin panels die back4app admin app ist eine webbasierte verwaltungsoberfläche, die für nicht technische benutzer entwickelt wurde sie ermöglicht schnelle crud operationen und routinemäßige datenverwaltung, ohne dass code geschrieben werden muss aktivierung der admin app gehen sie zu app dashboard > mehr > admin app und klicken sie auf admin app aktivieren erstellen sie einen ersten admin benutzer und eine subdomain, und sie haben eine web benutzeroberfläche für die datenverwaltung fazit indem sie dieses umfassende tutorial befolgt haben, haben sie ein sicheres backend erstellt für eine android (java) app auf back4app eine datenbank konfiguriert mit klassenschemas, datentypen und beziehungen echtzeitabfragen integriert (live queries) für sofortige datenaktualisierungen sicherheitsmaßnahmen angewendet unter verwendung von acls und clps, um den datenzugriff zu schützen und zu verwalten cloud code implementiert funktionen, um benutzerdefinierte geschäftslogik auf der serverseite auszuführen benutzerauthentifizierung eingerichtet mit unterstützung für e mail bestätigung und passwortzurücksetzungen datei uploads verwaltet und abrufe, mit optionalen datei sicherheitskontrollen cloud jobs geplant für automatisierte hintergrundaufgaben webhooks verwendet um mit externen diensten zu integrieren das back4app admin panel erkundet für die datenverwaltung mit einem soliden android frontend (java) und einem robusten back4app backend sind sie nun gut gerüstet, um funktionsreiche, skalierbare und sichere anwendungen zu entwickeln erkunden sie weiterhin fortgeschrittene funktionen, integrieren sie ihre geschäftslogik und nutzen sie die leistungsfähigkeit von back4app, um ihnen unzählige stunden in der server und datenbankadministration zu sparen viel spaß beim programmieren! nächste schritte erstellen sie eine produktionsbereite android app indem sie dieses backend erweitern, um komplexere datenmodelle, caching strategien und leistungsoptimierungen zu handhaben integrieren sie fortgeschrittene funktionen wie spezialisierte authentifizierungsabläufe, rollenbasierte zugriffskontrolle oder externe apis (wie zahlungs gateways) sehen sie sich die offizielle dokumentation von back4app an für tiefere einblicke in fortgeschrittene sicherheit, leistungsoptimierung und protokollanalyse erforschen sie andere tutorials zu echtzeit chat anwendungen, iot dashboards oder standortbasierten diensten sie können die hier gelernten techniken mit drittanbieter apis kombinieren, um komplexe, reale anwendungen zu erstellen