Instagram 类应用 Realm 与 CursorLoader

Instagram like app Realm vs CursorLoader

我有一个类似 Instagram 的应用程序,我在其中从服务器接收数据(imageUrl、用户名、关于),并将其存储在 cursorLoader 中,然后从 cursorLoader 中获取数据并将其放入 RecyclerAdapter。正在使用 Volley 库加载图像。

我最近发现了领域库。我应该使用它而不是 cursorLoader 吗?我什至不确定为什么我需要游标加载器,但我实现了它并且它正在工作。我想我只需要在连接后存储用户,这样如果他没有断开连接,它就不必在每次调用应用程序时都连接。这将是使该应用程序顺利运行的最佳方法。

这是让某些数据在下载后显示如 instagram/facebook 提要的最佳方式(即使在用户关闭应用程序并再次打开它之后) ).你能给我一些提示吗?

如果你想在下载数据后存储数据并在应用程序重启之间持久保存,那么数据库是一个不错的选择。无论你想使用普通的 Cursors、一些 ORM 还是 Realm,都取决于你的价值观和你愿意接受的权衡。

也就是说,使用 CursorLoader 的主要原因是

  1. 异步加载大量数据。

  2. 连接到来自 ContentProvider 的更改通知

如果您不使用 ContentProvider,CursorLoader 就会失去很多功能。

CursorLoader 提供的相同功能(自动刷新 changes/handle 大量数据)可以使用 Realm 用更少的代码来表达:

RealmResults<ServerData> results = realm.where(ServerData.class).findAllAsync();
RealmBaseAdapter adapter = new RealmBaseAdapter(context, results, true);
listView.setAdapter(adapter);