Contentprovider:如何使用它的参考?

时间:2013-10-10 17:18:32

标签: android service android-contentprovider

我想在服务中使用Contentprovider。我编写了一个处理程序类来解析JSON,并希望在我的contentprovider中插入数据,如何为一个Service提供内容提供者的引用?

2 个答案:

答案 0 :(得分:0)

只需从您的服务中拨打getContentResolver()即可;

答案 1 :(得分:0)

评论是正确的,但我觉得他们需要详细说明:

内容提供商,即使您只在自己的应用中使用的内容提供商,也不会直接引用。相反,应用程序应使用ContentResolver中的方法来访问内容提供程序。 ContentResolver具有与必须为ContentProvider(其抽象方法)实现的方法相同的方法集。例如,如果要将数据插入ContentProvider,则调用getContentResolver()。insert()。 ContentResolver是一个通用对象,用于与内容提供者,文件提供者和同步适配器框架进行通信。

在应用程序中定义内容提供程序时,必须在清单中定义其权限值,并且还必须编写解释传入内容URI的代码。处理内容URI的最佳方法是首先使用表单

为提供程序中的每个表分配单独的内容URI。
content://*authority*/*path*

权限是您在清单中指定的权限字符串; 事实上的标准是使用你的应用程序包名附加“.provider”。 路径是其所代表的表格的描述性术语。例如:

content://com.example.android.myapp.provider/sales

指向提供者中的Sales表。如果你愿意,你可以变得更加漂亮,但是大多数开发者都会通过这个提议来满足他们的需求。

要在内容提供程序中使用内容URI,请使用android.content.UriMatcher类。