【发布时间】:2010-02-16 23:31:20
【问题描述】:
ContentProvider 文档说要在 AndroidManifest 中为您的 ContentProvider 类创建一个条目。如果您的类支持多个子表,则必须为每个子表声明一个 CONTENT_URI 常量。如何?除非您为每个子表进行子类化,否则您不能这样做。为什么不只拥有多个提供商?
您是否将子表提供程序实现为后代?有多个子表,还是只有一个 ContentProvider 类?
如您所见,我对文档感到困惑。上面写着:
定义一个名为 CONTENT_URI。这是字符串 表示完整的内容:URI 您的内容提供商处理。你 必须为此定义一个唯一的字符串 价值。最好的解决方案是使用 的完全限定的类名 内容提供者(小写)。所以, 例如,一个 URI TransportationProvider 类可以是 定义如下:
public static final Uri CONTENT_URI =
Uri.parse("content://com.example.codelab.transporationprovider");
如果提供者有子表,还要为每个子表定义 CONTENT_URI 常量。这些 URI 都应该具有相同的权限(因为它标识了内容提供者),并且仅通过它们的路径来区分。例如:
content://com.example.codelab.transporationprovider/train
content://com.example.codelab.transporationprovider/air/domestic
content://com.example.codelab.transporationprovider/air/international
那么,我们创建了多少类来处理火车、航空/国内和航空/国际?
【问题讨论】:
标签: android android-contentprovider