WEBVTT

00:00.110 --> 00:00.980
欢迎回来

00:00.980 --> 00:05.630
现在让我们从Firebase数据库中获取所有帖子｡ 

00:05.630 --> 00:19.370
这里我将覆盖Onstart方法, 并在其中通过集合引用､ 点获取､ 点添加成功侦听器启动｡

00:19.370 --> 00:24.050
这里我需要传递一个新的成功侦听器接口｡ 

00:24.080 --> 00:29.240
当然, 我可以把它去掉, 用Lambda代替, 就像这样｡ 

00:29.240 --> 00:31.580
查询文档快照｡ 

00:31.610 --> 00:39.140
查询文档快照是一个对象, 它表示从Firestore查询中检索到的单个文档｡ 

00:39.170 --> 00:46.040
Firestore文档本质上是类似于JSON的对象, 它们将数据存储在键值对中｡ 

00:46.040 --> 00:52.940
当您对Firestore集合运行查询时, 您可以获得与查询条件匹配的文档集合,

00:52.940 --> 00:59.690
并且每个文档都表示为查询文档快照｡

00:59.690 --> 01:04.740
因此, 黄金公式是查询文档快照等于文档｡ 

01:04.760 --> 01:08.990
每个文档都表示为查询文档快照｡ 

01:09.020 --> 01:11.720
现在我们需要得到所有的文件｡ 

01:11.720 --> 01:19.040
为此, 我将为每个查询文档快照的循环使用一个for循环｡ 

01:19.040 --> 01:29.030
所以我将创建一个类型为, query, document, snapshot的对象, 我将它命名为, journal, equals, 来查询, document, snapshot｡

01:29.060 --> 01:37.640
这里我们需要遍历一个名为查询文档快照的查询文档快照对象集合｡

01:37.670 --> 01:49.130
这是一种常见的方法, 可以通过Java, Kotlin或支持此语法的类似语言从Firebase查询中检索到的文档集合｡

01:49.130 --> 02:01.730
在这里, 查询文档快照表示结果集中的单个文档, 您可以在for循环中访问此文档ID和数据｡

02:01.730 --> 02:11.480
我将开始创建一个对象, 从journal, journal, equals, to, journals, list, 或者从journal, 这里我将其命名为journals,

02:11.630 --> 02:14.900
以区分它｡

02:14.900 --> 02:18.740
期刊点到对象方法｡ 

02:18.740 --> 02:21.380
这个物体是什么类型的？

02:21.380 --> 02:24.230
它的类型是Journal dot class｡ 

02:24.230 --> 02:34.160
在这里, 我将查询文档快照表示的Firestore文档转换为journal类型的自定义Java对象,

02:34.160 --> 02:41.210
以便更容易地操作和访问文档数据｡

02:41.210 --> 02:49.310
因此, Journal是我们之前创建的一个自定义Java类, 它表示对象方法的模型类, 该方法是Firebase

02:49.310 --> 02:57.080
Firestore SDK提供的一个方法, 它试图将查询文档快照中的数据转换为指定Java类的实例,

02:57.080 --> 03:02.900
在本例中是journal｡

03:02.900 --> 03:08.420
然后我将这个对象添加到日志列表中｡ 

03:08.420 --> 03:15.380
因此, 对于集合中的每个文档, 请将此文档转换为journal类型的自定义对象, 并将其添加到journal

03:15.380 --> 03:19.220
list数组list中｡

03:19.220 --> 03:26.690
然后, 我将显示回收器视图, 并使用最新的项目和更新来更新UI｡ 

03:26.690 --> 03:27.950
我将从适配器开始｡ 

03:27.950 --> 03:32.420
我的适配器等于新的我的适配器｡ 

03:32.420 --> 03:41.570
这里我需要传递两个参数, 上下文从我们所在的日志列表活动中获取｡

03:41.570 --> 03:45.620
第二个参数是日志列表类型｡ 

03:45.620 --> 03:49.180
当然, 我需要通过这个日记清单｡ 

03:49.190 --> 03:54.110
之后, 我们需要将回收器视图与适配器链接起来｡ 

03:54.110 --> 04:00.440
因此, 回收视图点集适配器, 我需要通过我的适配器｡ 

04:00.470 --> 04:13.820
不要错过这个非常重要的代码, 我需要通知数据集改变了, 所以我的适配器点通知数据集改变了这个方法｡

04:13.820 --> 04:16.040
通知数据集已更改｡ 

04:16.070 --> 04:25.040
告知回收器视图基础数据集已更改, 它需要刷新视图以反映新数据｡

04:25.040 --> 04:31.160
当您调用notify data set changed方法时, recycler视图将重新绑定数据到视图,

04:31.190 --> 04:36.200
更新UI并反映数据集中发生的任何更改｡

04:36.200 --> 04:43.520
当您在数据集中添加､ 删除或修改了项目, 并希望UI反映这些更改时,

04:43.520 --> 04:56.690
这特别有用, 在这种情况下, 当将所有项目添加到列表时, 我们需要更新适配器并将新添加的项目显示到回收器视图中｡

04:56.690 --> 04:59.420
我最后要说的是｡ 

04:59.590 --> 05:00.040
失败

05:00.040 --> 05:05.290
所以在这里添加一个失败监听器, 一个新的失败监听器｡ 

05:05.290 --> 05:07.990
我需要展示一段祝酒词｡ 

05:11.960 --> 05:16.550
现在让我们向上滚动并记住它｡ 

05:16.550 --> 05:19.610
我们这里的参考是期刊｡ 

05:19.610 --> 05:21.500
收藏是日记｡ 

05:21.500 --> 05:30.600
让我们去日志应用程序云存储, 并创建一个新的集合, 我将其命名为日志｡ 

05:30.620 --> 05:31.490
单击下一步｡ 

05:31.490 --> 05:36.260
这是文档ID, 我就不具体说明了.

05:36.260 --> 05:43.820
你可以选择自动ID, 在这里, 让我们回到我们的日记应用程序的模态类｡ 

05:43.820 --> 05:47.870
这里我们需要得到六个字段｡ 

05:47.870 --> 05:50.060
我就抄这个标题｡ 

05:50.060 --> 05:55.280
示例主编码应用程序添加字段的值｡ 

05:55.490 --> 05:56.510
另一个领域｡ 

05:56.510 --> 05:57.380
思想

06:03.340 --> 06:08.290
然后添加字段图像URL, 我将粘贴图像URL｡ 

06:08.470 --> 06:09.510
你可以看到它｡ 

06:09.520 --> 06:11.410
这是我的申请表

06:14.450 --> 06:21.740
我需要使用用户ID杰克一次添加, 在这里我需要改变它的邮票｡ 

06:21.740 --> 06:23.660
所以我用了时间戳｡ 

06:27.310 --> 06:30.160
七次约会｡ 

06:36.930 --> 06:40.290
子字符串和这里的时间添加时间戳｡ 

06:40.290 --> 06:44.160
最后一个字段是用户名user id｡ 

06:44.460 --> 06:46.080
然后单击保存｡ 

06:46.320 --> 06:52.410
我们在这里做的是创建一个参考期刊的集合｡ 

06:52.440 --> 06:56.130
我们创建了一个文档, 其中一个文档的ID｡ 

06:56.160 --> 07:04.010
在这个文档中, 我们有六个字段图像URL字段, 添加时间标题, 用户ID和用户名｡ 

07:04.020 --> 07:06.300
现在让我们运行应用程序｡ 

07:06.300 --> 07:11.430
为了让这本日记进入我们的应用程序, 我将登录｡ 

07:16.160 --> 07:17.360
开始了

07:17.360 --> 07:19.370
这是我们的第一篇文章｡ 

07:19.370 --> 07:21.200
你可以看到杰克一号｡ 

07:21.200 --> 07:23.900
这是应用程序的图像｡ 

07:23.900 --> 07:29.090
这是标题, 这是喉咙, 这是时间戳.

07:29.090 --> 07:30.740
恭喜你们｡ 

07:30.740 --> 07:37.010
我们从Firestore中获取日志并将其显示到日志列表中｡ 

07:37.010 --> 07:37.580
活动
