Sto sviluppando un'applicazione e salvando alcune stringhe come postedAtTime
, postedBy
, postedOnDate
nel database di Firebase. Voglio salvare le coordinate GeoFire nello stesso nodo in cui sono salvate tutte le stringhe sopra, in modo che in seguito io possa fare una query, facilmente.Come salvare le coordinate GeoFire insieme ad altri oggetti nel database Firebase?
Ecco il percorso a cui sto risparmiando tutte le stringhe:
databaseReferenceHRequests = firebaseDatabase.getReferenceFromUrl("https://appName-e1a35.firebaseio.com/requests/");
Questo è come mi sto salvandolo:
// in onButtonClicked method:
postNewRequest(null, imageUID, MainActivity.userName.getText().toString(), time, date, utcFormatDateTime, MainActivity.userEmail.getText().toString(), geoFire);
// the method:
public void postNewRequest(Bitmap bitmap, String imageUIDh, String postedBy, String postedAtTime, String postedOnDate, String utcFormatDateTime, String userEmail, GeoFire geoFire) {
HRequest hRequest = new HelpRequest(null, imageUIDh, postedBy, postedAtTime, postedOnDate, utcFormatDateTime, userEmail, geoFire);
databaseReferenceHRequests.push().setValue(hRequest);
}
Ecco come è sempre salvato nel database:
Quello che voglio è quello di salvare le coordinate GeoFire nello stesso nodo, che è -KLIoLUsI0SpQZGpV1h4
qui. Questo è solo un ID push e viene generato casualmente.
ho provato dando questo riferimento:
geoFire = new GeoFire(firebaseDatabase.getReferenceFromUrl("https://appName-e1a35.firebaseio.com/requests/"));
E poi spingendola con altri elementi come mostrato sopra. Tuttavia, questo ha salvato solo le coordinate GeoFire e non gli altri elementi sotto il nodo requests
.
Quindi, quale dovrebbe essere il mio riferimento GeoFire in modo che venga salvato insieme a tutti i dati nello stesso nodo?
Cosa sta succedendo qui? Per favore mi faccia sapere.
Grazie per aver risposto, ma non sono sicuro di avere la risposta alla mia domanda. Voglio dire, come potrei recuperare solo quei messaggi dal database che si trova entro il raggio di 0,5 km dell'utente? Sto anche salvando la latitudine e la longitudine da dove sono stati pubblicati i post. Per favore, rendilo più chiaro, signore. –
Geofire restituisce solo le chiavi dal nodo e quindi è necessario eseguire una query sul nodo delle proprietà regolari. Oppure Geofire restituisce anche i dati delle proprietà regolari? –
@Frank puoi spiegare come memorizzare gli indici geohash e quale sarà la sua struttura –