我需要使用實時資料庫上的用戶電子郵件來獲取特定的用戶資料。這是我的代碼,此代碼運行沒有錯誤,但資料未顯示在界面中。我認為資料快照檢索部分不正確。請幫我解決這個問題。
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String userEmail = user.getEmail();
DatabaseReference rootReference = FirebaseDatabase.getInstance().getReference();
Query myUsersQuery = rootReference.child("Children").orderByChild("childrenParentEmail").equalTo(userEmail);
myUsersQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String name = dataSnapshot.child("Children").getValue(String.class);
childrenNameEdt.setText(name);
childrenBirthdayEdt.setText(dataSnapshot.child("childrenBirthday").getValue(String.class));
childrenParentNameEdt.setText(dataSnapshot.child("childrenParentName").getValue(String.class));
childrenParentAddressEdt.setText(dataSnapshot.child("childrenParentAddress").getValue(String.class));
childrenParentContactNumberEdt.setText(dataSnapshot.child("childrenParentContactNumber").getValue(String.class));
childrenParentEmailEdt.setText(dataSnapshot.child("childrenParentEmail").getValue(String.class));
childrenTransportTypeEdt.setText(dataSnapshot.child("childrenTransportType").getValue(String.class));
childrenTransportContactNumberEdt.setText(dataSnapshot.child("childrenTransportContactNumber").getValue(String.class));
//childrenID.setText(dataSnapshot.child("password").getValue(String.class));
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
throw error.toException();
}
});
uj5u.com熱心網友回復:
當您對 Firebase 實時資料庫執行查詢時,可能會有多個結果。所以快照包含這些結果的串列。即使只有一個結果,快照也會包含一個結果的串列。
您的代碼將需要通過回圈處理該串列dataSnapshot.getChildren()。所以像:
myUsersQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot: dataSnapshot.getChildren();
String name = snapshot.child("Children").getValue(String.class);
childrenNameEdt.setText(name);
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/454474.html
標籤:爪哇 安卓 火力基地 firebase-实时数据库
上一篇:Firebase身份驗證在掛載鉤子之前無法正常作業,我不知道為什么
下一篇:當用戶首次登錄時,我可以在javascript中使用firebaseAuth的signInWithPhoneNumber時設定自定義UID嗎?[復制]
