Java I';当我';当我试图拿到钥匙时';我正在上传帖子

Java I';当我';当我试图拿到钥匙时';我正在上传帖子,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,上传帖子时,我试图获取postKey并将其上传到dynamiclink,但我获取了错误的postKey(键中的前6个字符是正确的,其余字符是错误的)。上传帖子时如何获得正确的postKey 这是我的帖子,包括右贴子: 这就是我得到的,这也不是任何其他帖子的关键 我的代码 String postKey = FirebaseDatabase.getInstance().getReference().child("posts").push().getKey(); Log.i("pos

上传帖子时,我试图获取postKey并将其上传到dynamiclink,但我获取了错误的postKey(键中的前6个字符是正确的,其余字符是错误的)。上传帖子时如何获得正确的postKey

这是我的帖子,包括右贴子:

这就是我得到的,这也不是任何其他帖子的关键

我的代码

String postKey = FirebaseDatabase.getInstance().getReference().child("posts").push().getKey();
        Log.i("postkey for dynamiclink",postKey);

非常感谢你的帮助

在代码中,您正在使用
push().getKey()
创建另一个
postKey

要检索数据库中已存在的密钥,请尝试以下操作:

  DatabaseReference reference = FirebaseDatabase.getInstance().getReference("posts");

reference.orderByChild("title").equalTo("test").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
  for(DataSnapshot datas: dataSnapshot.getChildren()){
     String keys=datas.getKey();
    }
 }
@Override
public void onCancelled(DatabaseError databaseError) {
    }
 });

谢谢Peter,你说得对,我正在创建另一个postkey。我删除了重复的.push(),并使用同一行代码解决了问题。谢谢Peter,你说得对,我正在创建另一个postkey。我删除了重复的.push(),并使用同一行代码解决了问题。