如何从fire base数据库中检索自定义推送ID?

时间:2017-04-26 07:12:20

标签: android firebase firebase-realtime-database

我无法获取在推送值时创建的自定义推送ID。 enter image description here

我想从rated_user节点获取“4wJIGRCkYrZqFpb401hSmgHeBOI3”。任何帮助都会非常有用。提前谢谢。

3 个答案:

答案 0 :(得分:0)

让我们说为rated_users提供的数据库参考是RatedUser

  valueEventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
           for(DataSnapshot postSnapshot : dataSnapshot.getChildren()){
                String key = postSnapshot.getKey();
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    };



  RatedUser.addValueEventListener(valueEventListener);

答案 1 :(得分:0)

使用以下代码归档您的目标。

    private DatabaseReference ref;
        ref = FirebaseDatabase.getInstance().getReferenceFromUrl("https://xxxx.firebase.com/rated_users");

        ref.addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        try {
                            String key = dataSnapshot.getKey();
String value = dataSnapshot.child("key").getValue(String.class);
                        }catch (Exception e) {
                            String valws = e.getMessage();
                        }
                    }

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

PS: 我做了一个快速的样本,它适合我。 enter image description here

答案 2 :(得分:-1)

我所做的只是添加了一个foreach循环:

 for(DataSnapshot snapshot : dataSnapshot.getChildren()){
                Log.e("children" , snapshot.getKey()+"");
            }

这给了我关键" 4wJIGRCkYrZqFp401hSmgHeBOI3"