java - Android Studio Firebase 更新儿童
问题描述
今天是个好日子。我在 Android Studio 和 Firebase 中度过了一段艰难的时光,每当我尝试使用 updateChildren 时,它都会不断替换旧的。我认为它会保留节点内的旧数据,这里是代码:
private void getClosestDriver() {
DatabaseReference driverLocation = FirebaseDatabase.getInstance().getReference().child("driversAvailable");
GeoFire geoFire = new GeoFire(driverLocation);
geoQuery = geoFire.queryAtLocation(new GeoLocation(pickupLocation.latitude, pickupLocation.longitude), radius);
geoQuery.removeAllListeners();
geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
@Override
public void onKeyEntered(String key, GeoLocation location) {
if (!driverFound && requestBol) {
driverFound = true;
driverFoundID = key;
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Users").child("Driver").child(driverFoundID).child("passengerRequest");
String passengerID = FirebaseAuth.getInstance().getCurrentUser().getUid();
HashMap map = new HashMap();
map.put("passengerRideID", passengerID);
map.put("destination", destination);
ref.updateChildren(map);
getDriverLocation();
mRequest.setText("Looking for Bus Location....");
}
}
我对 HasMap 做的正确吗?
解决方案
通过将其更改为
String passengerID = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Users").child("Driver").child(driverFoundID).child("passengerRequest").child(passengerID);
HashMap map = new HashMap();
map.put("destination", destination);
ref.updateChildren(map);
推荐阅读
- python - 熊猫中的相关矩阵没有考虑某些列
- javascript - 在 Angular 11 中提供外部资源
- recursion - 汇编 x86 中的递归:斐波那契
- android - 如何约束所有 TableLayout 列以适合页面?
- redis - Nestjs - 如何在 Nestjs e2e 测试中监听 ClientRedis 信号
- java - Spring Boot 集成测试问题
- javascript - 将 PDF 与菜单合并
- r - 如何处理 lapply 中的特定单元格?
- android - 在 android 中存储可供其他应用程序公开访问的视频文件
- javascript - 如何在数组中创建更多的空数据?