在Firebase和Geofire中使用Listener for Single Value时检索到的空数据

时间:2016-08-28 04:31:58

标签: android firebase firebase-realtime-database geofire

我的数据目前的结构如下:

Users • 
      userId -
           eyeColour: Blue



userId •
    - geoLocation stuff

我正在尝试加载与地理位置节点关联的数据。因此,如果用户A设置位置并且用户B接近用户A的设置位置,则他/她可以看到用户A(eyeColour)的属性。所以onKeyEntered(),我正在尝试加载用户的信息。

每个用户都有自己唯一的ID。当用户设置位置时,子名称将是其唯一ID。 (geofire.setLocation(myUniqueId,myLocation);)

所以我之前尝试过的是使用addListenerForSingleValueEvent,因为我只需要加载一次信息。

mDatabase.child("users").child(key).addListenerForSingleValueEvent(
                    new ValueEventListener() {
                        @Override
                        public void onDataChange(DataSnapshot dataSnapshot) {
                            // Get user value
                            String test = dataSnapshot.getValue(String.class);
                            // ...
                        }

                        @Override
                        public void onCancelled(DatabaseError databaseError) {

                        }
                    });

我认为这会加载用户的个人资料/信息。但相反,String'test'返回null。我究竟做错了什么?我应该改变我的倾听者吗?

0 个答案:

没有答案