【问题标题】:Firebaserecycleadapter, what is the difference with "normal" recycleradapter? (android)Firebaserecycleadapter,与“普通”recycleradapter有什么区别? (安卓)
【发布时间】:2019-04-07 21:32:29
【问题描述】:

我在互联网上查看过,但没有找到任何答案。

使用 firebaserecycleadapter 和普通 recycleradapter 之间的真正区别是什么?

我的意思是,Firebaserecycleradapter 是否只会从数据库中加载屏幕上可见的数据?那么它是某种无限滚动,仅在用户滚动屏幕时才加载数据?

我只使用“普通”回收适配器,它工作得很好。唯一的问题是它一次从服务器加载所有数据。

【问题讨论】:

    标签: android firebase android-recyclerview firebaseui


    【解决方案1】:

    如果您不使用FirebaseRecyclerAdapter,那么您需要创建自己的自定义适配器,以便与 firebase 数据库一起使用。

    这就是创建库 FirebaseUI 的原因,以便更轻松地将数据与 UI 绑定。

    另外FirebaseRecyclerAdapter 会实时更新您的数据。

    【讨论】:

    • 我不太明白,因为我自己的所有适配器都可以与 firebase 完美配合:我只需从 serverur 检索每个数据并在每次有新数据时调用 notifydatasetchanged() 并且没有问题.它也是实时更新的,因为如果添加了一个孩子,我只需将其添加到我的列表中并调用 notifydatasetchanged()。那么如果我使用这个 FirebaseRecyclerAdapter 对我有什么好处呢?
    • 我想知道的是:这个 FirebaseRecyclerAdapter 是否检索您只需要在屏幕上看到的数据?例如,我有 100 条消息,但我一次只能在屏幕上看到 8 条。它会从 serverur 加载 100 条消息,还是仅加载您可以看到的 8 条消息?
    • 它将根据您的查询加载,因此如果您使用示例orderByChild("name").startAt("P");,那么它将加载所有带有“P”星号的名称。它与自定义适配器相同,但唯一不同的是您编写的代码更少。但是在自定义中,您还需要进行查询..
    • 所以如果我对自己的自定义适配器没问题,除了使用 firebaseRecyclerAdapter 编写更少的代码不会给我更多的东西?
    • 是的,代码更少,因为库会为你做这件事。您只需要创建一个 firebaserecycleradapter 实例。但是,是的,关于数据,它是相同的,所以不要担心这种情况。此外,如果您使用notifydatasetchanged(),您将调用适配器来获取新数据,所以几乎相同。
    猜你喜欢
    • 2020-09-22
    • 1970-01-01
    • 2016-04-20
    • 2013-08-20
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 2017-06-04
    • 2011-02-25
    相关资源
    最近更新 更多