[英]Can't get key from FirebaseDatabase
I'm pushing an object to FirebaseDatabase
and trying to get the key of the object that I just pushed to Firebase
. 我正在将对象推送到FirebaseDatabase
并尝试获取刚推送到Firebase
的对象的密钥。 I've looked at Get the pushed ID for specific value in firebase android and I'm trying to use that but it's not working. 我已经看过在Firebase android中获取特定值的推送ID ,我正在尝试使用它,但是它不起作用。
Initialization of DatabaseReference
in onCreate
在onCreate
初始化DatabaseReference
mDatabaseRef = FirebaseDatabase.getInstance().getReference().child("People");
The actual function- 实际功能
private String pushPersonToFirebase() {
Person newPerson = new Person();
String firstName = mFirstNameTextView.getText().toString();
String lastName = mLastNameTextView.getText().toString();
if(!firstName.equals("") && !lastName.equals("")) {
newPerson.setFirstName(firstName);
newPerson.setLastName(lastName);
newPerson.setImgPath(anonymousPeople.get(indexAnon).toString());
mDatabaseRef.push().setValue(newPerson);
return mDatabaseRef.getKey(); //This always returns "People" need it to return the key of the object that was just pushed
} else {
Toast.makeText(this, "You didn't enter all fields", Toast.LENGTH_SHORT).show();
return "";
}
}
you can get key using this way.. 您可以使用这种方式获取密钥。
String key = mDatabaseRef.push().getKey(); // its your key
-- code---
newPerson.setFirstName(firstName);
newPerson.setLastName(lastName);
newPerson.setImgPath(anonymousPeople.get(indexAnon).toString());
--- code ---
mDatabaseRef..child(key).setValue(newPerson);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.