当我像下一个一样向它推送值时,我想检索由 firebase 生成的 id
我想检索该电子邮件的“-KGdKiPSODz7JXzlgl9J”这个 ID 我试过 getKey() 但它返回“用户” 当用户获得值(value)时,它将整个对象从 id 返回到个人资料图片,这不会让我在我的应用程序中将其作为用户对象
如何解决?
Firebase users = myFirebaseRef.child("users");
users.orderByChild("email").equalTo("z@m.com").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
dataSnapshot.getKey();
Log.d("User",dataSnapshot.getRef().toString());
Log.d("User",dataSnapshot.getValue().toString());
}
@Override
public void onCancelled(FirebaseError firebaseError) {
Log.d("User",firebaseError.getMessage() );
}
});
最佳答案
您可以从 push() 中读取 key ,而无需推送值。稍后您可以使用该键创建一个子项并推送该键的值。
// read the index key
String mGroupId = mGroupRef.push().getKey();
....
....
// create a child with index value
mGroupRef.child(mGroupId).setValue(new ChatGroup());
mGroupId
包含用于索引您要保存的值的键。
关于android - 获取firebase android中特定值的推送ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37094631/