CONTESTOCome conservare un UID utenti in un database Firebase e farlo mappare un POJO
Attualmente sto lavorando su un'applicazione Firebase (in Android). Ho impostato l'autenticazione, l'archiviazione e il database senza problemi di cui parlare. Poiché l'utente auth Firebase ha solo alcune proprietà, ho creato un POJO "utente" per archiviare ulteriori informazioni utente che non sono contenute nell'utente auth Firebase (ad es. Nome, data di nascita, nazionalità, ecc ...) . La struttura di questo è illustrato nella figura:
l'UUID nell'immagine è il rispettivo utenti UID autenticazione. Questo è stato ottenuto come tale:
ref.child(users).child(auth.getUid()).setValue(user);
Questo approccio sembra in linea con la documentazione in quanto mi permette limito scrittura/lettura al proprietario dell'account utilizzando la regola auth.uid === $uid
. Inoltre, tutte le proprietà all'interno della mappa ad albero al mio POJO come previsto.
PROBLEMA
Il mio unico grande problema è che voglio per memorizzare gli utenti UID all'interno del POJO. Poiché l'UID è attualmente strutturato come oggetto principale, non sono sicuro di come mapparlo al POJO dell'utente. Naturalmente potrei conservare un campo aggiuntivo nel livello dell'albero inferiore. Tuttavia, sembra una ridondanza dei dati inutile.
DOMANDA
Qual è il modo migliore per mappare l'uid a una rispettiva classe POJO "utente". Idealmente, sarei in grado di recuperare 10 utenti da visualizzare, e quando uno viene toccato, l'app carica un'attività del profilo. Ciò significherebbe passare l'uid dell'utente, quindi posso dire:
ref.child(users).child(targetUID)
e recuperare l'account utente toccato. Questo significa avere il loro uid.
Questo equivale esattamente all'utilizzo dell'adattatore di memoria 'adapter.getRef (posizione) .getKey()'. –
Ah .. Lo stavo cercando dappertutto ma non riuscivo a trovarlo .. comunque ho cambiato il codice in modo da poter rendere FireBaseListAdapter filtrabile. –
Sembra un bel cambiamento. Ma ha poco a che fare con questa domanda. Puoi aggiornare la tua risposta per mostrare che aspetto ha un POJO minimo che permetta di impostare la chiave/uid e come la useresti? –