Afr*_*rid 1 android firebase firebase-realtime-database
如何在中提供用户定义的键值push(),而不是通过push创建的唯一值?
这是当前正在执行的操作:
User user = new User(Editname.getText().toString(),
Editpid.getText().toString(),Editsem.getText().toString());
mRef.child("users").push().setValue(user);
Run Code Online (Sandbox Code Playgroud)
.push() 将创建一个具有唯一参考的新项目。
您可以改用updateChildren()更新。例如,
User user=new User(Editname.getText().toString(),Editpid.getText().toString(),Editsem.getText().toString());
Map<String, Object> itemValues = user.toMap();
Map<String, Object> childUpdates = new HashMap<>();
// Define the key value here
String username = "yourKeyValueHere";
childUpdates.put("/users/" + username, itemValues);
mDatabase.updateChildren(childUpdates);
Run Code Online (Sandbox Code Playgroud)
您可能必须在User类中添加类似于以下内容的内容。
@Exclude
public Map<String, Object> toMap() {
HashMap<String, Object> result = new HashMap<>();
result.put("name", name);
result.put("pid", pid);
result.put("sem", sem);
return result;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3111 次 |
| 最近记录: |