我在Firebase中设置了子项的值,但是当我从Firebase获取值时,该值为null。我不明白为什么。
Function renamebuttons()
For Each shp In ActiveSheet.Shapes
shp.name = "buttonRow" & shp.TopLeftCell.Row
Next shp
End Function
答案 0 :(得分:1)
要设置值,您可以直接在引用上使用setValue()
方法,如下所示:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference userRef = rootRef.child("Users").child(user.getDisplayName());
userRef.child("deposit").setValue(9); //Sets the value to 9
要获取该值,请使用以下代码:
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
int deposit = dataSnapshot.child("deposit").getValue(Integer.class);
Log.d("TAG", deposit);
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
userRef.addListenerForSingleValueEvent(eventListener);
请查看正确的DatabaseReference
,其中包含Users
,而不仅仅是User
,如屏幕截图所示。
答案 1 :(得分:1)
根据您的数据库结构,您应该引用的孩子是用户,在您的代码中,您正在调用用户。修复那个错误...
//Replace child tag by Users to fix the error
database.child("Users").addValueEventListener(new ValueEventListener() { ...