从另一个应用程序访问我的内容提供商

时间:2013-09-13 18:29:24

标签: android android-contentprovider

当您尝试从单独的应用程序访问内容提供程序时,该应用程序是否必须运行才能访问其cp?

最后,如何从单独的内容提供商进行查询。我发现的唯一一个例子是使用了不推荐使用的managedQuery。

任何示例或漫步都会很棒。谢谢。

1 个答案:

答案 0 :(得分:0)

  1. 不,ContentProvider是头等组件(就像活动和服务一样),可以随时访问。
  2. Content Provider basics通过使用getContentResolver().query()访问ContentProvider的主要内容(其中getContentResolver()是来自Context的方法)。
  3. 您还可以使用AsyncQueryHandler提供异步插入/更新/删除/查询功能,这对于您不想绑定主线程的一次性查询非常有用(因为长时间查询可能会使您的应用程序似乎没有响应)。

    但是,对于重新检查查询,Loader framework(也可通过支持库提供)和CursorLoader是使用ContentProvider的最简单方法,因为它们会自动刷新数据随着它的变化(假设你的ContentProvider在每次操作后在相应的URI上调用notifyChange。)