java如何获取保存在用户ID中的数据?
数据保存正确,如下图所示:
我使用以下代码:
btnDatos.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = nameTextView.getText().toString();
String email = emailTextView.getText().toString();
String id = idTextView.getText().toString();
String idJuego = idffTextView.getText().toString();
Map hopperUdates = new HashMap();
hopperUdates.put("name", name);
hopperUdates.put("email", email);
hopperUdates.put("id", id);
hopperUdates.put("idFreeFire", idJuego);
mDatabase.child("Usuario").child(mAuth.getCurrentUser().getUid()).updateChildren(hopperUdates);
}
});
为了获取数据,我使用以下代码: mDatabase。儿童(“Usuario”)。子(mAuth.getCurrentUser()。getUid())。addValueEventListener(新的ValueEventListener(){ @凌驾 public void onDataChange(@NonNull DataSnapshot DataSnapshot){
int idJuego = dataSnapshot.getValue(Integer.class);
idffTextView.setText(idJuego);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
但它不显示数据,当我在设备上测试时,应用程序关闭。会有什么错误
# 1 楼答案
由于您正在将
uid
保存为用户对象的键,同时作为用户对象内的属性,要将该id设置为idffTextView
,请使用以下代码行之一:或者:
请注意,在这两种情况下}
id
都是String
型和非{# 2 楼答案
如果需要所有数据,请创建模型类,然后像这样将datasnapshot存储到该模型类中
模型=数据快照。getValue(Model.class)
或者你想要一个数据,然后像这样得到孩子
字符串idJuego=dataSnapshot。child(“childname”)。getValue()。toString
然后将该字符串设置为textView