我正在尝试添加架构,其中我有 ID 列表和值作为日期。但我得到这样的架构:
.
但我想要代替 0 的是 userID 和 date 作为对象。请查看我的代码:
final String idGroup = (StaticConfig.UID + System.currentTimeMillis()).hashCode() + "";
final String currentDate = DateFormat.getDateInstance().format(new Date());
Room room = new Room();
for (String id : listIDChoose) {
AddGroupUser addGroupUser = new AddGroupUser();
addGroupUser.date = currentDate;
addGroupUser.user = id;
room.member.add(addGroupUser);
}
room.groupInfo.put("name", gName);
room.groupInfo.put("admin", StaticConfig.UID);
room.groupInfo.put("avatar",image);
FirebaseDatabase.getInstance().getReference().child("group/" + idGroup).setValue(room).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
ToastMessage("Group Created");
}
});
如何更改我的对象以便获得以下结果。任何帮助将不胜感激。谢谢!!
最佳答案
在你的Room
类你有一个List< AddGroupUser>
. Firebase 翻译了一个 List
到 JSON 格式的从零开始的索引。
为了能够控制键,列表需要变成Map<String, AddGroupUser>
.然后你可以设置每个AddGroupUser
的键你放在 map 上的。
room.members.put(id, addGroupUser);
关于android - 如何在 firebase 中将循环中的 child 添加为 userId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58791643/