当上传帖子时,我试图获取postKey并将其上传到dynamiclink,但是我遇到了错误的postKey(键中的前6个字符正确,然后其余错误)。上传帖子时如何获得正确的postKey?
这是我的帖子,包括正确的postKey:
这就是我得到的 -LYelE9TdCU73qW1Xisc ,这也不是其他任何帖子的重点。
我的代码
String postKey = FirebaseDatabase.getInstance().getReference().child("posts").push().getKey();
Log.i("postkey for dynamiclink",postKey);
非常感谢您的帮助!
答案 0 :(得分:1)
在您的代码中,您正在使用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) {
}
});