Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何显示每个用户';数据基于他们的谷歌账户——Firebase_Java_Android_Firebase_Android Studio - Fatal编程技术网

Java 如何显示每个用户';数据基于他们的谷歌账户——Firebase

Java 如何显示每个用户';数据基于他们的谷歌账户——Firebase,java,android,firebase,android-studio,Java,Android,Firebase,Android Studio,我目前正在Android Studio上构建一个待办应用程序。我的Firebase数据库有问题。我想做的是,每个用户都有一个基于谷歌登录的唯一id,以便只查看自己的数据。目前,在我的应用程序上,每个人都可以看到任何人的任务。在Firebase上,我使用实时数据库,通过“用户”的一个子项和“任务+随机数”的另一个子项来指定它。此外,我已经在我的应用程序发布时添加了谷歌登录按钮 当前数据库: “我的层次结构”的目标示例: 根据您的评论,要仅获取与特定用户对应的任务对象,请使用以下代码行: Stri

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

当前数据库:

“我的层次结构”的目标示例:

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

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
只有一个任务,因此logcat中的结果将只有一个标题:

Swimming

这段代码中到底有什么不符合您的预期?您好。谢谢你的评论。我的代码一切正常。让我解释一下,每当我在Firebase数据库上创建任务时,它都会显示为“任务-”随机数,问题是我创建的每个任务都会显示在其他每个用户身上。我想做的是根据每个用户的Google帐户(我已经创建了登录方法)为每个用户指定一个唯一的id,通过这样做,每个用户将只能看到他们自己的任务。请将您的数据库结构添加为JSON文件或至少一个屏幕截图,并指明您要获取的确切数据。@AlexMamo我已更新了我的帖子并添加了一些屏幕截图。示例是我想对Java类的代码执行的操作。您想要的确切数据是什么得到?非常感谢!