0

从下面的谷歌示例

As an example of designing and coding content URI handling, consider a provider with the authority com.example.app.provider that recognizes the following content URIs pointing to tables:

content://com.example.app.provider/table1: A table called table1.
content://com.example.app.provider/table2/dataset1: A table called dataset1.
content://com.example.app.provider/table2/dataset2: A table called dataset2.
content://com.example.app.provider/table3: A table called table3.

我在这里很困惑。这个例子是否意味着 Table1Contentprovider、Table2ContentProvider、Table3ContentProvider 指向同一个权限 url?根据我的阅读,每个提供者都应该有唯一的权限 URL。

或者这是否意味着,这里只有一个提供者可以处理所有 3 个表?如果是这样,在提供者的查询方法中,我们是否运行 sql 查询来获取与所有三个表相关的数据?

4

1 回答 1

1

从下面的谷歌示例

实际上,它来自此页面,而不是您链接到的页面。

这个例子是否意味着 Table1Contentprovider、Table2ContentProvider、Table3ContentProvider 指向同一个权限 url?

只有一个提供者,而不是三个(“考虑一个提供者”)。

根据我的阅读,每个提供者都应该有唯一的权限 URL。

AContentProvider可以通过属性中的逗号分隔列表支持多个权限,android:authorities尽管大多数时候它们只支持一个。

或者这是否意味着,这里只有一个提供者可以处理所有 3 个表?

正确的。

如果是这样,在提供者的查询方法中,我们是否运行 sql 查询来获取与所有三个表相关的数据?

在诸如 之类的方法query()中,您检查Uri提供给您的内容并执行特定于提供的路径的操作。在前面提到的示例中,query()会为路径table1table2/dataset1table2/dataset2和做不同的事情table3

于 2013-05-19T23:44:27.573 回答