我正在开发一个应用程序并在 Firebase 数据库中保存一些字符串,例如postedAtTime
, 。我想将 GeoFire 坐标保存在保存上述所有字符串的同一节点中,以便稍后我可以轻松地进行查询。postedBy
postedOnDate
这是我保存所有字符串的路径:
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);
}
以下是它在数据库中的保存方式:
我想要的是将 GeoFire 坐标保存在同一个节点中,即-KLIoLUsI0SpQZGpV1h4
此处。这只是一个推送 ID,它是随机生成的。
我通过提供此参考进行了尝试:
geoFire = new GeoFire(firebaseDatabase.getReferenceFromUrl("https://appName-e1a35.firebaseio.com/requests/"));
然后将其与其他项目一起推动,如上图所示。但是,这仅保存了 GeoFire 坐标,而不是 node 下的其他项目requests
。
那么,我的 GeoFire 参考应该是什么,以便它与同一节点中的所有数据一起保存?
这里出了什么问题?请告诉我。