SQLite 数据到 RecyclerView

2024-04-07

该应用程序的数据存储在 SQLite 数据库中。 UI 主要是 RecyclerView。问题是如何最好地将数据从数据库传输到 UI,同时保持主线程的运行?

我原本计划使用 CursorLoader、ContentProvider 和 RecyclerView。但仔细阅读后发现 RecyclerView 对 Cursor 提供的数据没有开箱即用的支持。当当。

然后我还有其他一些选择......

  1. AsyncTask 加载数据,将其放入模型对象中,并传递到 RecyclerView Adapter 中。除了丑陋之外,它对配置更改也不友好。

  2. 一个自定义加载器,用于从 SQL 加载数据并将其推送到模型对象中。

  3. 使用游标加载器,当它返回游标时,迭代它以将数据推送到模型对象中。我怀疑这会发生在主线程上并且可能会损害性能。

  4. 使用Otto发送请求消息来请求数据,然后通过返回消息返回模型对象集合。可能有大约 500 个对象,所以我想我可能宁愿滥用奥托这样做。

如果我使用模型对象的集合而不是 Cursor,我会发现 ContentProvider 的好处较少,而且我还失去了 UI 在数据更改时自动刷新的能力(这可能很有用)。

这些选项都没有太大吸引力,有更好的方法吗?该应用程序面临时间压力,因此无论它是什么,都需要相当快地实施。不幸的是,UI 需要水平滚动并且仅针对 Lollipop,因此 RecyclerView 似乎确实比 ListView 更好。


使用这个简单的适配器https://gist.github.com/Shywim/127f207e7248fe48400b https://gist.github.com/Shywim/127f207e7248fe48400b,或者你可以使用android.support.v17.leanback.widget.ItemBridgeAdapter with android.support.v17.leanback.widget.CursorObjectAdapter但为什么要让自己的生活变得更加艰难呢?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLite 数据到 RecyclerView 的相关文章

随机推荐