如何从Firebase查询android对象?

时间:2016-07-15 09:14:03

标签: android firebase firebase-realtime-database

我阅读了firebase文档:https://firebase.google.com/docs/database/android/retrieve-data

我仍然感到困惑,关于如何从我的Firebase数据库中正确查询一个对象。

以下是我编写的代码行。

private Firebase mRef;

开始时:

 @Override
    protected void onStart()
    {
        super.onStart();
        //Firebase
        mRef = new Firebase("my database url");

    }

然后在onCreate或onStart()中我使用这一行:

Query myQuery= mRef.child("key to my DataObject");

但是我在该行中收到错误,它为我提供的解决方案是: 将myQuery更改或迁移到com.firebase.client.Firebase

我想知道我想要导入哪个查询?我目前已导入:

import com.google.firebase.database.Query;

此外,当我查询对象时,我的数据库中的某些内容是否必须更改以便我检索对象?

希望有人可以提供清晰明确的示例代码或步骤来显示您如何查询对象(假设您可以编写for循环以获取对象列表)。

由于

1 个答案:

答案 0 :(得分:0)

假设您的Firebase数据库具有以下结构:

{
    "users" : {...}
}

然后,要获得users的引用,您应该编码为:

DatabaseReference mDatabaseReferenceUsers; = FirebaseDatabase.getInstance().getReference("users");

现在,如果您的users对象包含一个列表,那么您需要使用push()方法获取唯一键,然后按以下方式设置值:

String key = mDatabaseReferenceUsers.push().getKey();
mDatabaseReferenceUsers.child(key).setValue(new User("Bob", 27));