0

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

最后,我如何从单独的内容提供商查询。我发现的唯一示例使用了已弃用的 managedQuery。

任何示例或演练都会很棒。谢谢你。

4

1 回答 1

0
  1. 不,ContentProviders 是一流的组件(就像活动和服务一样),可以随时访问。
  2. 内容提供者基础知识ContentProvider通过使用getContentResolver().query()访问的要点(其中getContentResolver()方法来自Context)。

您还可以使用AsyncQueryHandler提供异步插入/更新/删除/查询功能,这对于您不想占用主线程的一次性查询非常有用(因为长时间查询可能会使您的应用程序显得无响应)。

但是,对于重复查询,Loader 框架(也可以通过 Support Library 获得)和CursorLoader是迄今为止使用ContentProviders 最简单的方法,因为它们会在数据发生变化时自动刷新数据(假设您在每次之后都在适当的 URI 上ContentProvider调用notifyChange手术)。

于 2013-09-13T19:07:03.673 回答