Quickstarters
Feature Overview
Come costruire un backend per Android?
46 min
introduzione in questo tutorial, imparerai come costruire un backend completo per un android (java) applicazione utilizzando back4app esploreremo l'integrazione delle funzionalità essenziali di back4app—come la gestione del database, le funzioni cloud code, le api rest e graphql, l'autenticazione degli utenti e le query in tempo reale (live queries)—per creare un backend sicuro, scalabile e robusto che comunica senza problemi con il tuo client android vedrai anche come la rapida configurazione e l'ambiente intuitivo di back4app possano ridurre drasticamente il tempo e lo sforzo rispetto alla configurazione manuale di server e database durante il percorso, acquisirai esperienza pratica con funzionalità chiave, inclusi avanzati strumenti di sicurezza, pianificazione di attività con cloud jobs e configurazione di webhook per integrazioni esterne alla fine di questo tutorial, sarai ben preparato per migliorare questa configurazione di base in un'applicazione pronta per la produzione, o per incorporare facilmente logica personalizzata e api di terze parti secondo necessità prerequisiti per completare questo tutorial, avrai bisogno di un account back4app e un nuovo progetto back4app iniziare con back4app https //www back4app com/docs/get started/new parse app se non hai un account, puoi crearne uno gratuitamente segui la guida sopra per preparare il tuo progetto ambiente di sviluppo android (java) di base puoi configurarlo utilizzando android studio https //developer android com/studio o uno strumento simile assicurati di avere installato l'ultima versione dell'android sdk java (versione 8 o superiore) avrai bisogno di java per compilare ed eseguire il tuo progetto android familiarità con java e concetti di base di android documentazione per sviluppatori android https //developer android com/docs se sei nuovo in android, rivedi la documentazione ufficiale o un tutorial per principianti prima di iniziare assicurati di avere tutti questi prerequisiti in atto prima di iniziare avere il tuo progetto back4app configurato e il tuo ambiente android locale pronto ti aiuterà a seguire più facilmente passo 1 – configurazione del progetto back4app crea un nuovo progetto il primo passo per costruire il tuo backend android su back4app è creare un nuovo progetto se non ne hai già creato uno, segui questi passaggi accedi al tuo account back4app clicca sul pulsante “nuova app” nel tuo dashboard di back4app dai un nome alla tua app (ad esempio, “android backend tutorial”) una volta creato il progetto, lo vedrai elencato nel tuo dashboard di back4app questo progetto sarà la base per tutte le configurazioni del backend discusse in questo tutorial collegare il parse sdk back4app si basa sulla parse platform per gestire i tuoi dati, fornire funzionalità in tempo reale, gestire l'autenticazione degli utenti e altro ancora collegare la tua applicazione android a back4app implica installare il parse android sdk e inizializzarlo con le credenziali dal tuo dashboard di back4app recupera le tue chiavi parse nel tuo dashboard di back4app, vai alla sezione “impostazioni app” o “sicurezza e chiavi” della tua app per trovare il tuo id applicazione e chiave client (o chiave javascript se indicato) troverai anche il url del server parse (spesso nel formato https //parseapi back4app com ) installa il parse sdk nel tuo progetto android aggiungendo queste righe al tuo module level build gradle dependencies { implementation "com github parse community parse sdk android\ parse\ latest version here" } se hai bisogno del repository jitpack nel tuo root build gradle allprojects { repositories { maven { url "https //jitpack io" } } } inizializza parse nella tua applicazione android crea una classe application personalizzata (ad esempio, app java ) e configura il 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() ); } } poi, aggiungi questa classe application personalizzata nel tuo androidmanifest xml \<?xml version="1 0" encoding="utf 8"?> \<manifest > \<application android\ name=" app" > \</application> \</manifest> completando questo passaggio, hai stabilito una connessione sicura tra il tuo front end android e il backend di back4app tutte le richieste e le transazioni di dati vengono instradate in modo sicuro attraverso questo sdk, riducendo la complessità delle chiamate rest o graphql manuali (anche se puoi comunque usarle quando necessario) passo 2 – configurazione del database salvare e interrogare i dati con il tuo progetto back4app configurato e il parse sdk integrato nella tua app android, puoi ora iniziare a salvare e recuperare dati un modo tipico per creare e salvare un record è utilizzare 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 } }); per interrogare i dati 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 } }); in alternativa, puoi utilizzare gli endpoint rest api di back4app 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 fornisce anche un interfaccia graphql mutation { creategamescore(input { fields { score 1337 playername "sean plott" cheatmode false } }) { gamescore { objectid score playername cheatmode } } } queste opzioni diverse ti permettono di integrare le operazioni sui dati nel modo che meglio si adatta al tuo processo di sviluppo, sia attraverso il parse android sdk, rest o graphql progettazione dello schema e tipi di dati per impostazione predefinita, parse consente la creazione di schemi al volo , ma puoi anche definire le tue classi e tipi di dati nel dashboard di back4app per avere maggiore controllo naviga nella sezione “database” nel tuo dashboard di back4app crea una nuova classe (ad esempio, “gamescore”) e aggiungi colonne pertinenti back4app supporta anche vari tipi di dati stringa , numero , booleano , oggetto , data , file , puntatore, array, relazione , geopoint , e poligono puoi scegliere il tipo appropriato per ciascun campo back4app offre un agente ai che può aiutarti a progettare il tuo modello di dati apri l'agente ai dal tuo dashboard app o dal menu descrivi il tuo modello di dati in linguaggio semplice (ad esempio, “per favore crea una nuova app todo con uno schema di classe completo ”) lascia che l'agente ai crei lo schema per te dati relazionali se hai dati relazionali—diciamo, un categoria oggetto che punta a più gamescore oggetti—puoi usare puntatori o relazioni in parse ad esempio // 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 } }); } quando interroghi, puoi includere i dati del puntatore parsequery\<parseobject> query = parsequery getquery("gamescore"); query include("category"); query findinbackground((scores, e) > { if (e == null) { // scores now has category details } }); query live per aggiornamenti in tempo reale, back4app fornisce query live puoi iscriverti ai cambiamenti in una classe specifica dalla tua app android abilita le query live nel tuo dashboard di back4app sotto le impostazioni del server della tua app inizializza la query live nel tuo codice in android, di solito ti affidi alla libreria parse livequery android https //github com/parse community/parselivequery android per iscriverti i passaggi sono simili ad altre piattaforme, ma integrerai un livequeryclient dependencies { implementation "com github parse community\ parselivequery android\ latest version here" } poi 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; } }); iscrivendoti, ricevi notifiche in tempo reale ogni volta che un nuovo record viene creato, aggiornato o eliminato questa funzionalità è particolarmente preziosa per app collaborative o dinamiche in cui più utenti devono vedere i dati più recenti senza aggiornare la pagina passo 3 – applicare la sicurezza con acl e clp meccanismo di sicurezza di back4app back4app prende sul serio la sicurezza fornendo liste di controllo degli accessi (acl) e permessi a livello di classe (clp) queste funzionalità ti consentono di limitare chi può leggere o scrivere dati su base per oggetto o per classe, garantendo che solo gli utenti autorizzati possano modificare i tuoi dati liste di controllo degli accessi (acl) un acl è applicato a singoli oggetti per determinare quali utenti, ruoli o il pubblico possono eseguire operazioni di lettura/scrittura ad esempio 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 } }); } permessi a livello di classe (clp) i clp governano i permessi predefiniti di un'intera classe, come se la classe sia leggibile o scrivibile pubblicamente, o se solo determinati ruoli possano accedervi vai al tuo dashboard di back4app , seleziona la tua app e apri la database sezione seleziona una classe (ad esempio, “gamescore”) apri il tab dei permessi a livello di classe configura i tuoi predefiniti questi permessi impostano la base, mentre gli acl affinano i permessi per singoli oggetti un modello di sicurezza robusto combina tipicamente sia i clp (restrizioni ampie) che gli acl (restrizioni dettagliate per oggetto) per ulteriori informazioni vai a linee guida sulla sicurezza dell'app https //www back4app com/docs/security/parse security passo 4 – scrivere e distribuire funzioni di cloud code perché cloud code cloud code è una funzionalità dell'ambiente parse server che consente di eseguire codice javascript personalizzato sul lato server, senza la necessità di gestire i propri server o infrastruttura scrivendo cloud code, puoi estendere il tuo backend back4app con logica aziendale aggiuntiva, validazioni, trigger e integrazioni che vengono eseguite in modo sicuro ed efficiente sul parse server funzione di esempio una semplice funzione cloud code che calcola la lunghezza di una stringa di testo inviata dal 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 }; }); distribuzione back4app cli dashboard nel dashboard della tua app, vai a cloud code > funzioni copia/incolla il tuo codice in main js e clicca su distribuisci chiamare la tua funzione da android (java) utilizzando il 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 } }); puoi anche chiamarlo tramite rest o graphql questa flessibilità ti consente di integrare la tua logica personalizzata nel tuo frontend android o in qualsiasi altro client che supporti rest o graphql passo 5 – configurazione dell'autenticazione utente autenticazione utente in back4app back4app sfrutta la parse user classe come base per l'autenticazione per impostazione predefinita, parse gestisce l'hashing delle password, i token di sessione e lo storage sicuro questo significa che non devi configurare manualmente flussi di sicurezza complessi impostazione dell'autenticazione utente in un'applicazione android che utilizza java, puoi creare un nuovo utente 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 } }); accedi a un utente esistente parseuser logininbackground("myusername", "mypassword", (parseuser, e) > { if (e == null) { // logged in successfully } else { // login failed } }); via rest, un accesso potrebbe apparire così 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 gestione delle sessioni dopo un accesso riuscito, parse crea un token di sessione memorizzato nell'oggetto utente puoi controllare l'utente attualmente connesso parseuser currentuser = parseuser getcurrentuser(); if (currentuser != null) { // user is logged in } else { // no user is logged in } puoi disconnetterti parseuser logout(); integrazione del login sociale back4app e parse possono integrarsi con provider oauth popolari come google o facebook ad esempio, puoi configurare il login con facebook configurando il facebook app id e utilizzando i parse facebookutils dedicati per android le istruzioni dettagliate variano, quindi fai riferimento a documentazione del login sociale https //www back4app com/docs/platform/sign in with apple verifica email e ripristino password per abilitare la verifica email e il ripristino della password naviga nelle impostazioni email nel tuo dashboard di back4app abilita la verifica email configura l'indirizzo del mittente e i modelli email questo aiuta a garantire che l'email del tuo utente sia valida e fornisce un metodo sicuro per il recupero della password passo 6 – gestione dello storage dei file caricamento e recupero dei file parse include la classe parsefile per gestire i caricamenti di file, che back4app memorizza in modo sicuro 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 } }); allega il file a un oggetto parseobject photo = new parseobject("photo"); photo put("imagefile", parsefile); photo saveinbackground(); recupera l'url del file parsefile imagefile = photo getparsefile("imagefile"); string url = imagefile geturl(); sicurezza dei file parse server fornisce configurazioni flessibili per gestire la sicurezza del caricamento dei file, inclusa la possibilità di controllare se gli utenti anonimi o autenticati possono caricare file assicurati di controllare la documentazione per configurazioni più avanzate passo 7 – verifica dell'email e reimpostazione della password panoramica verificare le email assicura che i nuovi utenti possiedano l'indirizzo email utilizzato per registrarsi le reimpostazioni della password consentono agli utenti di recuperare i propri account in modo sicuro configurazione del dashboard di back4app abilita la verifica dell'email nel dashboard della tua app, vai a impostazioni email abilita la reimpostazione della password configura il flusso dell'email di reimpostazione della password codice/implementazione attivare la reimpostazione della password in java parseuser requestpasswordresetinbackground("email\@example com", e > { if (e == null) { // email sent } else { // something went wrong } }); passo 8 – pianificazione dei compiti con i cloud jobs cloud jobs usa cloud jobs in back4app per pianificare compiti ricorrenti, come la pulizia dei dati obsoleti o l'invio di email quotidiane esempio 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 // }); pianificalo nel dashboard di back4app > impostazioni app > impostazioni server > compiti in background passo 9 – integrazione dei webhook webhook consentono alla tua app back4app di inviare richieste http a un servizio esterno ogni volta che si verificano determinati eventi, ad esempio, inviare dati a un servizio di terze parti come stripe naviga a webhooks nel tuo dashboard di back4app > altro > webhooks aggiungi webhook con il tuo endpoint esterno configura i trigger per eventi rilevanti passo 10 – esplorare il pannello di amministrazione di back4app l' app di amministrazione di back4app è un'interfaccia di gestione basata sul web progettata per utenti non tecnici consente operazioni crud rapide e gestione dei dati di routine senza scrivere alcun codice abilitare l'app di amministrazione vai a dashboard dell'app > altro > app di amministrazione e clicca su abilita app di amministrazione crea un primo utente admin e un sottodominio, e avrai un'interfaccia web per l'amministrazione dei dati conclusione seguendo questo tutorial completo, hai creato un backend sicuro per un'app android (java) su back4app configurato un database con schemi di classe, tipi di dati e relazioni integrato query in tempo reale (live queries) per aggiornamenti immediati dei dati applicato misure di sicurezza utilizzando acl e clp per proteggere e gestire l'accesso ai dati implementato cloud code funzioni per eseguire logica aziendale personalizzata sul lato server impostato l'autenticazione degli utenti con supporto per la verifica dell'email e il ripristino della password gestito caricamenti di file e recupero, con controlli di sicurezza dei file opzionali pianificato cloud jobs per attività di background automatizzate utilizzato webhooks per integrarsi con servizi esterni esplorato il pannello di amministrazione di back4app per la gestione dei dati con un solido frontend android (java) e un robusto backend back4app, sei ora ben attrezzato per sviluppare applicazioni ricche di funzionalità, scalabili e sicure continua a esplorare funzionalità più avanzate, integra la tua logica aziendale e sfrutta la potenza di back4app per risparmiarti innumerevoli ore nella gestione di server e database buon coding! prossimi passi costruisci un'app android pronta per la produzione estendendo questo backend per gestire modelli di dati più complessi, strategie di caching e ottimizzazioni delle prestazioni integra funzionalità avanzate come flussi di autenticazione specializzati, controllo degli accessi basato sui ruoli o api esterne (come i gateway di pagamento) controlla la documentazione ufficiale di back4app per approfondimenti su sicurezza avanzata, ottimizzazione delle prestazioni e analisi dei log esplora altri tutorial su applicazioni di chat in tempo reale, dashboard iot o servizi basati sulla posizione puoi combinare le tecniche apprese qui con api di terze parti per creare applicazioni complesse e reali