Wie man ein Backend für Android erstellt?
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 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.
Um dieses Tutorial abzuschließen, benötigen Sie:
- Ein Back4App-Konto und ein neues Back4App-Projekt Erste Schritte mit Back4App. 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 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. 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. Ihr Back4App-Projekt eingerichtet und Ihre lokale Android-Umgebung bereit zu haben, wird Ihnen helfen, leichter folgen zu können.
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“).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
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.
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).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Installieren Sie das Parse SDK in Ihrem Android-Projekt, indem Sie diese Zeilen zu Ihrem module-level build.gradle:
Wenn Sie das Jitpack-Repository in Ihrem root build.gradle:
Initialisieren Sie Parse in Ihrer Android-Anwendung: Erstellen Sie eine benutzerdefinierte Application-Klasse (z. B. App.java) und konfigurieren Sie die AndroidManifest.xml:
Fügen Sie dann diese benutzerdefinierte Application-Klasse in Ihre AndroidManifest.xml:
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).
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 Möglichkeit, einen Datensatz zu erstellen und zu speichern, besteht darin, die ParseObject-Klasse zu verwenden:
Um die Daten abzufragen:
Alternativ können Sie die REST API Endpunkte von Back4App verwenden:
Back4App bietet auch eine GraphQL-Schnittstelle:
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.
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.
![Neue Klasse erstellen Neue Klasse erstellen](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
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.
![Spalte erstellen Spalte erstellen](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/DEh9vyxdBTZcslXxkVQMA_image.png?format=webp)
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.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
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:
Wenn Sie abfragen, können Sie Zeiger-Daten einbeziehen:
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 um zu abonnieren. Die Schritte sind ähnlich wie auf anderen Plattformen, aber Sie integrieren einen LiveQueryClient:
Dann:
Durch das Abonnieren erhalten Sie Echtzeitbenachrichtigungen, 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.
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.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
Eine ACL wird auf einzelne Objekte angewendet, um zu bestimmen, welche Benutzer, Rollen oder die Öffentlichkeit Lese-/Schreiboperationen durchführen können. Zum Beispiel:
![ACL bearbeiten ACL bearbeiten](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/3YNfxEcv7CKdLC6ca8my6_image.png?format=webp)
CLPs regeln die Standardberechtigungen einer gesamten Klasse, wie 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.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/MF1Uf7HSJF03Xg6djap9m_image.png?format=webp)
Diese Berechtigungen setzen die Basis, 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.
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.
Eine einfache Cloud Code-Funktion, die die Länge eines von der Clientseite gesendeten Textstrings berechnet:
- 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.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/pGxBQFBhk4prMc8Ub-uho_image.png?format=webp)
Von Android (Java) unter Verwendung des Parse SDK:
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.
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.
In einer Android-Anwendung, die Java verwendet, können Sie einen neuen Benutzer erstellen:
Melden Sie einen bestehenden Benutzer an:
Über REST könnte eine Anmeldung so aussehen:
Nach einer erfolgreichen Anmeldung erstellt Parse ein Sitzungstoken das im Benutzerobjekt gespeichert wird. Sie können den aktuell angemeldeten Benutzer überprüfen:
Sie können sich abmelden:
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.
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 Wiederherstellung des Passworts.
Parse enthält die ParseFile-Klasse zum Verarbeiten von Datei-Uploads, die Back4app sicher speichert:
Fügen Sie die Datei einem Objekt hinzu:
Rufen Sie die Datei-URL ab:
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.
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.
- 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.
Passwortzurücksetzung in Java auslösen:
Verwenden Sie Cloud-Jobs in Back4App, um wiederkehrende Aufgaben zu planen, wie das Bereinigen alter Daten oder das Versenden täglicher E-Mails. Beispiel:
Planen Sie es im Back4App-Dashboard > App-Einstellungen > Servereinstellungen > Hintergrundjobs.
![Planung eines Cloud-Jobs Planung eines Cloud-Jobs](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Webhooks ermöglichen es Ihrer Back4App-App, HTTP-Anfragen an einen externen Dienst zu senden, wenn bestimmte Ereignisse eintreten, z. B. das Senden von Daten an einen Drittanbieterdienst wie Stripe.
- Navigieren Sie zu Webhooks in Ihrem Back4App-Dashboard > Mehr > WebHooks.
- Webhook hinzufügen mit Ihrem externen Endpunkt.
- Trigger konfigurieren für relevante Ereignisse.
![Hinzufügen eines Webhooks Hinzufügen eines Webhooks](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
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.
- Gehen Sie zu App-Dashboard > Mehr > Admin App und klicken Sie auf Admin App aktivieren.
![Admin-App aktivieren Admin-App aktivieren](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
Erstellen Sie einen ersten Admin-Benutzer und eine Subdomain, und Sie haben eine Web-Benutzeroberfläche für die Datenverwaltung.
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!
- 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.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)