意图服务,内容提供商和装载商

时间:2015-07-19 08:07:59

标签: android sqlite android-intent

在开发Android应用程序时,我使用Loaders通过内容提供程序从本地SQLite DB异步检索数据并更新Views。

当我必须从Internet检索数据(即JSON)时,我使用意图服务。下载完成后,将触发广播接收器,并通过本地SQLite Db中的内容提供商存储收集的数据。

更新数据库后有没有办法触发加载程序执行?第一次从Internet下载数据时,我在更新数据库后更新广播接收器中的UI,但通过加载器也可以更加连贯。

更新

请注意我希望得到基于Android标准课程的答案(不是来自第三方的图书馆)

1 个答案:

答案 0 :(得分:3)

  

更新数据库后有没有办法触发加载程序执行?

是的,只需在ContentProvider中实施通知机制即可。基本上是:

    在返回query()来电Cursor

    之前,Cursor.setNotificationUri()中的
  • insert()delete()update()中,通过ContentResolver.notifyChange()

  • 通知对uri的更改

另见other answer of mine