首页 > 解决方案 > Firebase 数据库读取数据

问题描述

我正在尝试从 Firebase 实时数据库中读取一些值。我的结构如下所示:

在此处输入图像描述

以及我检索值的代码(“Wine and Dine”):

databaseReference.child("test").child("event_name").child("drinks")
            .addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    Object dataSnapshotObject = dataSnapshot.getValue(String.class);

                   if(dataSnapshotObject != null){
                    Toast.makeText(content, "Event Name: " + dataSnapshotObject.toString(), Toast.LENGTH_LONG).show();
                   }else
                    Toast.makeText(context,"null",Toast.LENGTH_SHORT).show();

              }

                @Override
                public void onCancelled(DatabaseError databaseError) {
            });

但是,我只得到一个空响应作为值。我可能做错了什么?

标签: androidfirebasefirebase-realtime-database

解决方案


您可以.child("drinks")从链中移除(并稍后将其放入,如下面的代码所示),并且如果您仍然想要制作dataSnapshotObjectto String,那么您应该在String.

像这样的东西:

String value = dataSnapshot.child("drinks").getValue(String.class);

还要检查你是否databaseReference看起来像这样。

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();

推荐阅读