如何根据每个用户的谷歌帐户显示他们的数据 - Firebase



我目前正在Android Studio上构建一个待办事项应用程序。我的Firebase数据库出现问题。我想做的是,每个用户都有一个基于谷歌登录的唯一id,以便只查看自己的数据。目前,在我的应用程序上,每个人都可以看到任何人的任务。在Firebase上,我使用实时数据库,通过"的一个子项指定它;用户";以及任务+随机数中的另一个。此外,我已经在我的应用程序发布时添加了谷歌登录按钮。

当前数据库:在此处输入图像描述

我的层次结构的示例:在此处输入图像描述

根据您的评论,要只获取与特定用户相对应的Task对象,请使用以下代码行:

String userId = "User-13294";
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference tasksRef = rootRef.child("Users").child(userId).child("Tasks");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot taskSnapshot : dataSnapshot.getChildren()) {
String title = taskSnapshot.child("title").getValue(String.class);
Log.d("TAG", title);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d("TAG", databaseError.getMessage()); //Don't ignore potential errors!
}
};
tasksRef.addListenerForSingleValueEvent(valueEventListener);

因为User-13294只有一个Task,所以logcat中的结果将只有一个标题:

Swimming

相关内容