Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在Firebase实时数据库中使用相同的节点名称添加不同的值?_Android_Firebase Realtime Database - Fatal编程技术网

Android 如何在Firebase实时数据库中使用相同的节点名称添加不同的值?

Android 如何在Firebase实时数据库中使用相同的节点名称添加不同的值?,android,firebase-realtime-database,Android,Firebase Realtime Database,目前我正在做一个项目,当用户插入跟踪id时,需要从实时数据库接收数据 这是我的数据库。 为了让程序使用插入的跟踪id搜索数据,我需要将跟踪id添加到引用节点中,以便程序可以查询引用中的数据 下面是我如何为跟踪id将数据添加到数据库中的 private void addDetails(){ String trackingid=EnterTrackingId.getText().toString().trim(); 字符串纬度=enterLatitude.getText().toString()

目前我正在做一个项目,当用户插入跟踪id时,需要从实时数据库接收数据

这是我的数据库。

为了让程序使用插入的跟踪id搜索数据,我需要将跟踪id添加到引用节点中,以便程序可以查询引用中的数据

下面是我如何为跟踪id将数据添加到数据库中的

private void addDetails(){
String trackingid=EnterTrackingId.getText().toString().trim();
字符串纬度=enterLatitude.getText().toString().trim();
字符串经度=enterLongitude.getText().toString().trim();
item=spinner.getSelectedItem().toString();
NewTrackingID=String.valueOf(trackingid);
NewLatitude=String.valueOf(纬度);
NewLongitude=String.valueOf(经度);
Newitem=String.valueOf(item);
Toast.makeText(这是“新跟踪ID=+NewTrackingID,Toast.LENGTH_SHORT).show();
Toast.makeText(这是“新纬度=+新纬度,Toast.LENGTH_SHORT).show();
Toast.makeText(这是“新经度=+新经度,Toast.LENGTH_SHORT).show();
Toast.makeText(这是“包裹状态”+Newitem,Toast.LENGTH_SHORT).show();
rootNode=FirebaseDatabase.getInstance();
reference=rootNode.getReference(“主机ID”);
TrackingIDClass IDclass=新TrackingIDClass(新纬度、新经度、新TrackingId、新项目);
StatusClass StatusClass=新的StatusClass(Newitem);
reference.child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child(“TrackingID”).child(NewTrackingID).setValue(IDclass);
HashMap updates=新建HashMap();
更新。放置(“ID”,NewTrackingID);
reference.child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child(“reference”).updateChildren(更新);
Intent i=新Intent(AddTrackingIDtoDatabase.this,AddTrackingID.class);
星触觉(i);
完成();

}
您所说的“不丢失“xxx”的原始id”是什么意思?如我所见,您使用的是updateChildren()方法,没有按预期更新元素吗?我的意思是我想将trackingID节点中的id添加到引用节点中。但是,当我将xxx的trackingID放入参考节点时,参考节点中的id将被覆盖/更新,并从111ww更改为xxx。是否可以在firebase中将这两个跟踪id添加到具有相同子名称的节点中,以便让程序在具有不同值的相同子节点中查询?