Abh*_*hek 3 java android firebase firebase-realtime-database
我试图通过在 android studio 中使用子键“UID”来获取父名称“170002001”。请帮忙。提前致谢 :)
private void getdata(){
DatabaseReference reference;
reference = FirebaseDatabase.getInstance().getReference();
reference.orderByChild("UID").equalTo(uid).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
keys = childSnapshot.getKey();
status.setText(keys);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
Run Code Online (Sandbox Code Playgroud)
编辑:除“170002001”外,我可以检索所有父名称。:(
把它放在你的onDataChange(DataSnapshot dataSnapshot)听众里面
String parent = dataSnapshot.getKey();
Run Code Online (Sandbox Code Playgroud)
由于firebase将为此管理可能的父键列表,请执行此操作
DatabaseReference reference;
reference = FirebaseDatabase.getInstance.getReference();
reference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
String parent = childSnapshot.getKey();
Log.i(TAG,parent);
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,此处的引用将是您的"170002001"密钥上方的节点,它是所有这些密钥的父级
编辑:如果您想在每个节点中获取所有 UID,请执行此操作
创建一个 POJO 类来保存该用户 ID
public class UserPojo {
private String UID;
public UserPojo(String UID) {
this.UID = UID;
}
public UserPojo() {
}
public String getUID() {
return UID;
}
public void setUID(String UID) {
this.UID = UID;
}
}
Run Code Online (Sandbox Code Playgroud)
然后像上面一样做同样的事情
reference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
String parent = childSnapshot.getKey();
UserPojo user = childSnapshot.getValue(UserPojo.class);
//get your User ID
String user = user.getUID();
Log.i(TAG,parent);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4350 次 |
| 最近记录: |