当上传帖子时,我试图获取postKey并将其上传到dynamiclink,但是我得到了错误的postKey(密钥中的前6个字符正确,然后其余错误)。上传帖子时如何获得正确的postKey?
这是我的帖子,包括正确的postKey:
这就是我得到的-LYelE9TdCU73qW1Xisc,对于任何其他帖子,这也不是关键。
我的密码
String postKey = FirebaseDatabase.getInstance().getReference().child("posts").push().getKey();
Log.i("postkey for dynamiclink",postKey);
非常感谢您的帮助!
最佳答案
在您的代码中,您正在使用postKey
创建另一个push().getKey()
。
要检索数据库中已经存在的密钥,请尝试以下操作:
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) {
}
});