Come richiamare i dati da firebase e inserirli in una listview
Quanto tempo senza scrivere e torno a boma con pochi blocchi ma potentissimi che ci permetteranno di scaricare i dati dal nostro Realtime Database di Firebase e scaraventarli in una listview.
Operazione essenziale in qualsiasi progetto.
Useremo ovviamente Firebase e una listview image and text ( che permette di settare immagine - titolo - sottotitolo ) e il dizionario immancabile quando spunta all'orizzonte JSON.
Velocemente l'albero dei dati. Possiamo identificare velocemente 4 tag principali fantasiosamente denominati data ( che potrebbe effettivamente essere la data così da catalogare già il nostro materiale ) e poi 3 sottotag che fanno proprio riferimento ai dati che ci serviranno nella nostra app , da visualizzare nella listview.
I link alle immagini sono di cloudinary , di cui ho già parlato più nello specifico QUI quindi potrete leggere tutto con calma. Possiamo anche notare una scrittura differente tra i primi tag e gli ultimi, i primi sono stati scritti direttamente in firebase mentre gli ultimi sono stati caricati da app. E' inutile dire che entrambe le scritture sono funzionanti .
Questo invece è quello che arriva nell'app e possiamo subito notare , oltre ad una marea di slash 😁, che il formato dati si è magicamente uniformato, questo perchè Firebase sfrutta JSON per i suoi dati.
Riconosciamo subito le parentesi graffe che racchiudono le coppie di valori Key-Value , i due punti che dividono appunto la Chiave dal Valore e gli altri caratteri speciali tipici della sintassi di JSON.
Anche questo già visto nei tutorial sul Dizionario.
Vediamo quindi come richiamare questi dati e caricarli correttamente nella listview.
Creiamo una variabile dizionario e per comodità ho collegato il richiamo della lista di tutti i tag sotto un button ma voi potrete adeguare alle vostre esigenze. Prima del Get tag list mi raccomando verificate la posizione corretta all'interno dell'albero dei dati, ovvero il bucket e nel caso andiamo a modificarlo con il blocco set Project Bucket . Io ho racchiuso i miei dati sotto un tag Db che contiene tutto quindi sarà proprio il mio Project Bucket.
La chiamata Tag list attiva il blocco When Tag list che restituisce la lista dei tag salvati sotto il tag Db .
Nel mio caso sarà data1,data2,data4,data5, lista che subito utilizzo in un blocco for each per prelevare ad uno ad uno i vari tag e richiamare il loro valore. Il call Get Value infatti chiama gli item uno alla volta , cioè i 4 tag.
Questa chiamata attiva ad ogni passo il blocco when Got Value in cui possiamo facilmente reperire sia il valore del tag che il suo contenuto (value), questi dati andranno in salvataggio nel dizionario grazie al blocco set value for key copiando tutto il nostro database on line nella nostra app.
Una volta salvato ( anche grazie all'intercessione del nostro JSON) il nostro database possiamo facilmente prelevare i dati e passarli alla listview per visualizzarli nel classico schema immagine titolo sottotitolo .
Sfruttiamo quindi queste chiamate ai tag per aggiungere di volta in volta i valori nella listview usando il blocco call add item che già possiede i tre spazi per l'immagine , titolo e sottotitolo. Svelato l'arcano della struttura del nostro databese. JSON ci permette quindi di usare i blocchi del dizionario anche per passare i dati alla listview, il blocco get value for key va a leggere rispettivamente i tre tag e inserisce i valori del socket corretto . Il risultato finale lo possiamo notare qui sotto dove abbiamo una lista scrollabile identificata da un immagine e due campi di testo per ogni elemento.
Se per qualche motivo volessimo salvare dall'app su firebase vediamo il blocco che facilmente effettua il trasferimento utilizzando il formato dati corretto.
call Store Value richiede un tag ( diverso ogni volta altrimenti andrà a sovrascrivere i dati ogni volta ) e un value To Store utilizzando i blocchi del dizionario. Un make a dictionary andrà a creare un piccolo dizionario all'interno del tag data6 che si trasformerà appunto nell'aggiunta dei tre sottotag di nostro interesse.
Spero sia stato di tuo interesse e se hai dubbi o curiosità scrivi pure nei commenti.
Ciao
Hai apprezzato il mio lavoro? Se ti va puoi offrirmi un bel caffè
Commenti
Posta un commento