欢迎回来
现在让我们从Firebase数据库中获取所有帖子｡
这里我将覆盖Onstart方法, 并在其中通过集合引用､ 点获取､ 点添加成功侦听器启动｡
这里我需要传递一个新的成功侦听器接口｡
当然, 我可以把它去掉, 用Lambda代替, 就像这样｡
查询文档快照｡
查询文档快照是一个对象, 它表示从Firestore查询中检索到的单个文档｡
Firestore文档本质上是类似于JSON的对象, 它们将数据存储在键值对中｡
当您对Firestore集合运行查询时, 您可以获得与查询条件匹配的文档集合,
并且每个文档都表示为查询文档快照｡
因此, 黄金公式是查询文档快照等于文档｡
每个文档都表示为查询文档快照｡
现在我们需要得到所有的文件｡
为此, 我将为每个查询文档快照的循环使用一个for循环｡
所以我将创建一个类型为, query, document, snapshot的对象, 我将它命名为, journal, equals, 来查询, document, snapshot｡
这里我们需要遍历一个名为查询文档快照的查询文档快照对象集合｡
这是一种常见的方法, 可以通过Java, Kotlin或支持此语法的类似语言从Firebase查询中检索到的文档集合｡
在这里, 查询文档快照表示结果集中的单个文档, 您可以在for循环中访问此文档ID和数据｡
我将开始创建一个对象, 从journal, journal, equals, to, journals, list, 或者从journal, 这里我将其命名为journals,
以区分它｡
期刊点到对象方法｡
这个物体是什么类型的？
它的类型是Journal dot class｡
在这里, 我将查询文档快照表示的Firestore文档转换为journal类型的自定义Java对象,
以便更容易地操作和访问文档数据｡
因此, Journal是我们之前创建的一个自定义Java类, 它表示对象方法的模型类, 该方法是Firebase
Firestore SDK提供的一个方法, 它试图将查询文档快照中的数据转换为指定Java类的实例,
在本例中是journal｡
然后我将这个对象添加到日志列表中｡
因此, 对于集合中的每个文档, 请将此文档转换为journal类型的自定义对象, 并将其添加到journal
list数组list中｡
然后, 我将显示回收器视图, 并使用最新的项目和更新来更新UI｡
我将从适配器开始｡
我的适配器等于新的我的适配器｡
这里我需要传递两个参数, 上下文从我们所在的日志列表活动中获取｡
第二个参数是日志列表类型｡
当然, 我需要通过这个日记清单｡
之后, 我们需要将回收器视图与适配器链接起来｡
因此, 回收视图点集适配器, 我需要通过我的适配器｡
不要错过这个非常重要的代码, 我需要通知数据集改变了, 所以我的适配器点通知数据集改变了这个方法｡
通知数据集已更改｡
告知回收器视图基础数据集已更改, 它需要刷新视图以反映新数据｡
当您调用notify data set changed方法时, recycler视图将重新绑定数据到视图,
更新UI并反映数据集中发生的任何更改｡
当您在数据集中添加､ 删除或修改了项目, 并希望UI反映这些更改时,
这特别有用, 在这种情况下, 当将所有项目添加到列表时, 我们需要更新适配器并将新添加的项目显示到回收器视图中｡
我最后要说的是｡
失败
所以在这里添加一个失败监听器, 一个新的失败监听器｡
我需要展示一段祝酒词｡
现在让我们向上滚动并记住它｡
我们这里的参考是期刊｡
收藏是日记｡
让我们去日志应用程序云存储, 并创建一个新的集合, 我将其命名为日志｡
单击下一步｡
这是文档ID, 我就不具体说明了.
你可以选择自动ID, 在这里, 让我们回到我们的日记应用程序的模态类｡
这里我们需要得到六个字段｡
我就抄这个标题｡
示例主编码应用程序添加字段的值｡
另一个领域｡
思想
然后添加字段图像URL, 我将粘贴图像URL｡
你可以看到它｡
这是我的申请表
我需要使用用户ID杰克一次添加, 在这里我需要改变它的邮票｡
所以我用了时间戳｡
七次约会｡
子字符串和这里的时间添加时间戳｡
最后一个字段是用户名user id｡
然后单击保存｡
我们在这里做的是创建一个参考期刊的集合｡
我们创建了一个文档, 其中一个文档的ID｡
在这个文档中, 我们有六个字段图像URL字段, 添加时间标题, 用户ID和用户名｡
现在让我们运行应用程序｡
为了让这本日记进入我们的应用程序, 我将登录｡
开始了
这是我们的第一篇文章｡
你可以看到杰克一号｡
这是应用程序的图像｡
这是标题, 这是喉咙, 这是时间戳.
恭喜你们｡
我们从Firestore中获取日志并将其显示到日志列表中｡
活动