我的Firebase数据库结构如下所示。我在检索数据时遇到麻烦。如何检索位于子“数据”,“位置”和“描述”中的数据?
答案 0 :(得分:-1)
假设5J4e ... RK52
是已认证用户的uid
,以获取每个类别(data
,description
和{{1} }),请使用以下代码行:
location
logcat中的结果将是String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String name = dataSnapshot.child("data").child("name").getValue(String.class);
String synopsis = dataSnapshot.child("description").child("synopsis").getValue(String.class);
double longitude = dataSnapshot.child("location").child("longitude").getValue(Double.class);
Log.d(TAG, name + "/" + synopsis + "/" + longitude);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
uidRef.addListenerForSingleValueEvent(valueEventListener);
节点中的name
的值,data
节点中的synopsis
的值和description
的值在longitude
节点中。以相同的确切方式,您可以获得其他值。