android - 如何在 firebase 中将循环中的 child 添加为 userId

标签 android firebase firebase-realtime-database

我正在尝试添加架构,其中我有 ID 列表和值作为日期。但我得到这样的架构:

please follow this image .

但我想要代替 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/

相关文章:

android - 选项卡布局 - addOnTabSelectedListener 上的 NoSuchMethodError

Firebase 托管 : Serve different pages from different custom domains

基于日期的 Firebase 数据库规则

java - 如何仅获取添加到 firebase 的新项目?

java - your.package.namespace - 应该改成什么?

android - 使用 retrofit2 和 OkHttp3 时出现此错误。无法解析主机 "<host-name>": No address associated with hostname

firebase - 如何使用 Firebase 实现 LinkedIn 身份验证?

javascript - stripe firebase 函数设置默认付款

android - GPGS 附近连接 : Is it valid to advertise and discover at the same time?

firebase - Firebase在Flutter函数中获取uid的问题