这是我如何插入值到我的Firebase实时数据库:
driverRef = FirebaseDatabase.getInstance().getReference().child("User").child("Bus").child(driverFoundId).child("Students").child(userId);
driverRef.setValue(true);
这就是我从数据库中获取值的方式:
driverId= FirebaseAuth.getInstance().getCurrentUser().getUid();
assignedStudentRef = FirebaseDatabase.getInstance().getReference().child("User").child("Bus").child(driverId).child("Students");
assignedStudentListener =assignedStudentRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot ) {
if (snapshot.exists()){
studentId = snapshot.getValue().toString();
Map<String, Object> map = (Map<String, Object>) snapshot.getValue();
studentId = map.toString();
Toast.makeText(DriverMapAct.this," "+studentId, Toast.LENGTH_SHORT).show();
getAssignedStudentPickupLocation();
}
}
}
因为我之前给setValue (true)添加值到数据库。检索数据时如何删除true ?
如果下面一行代码可以很好地添加数据:
driverRef = FirebaseDatabase.getInstance().getReference()
.child("User")
.child("Bus")
.child(driverFoundId)
.child("Students")
.child(userId);
driverRef.setValue(true);
要删除完全相同的值,请使用DatabaseReference#removeValue()方法:
driverRef.removeValue();
请注意,这也是一个异步操作。因此,您可以考虑附加一个侦听器,以查看是否出现问题。