我想使用push()时生成的密钥,所以我可以使用onSuccesListener中的密钥,据我所知,这个密钥是唯一的。
而不是ref.push().setValue()
我这样做了......
final String key = ref.push().getKey(); //unique guaranteed?
ref.child(key).setValue(object).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void result) {
// so now I can use the key here
}
})
困扰我的是这个密钥是在本地生成的(我想,因为我不会用听众来获取它),如果是在本地生成的,我不知道它是否总是唯一的?
如果没有,我该如何实现这一目标?
答案 0 :(得分:2)
是的,致电push()
会在本地生成ID(确保您的用户未连接到Firebase服务器时可以运行)。是的,它们在统计上保证是独一无二的。要详细了解Firebase的推送ID,请参阅此博文:The 2^120 Ways to Ensure Unique Identifiers。
另见: