这是Firebase数据库中的节点:
这是检索旅行数据的代码:
database = FirebaseDatabase.getInstance();
myRef = database.getReference(FirebaseAuth.getInstance().getCurrentUser().getUid());
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot data : dataSnapshot.getChildren()) {
TripAddData value = (TripAddData) data.child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("Trips").child("13").child("tripName").getValue();
buffer.append(value+"#");
System.out.println(FirebaseAuth.getInstance().getCurrentUser().getUid());
}
System.out.println(buffer.toString());
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.w("****", "Failed to read value.", error.toException());
}
});
为什么缓冲区返回null?
答案 0 :(得分:0)
尝试替换它:
TripAddData value = (TripAddData) data.child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("Trips").child("13").child("tripName").getValue();
有了这个:
String value = data.child("Trips").child("13").child("tripName").getValue(String.class);
我无法帮助您在没有看到实际情况的情况下投射到TripAddData。但这至少应该归还一些东西。