Firebase Android显示和修改每个用户的元素

问题描述

我正在使用Firebase制作此android应用,其中有一些书,每个用户都可以将其设置为已读或正在读。

我不知道该怎么做,因为Firebase是noSQL,并且实体之间没有关系。

这三个活动:在第一个活动中,用户可以看到所有书籍,并最终将其中一个书籍设置为已读或阅读;在第二个活动中,只有标记为广告阅读的书籍,而在第三个活动中,标记为阅读的书籍。 / p>

它们必须分开,每个用户都有自己的。

如何使用Firebase实时数据库和存储来做到这一点?

解决方法

我可能会为您拥有的两种类型创建两个顶级节点:

  1. 用户
  2. 书籍

然后为它们之间的关系创建另外两个顶级节点:

  1. UserBooks-在这里我们将每个用户绑定到他们的书,并跟踪他们的阅读状态。
  2. BookUsers-将每本书与用户联系起来。仅当您想向特定用户展示用户时,才需要这样做,但是我通常建议立即添加。

这样一个简单的模型可能看起来像:

Users: {
  "uidOfFio": { ... },"uidOfPuf": { ... }
},Books: {
  "idOfBook1": { ... },"idOfBook2": { ... }
},UserBooks: {
  "uidOfFio": {
    "idOfBook1": "Read","idOfBook2": "Reading"
  },"uidOfPuf": {
    "idOfBook1": "Reading",}
},BookUsers: {
  "idOfBook1": {
    "uidOfFio": "Read","uidOfPuf": "Reading"
  },"idOfBook2": {
    "uidOfFio": "Reading"
  },}

有关此的更多信息,我建议阅读:

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...