如何从Firebase上的自定义数据库中读取specyfic记录

时间:2017-03-17 09:55:32

标签: android database firebase firebase-realtime-database

问题:

我尝试阅读特定记录中的所有内容

一切都是:

database.child("Youtube1");

enter image description here

现在我需要从Information中选择数据并将其放入TextView

指向意图的链接

文字到文字视图

(我知道如何把它放入,但我不知道如何从服务器获得响应)

我知道的方法是ValueEventListener

ValueEventListener valueEventListener = new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                }
                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            };

当然我用以下内容初始化数据库:

 private DatabaseReference mDatabase;
 mDatabase = FirebaseDatabase.getInstance().getReference();

我尝试在ValueEventListener喜欢

settingsText3.setText(dataSnapshot.child("Youtube1").child("Information").getValue(String.class));

但是这不起作用,这是VIDE TUTORIALS的案例

case VIDEO_TUTORIALS:
            settingsText3.setVisibility(View.VISIBLE);
            mDatabase = FirebaseDatabase.getInstance().getReference();

            ValueEventListener valueEventListener = new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    settingsText3.setText(dataSnapshot.child("Youtube1").child("Information").getValue(String.class));

                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            };

            break;

任何建议都会对我有所帮助

1 个答案:

答案 0 :(得分:1)

您在一个地方创建mDatabase,在另一个地方创建valueEventListener,因此这两个未连接。您应该像这样连接两个对象(在两者初始化之后放置它):

mDatabase.addValueEventListener(valueEventListener);

或直接将新侦听器附加到mDatabase,如下所示:(如果您使用此处,请删除valueEventListener的初始化,因为它不再需要):

mDatabase.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        settingsText3.setText(...); // place your code here
    ...
...

您可以使用其中之一。希望这有帮助