アプリを開発して、、、などの文字列を Firebase データベースに保存してpostedAtTime
いpostedBy
ますpostedOnDate
。上記のすべての文字列が保存されているのと同じノードに GeoFire 座標を保存して、後で簡単にクエリを実行できるようにしたいと考えています。
すべての文字列を保存するパスは次のとおりです。
databaseReferenceHRequests = firebaseDatabase.getReferenceFromUrl("https://appName-e1a35.firebaseio.com/requests/");
これは私がそれを保存する方法です:
// 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);
}
データベースに保存される方法は次のとおりです。
私が望むのは、-KLIoLUsI0SpQZGpV1h4
ここにある同じノードに GeoFire 座標を保存することです。これは単なるプッシュ ID であり、ランダムに生成されます。
私はこの参照を与えることによってそれを試しました:
geoFire = new GeoFire(firebaseDatabase.getReferenceFromUrl("https://appName-e1a35.firebaseio.com/requests/"));
そして、上記のように他のアイテムでそれを押します。ただし、これは GeoFire 座標のみを保存し、ノードの下の他のアイテムは保存しませんでしたrequests
。
では、同じノード内のすべてのデータと一緒に保存されるようにするには、GeoFire 参照はどうすればよいでしょうか?
ここで何がうまくいかないのですか?私にお知らせください。