Android 如何检索firebase数据库上的特定信息?
我是android编程新手,希望更多地了解android编程。我当前的数据库树如下所示,这就是我将数据推入数据库的方式 是否有专业人士可以教我如何从用户列表中的特定用户检索特定数据(例如姓名/电话号码)并显示这些数据 提前谢谢 更新: 在尝试了几种解决方案之后,唯一可以检索名称的代码是Android 如何检索firebase数据库上的特定信息?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我是android编程新手,希望更多地了解android编程。我当前的数据库树如下所示,这就是我将数据推入数据库的方式 是否有专业人士可以教我如何从用户列表中的特定用户检索特定数据(例如姓名/电话号码)并显示这些数据 提前谢谢 更新: 在尝试了几种解决方案之后,唯一可以检索名称的代码是 databaseReference=FirebaseDatabase.getInstance().getReference().child(“用户”).child(“-MA5f3qb0nBBTkViv pz”);
databaseReference=FirebaseDatabase.getInstance().getReference().child(“用户”).child(“-MA5f3qb0nBBTkViv pz”);
我甚至尝试将UID分配给一个字符串,并像这样放入第二个孩子
String UID=firebaseAuth.getCurrentUser().getUid()代码>
但代码不会运行太多,错误为“尝试在空对象引用上调用虚拟方法”。要检索信息,请尝试以下操作:
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("User");
reference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User userInfo = dataSnapshot.getValue(User.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
将引用添加到节点User
,然后使用addListenerForSingleValueEvent
可以检索值。要检索信息,请尝试以下操作:
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("User");
reference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User userInfo = dataSnapshot.getValue(User.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
添加对节点User
的引用,然后使用addListenerForSingleValueEvent
可以检索值。对节点“User”的引用,当然?在解释中添加了“s”,但在代码中没有“s”:p@deworde@PeterHaddad亲爱的彼得:,我已尝试复制您的代码,并尝试将值发送到textView_用户名,但textView部分将保持为空。下面是代码部分public void onDataChange(@NonNull DatabaseError DatabaseError){User User=DataSnapshot.getValue(User.class);textViewUserName.setText(User.getName());}@Override public void onCancelled(@NonNull DatabaseError DatabaseError){})
请告诉我这一点?@JulianaLam在你的类中Users
你有空的构造函数吗?@PeterHaddad Ya,我提到了节点“User”,当然?在解释中添加了一个“s”,但在代码中没有“s”:p@deworde@PeterHaddad亲爱的彼得:,我已尝试复制您的代码,并尝试将值发送到textView_用户名,但textView部分将保持为空。下面是代码部分public void onDataChange(@NonNull DatabaseError DatabaseError){User User=DataSnapshot.getValue(User.class);textViewUserName.setText(User.getName());}@Override public void onCancelled(@NonNull DatabaseError DatabaseError){})
请告诉我这一点?@JulianaLam在你们班用户
你们有空的构造函数吗?@Peterhaddya,我有