[英]How do it retrieve User data from this database structure?
我正在為學校項目制作應用程序。 我希望當學生登錄時,他們應該看到他們的數據(ID, NAME, SESSION, PROGRAM)
而當任何教師登錄時,他們應該看到他們節點中的數據。 他們可以成功登錄,只是我不知道如何為屬於2個不同節點的用戶獲取不同的數據。 我是android和Firebase的新手,所以任何明確的答案將不勝感激。
這是我的數據庫結構:
要解決此問題,請使用以下代碼行:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child("USERS").child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String id = ds.child("ID").getValue(String.class);
String name = ds.child("NAME").getValue(String.class);
String program = ds.child("PROGRAM").getValue(String.class);
String session = ds.child("SESSION").getValue(String.class);
Log.d(TAG, id + " / " + name + " / " + program + " / " + session);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage());
}
};
uidRef.addListenerForSingleValueEvent(valueEventListener);
您的logcat中的輸出將是:
02 / SA / MCI / SP17
如果要從另一個節點獲取數據,只需相應地更改引用即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.