【发布时间】:2016-08-18 17:12:47
【问题描述】:
我在这个设置中使用了实时数据库:
->users
->uid
->name
->email
->other info
如果我想保存用户数据,我会使用我的 User 类,然后像这样在数据库中设置对象:
//assume variables have already been declared...
mFirebaseAuth = FirebaseAuth.getInstance();
mFirebaseUser = mFirebaseAuth.getCurrentUser();
User user = new User(name, email, other values...);
mDBRef.child("users").child(mFirebaseUser.getUid()).setValue(user);
我试过了,效果很好。
但是我怎样才能从数据库中检索这些值呢?例如,一旦我如上所示设置了一个用户对象,我可能想要检索用户的电子邮件。我的意思不是通过登录提供商获取电子邮件。我想要通过实时数据库的电子邮件。我已经尝试了一段时间,但文档并没有太大帮助。它显示的只是设置侦听器以等待数据更改。但我不是在等待变化,我不想要一个听众。我想通过使用 JSON 树中的键直接获取数据库中的值。这可以通过实时数据库实现吗?如果是这样,怎么办,因为文档没有解释它或者我只是不理解它。如果不可能,我应该使用存储数据库还是其他东西?谢谢。
【问题讨论】:
-
从 Firebase 数据库获取数据的方法是附加一个监听器。见firebase.google.com/docs/database/android/retrieve-data
-
@FrankvanPuffelen 我相信你是在 Firebase 工作过的工程师之一? (看到你回答了很多关于它的帖子)。如果是这样,我认为按照 Ian Richard 在他对讨论听众的文档的回答的 cmets 中解释的方式添加解释将非常有帮助。
标签: android firebase firebase-realtime-database