如何知道push()生成的密钥

时间:2017-06-30 04:51:12

标签: android firebase firebase-realtime-database

我正在创建一个我正在使用的应用

mRef.push ().setValue (map);

现在我想知道这个push命令生成的密钥的名称,以便我可以识别该数据。

2 个答案:

答案 0 :(得分:0)

首先将密钥存储在局部变量中,然后使用以下代码: -

String key = mref.push();                                              
mref.child(key).setValue(map);

答案 1 :(得分:0)

如果生成多个密钥并从Firebase数据库检索数据,则可以使用以下代码:

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

 ValueEventListener postListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            if (dataSnapshot.hasChildren()) {
                for (DataSnapshot ds : dataSnapshot.getChildren()) {

                    Log.e("KEY",ds.getKey());
                }
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            // Getting Post failed, log a message
            Log.e("DB error", "loadPost:onCancelled", databaseError.toException());
        }
    };