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

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

这是最好的方式,即使下载了instagram / facebook提要(即使用户终止了该应用并再次将其打开)之后,仍可以保持某些数据显示。你能给我一些提示吗?

最佳答案

如果要在数据下载后存储并在应用程序重启之间保留数据,那么数据库是一个不错的选择。无论您是要使用普通的游标,还是某些ORM或Realm都取决于您所重视的价值和您愿意接受的权衡因素。

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


异步加载大量数据。
挂钩来自ContentProvider的更改通知


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

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

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

关于android - 像app Realm vs CursorLoader这样的Instagram,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33631429/

10-12 00:19