LoaderManager上网离线数据,然后(LoaderManager get data offl

2019-07-29 16:53发布

我想按照这个很好的可用性模式,其中应用商店数据离线更快的响应和更新它时,它的在线获取新的数据。

我用LoadersLoaderManager

现在,什么是实现与上述方法正确的做法Loaders

目前我使用两种方法,它有自己的缺点,并且,通常都不是很优雅。

  1. 在替代SQLite的应用程序上下文存储数据
  2. 两个独立的AsyncTaskLoaders - offlineLoaderonlineLoader 。 首先从获取SQLite数据库中的数据,并立即显示了它,如果它的存在,第二个从外部服务器加载数据,将其写入数据库(用于offlineLoader),并取代了离线数据

我真的想拥有的是:

一个单一的装载机将离线数据获取并将其返回到LoaderManager,而是继续工作后,回到新鲜的在线数据时,它的准备。 因此,它应该返回两次 - 是它甚至可能吗?

Answer 1:

该解决方案是使用ContentProvider s的Loader ■装载数据,用户界面和Service小号下载数据,将其推到数据库中(并通知ContentProvider和应用程序的其余部分,即它已经改变)。



文章来源: LoaderManager get data offline, then online