来自google以下示例
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?根据我的阅读,每个提供商都应该有唯一的权限网址。
或者是否意味着,这里只有一个提供商能够运行所有3个表?如果是这种情况,在提供者的查询方法中,我们运行sql查询来获取与所有三个表相关的数据吗?
答案 0 :(得分:1)
来自下面的谷歌示例
实际上,它来自this page,而不是您链接的那个。
此示例是否表示Table1Contentprovider,Table2ContentProvider,Table3ContentProvider指向相同的权限网址?
只有一个提供商,而不是三个(“考虑 提供商”)。
根据我的阅读,每个提供商都应该有唯一的权限网址。
ContentProvider
可以通过android:authorities
属性中的逗号分隔列表支持多个权限,但大多数情况下它们只支持一个。
或者是否意味着,这里只有一个提供商能够运行所有3个表?
正确。
如果是这种情况,在提供者的查询方法中,我们运行sql查询来获取与所有三个表相关的数据吗?
在query()
之类的方法中,检查您提供的Uri
并执行特定于所提供路径的操作。在上述示例中,query()
会为路径table1
,table2/dataset1
,table2/dataset2
和table3
执行不同的操作。