我对内容类型的问题有非常基本的了解。
我看了很多例子和文字来解释上述术语,但仍然有一些基本的理解问题。有人能帮我澄清一下吗?
在android记事本示例和许多其他示例中,都提到了vnd.android.cursor。Dir/解析为目录和vnd.android.cursor中的项列表。Item/是指目录中的特定项。
这个vnd.android.cursor.dir是android定义的标准常量吗?这是从哪里来的呢?,或者我可以把它改成
vn.com.android.myexample.dir/
这是如何解决的,它的目的是什么,为什么不使用完整的CONTENT_URI?
对不起,我完全迷路了,我不明白这个。
文档:https://developer.android.com/guide/topics/providers/content-provider-basics#MIMETypeReference
ContentProvider返回的MIME类型。getType有两个不同的部分:
type/subType
类型部分表示ContentProvider为给定URI返回的已知类型,因为查询方法只能返回游标,所以类型应该始终是:
-
vnd.android.cursor.dir
用于期望游标包含0到无限项
或
-
vnd.android.cursor.item
用于期望游标包含1项
子类型部分可以是众所周知的子类型,也可以是应用程序独有的子类型。
所以当使用ContentProvider时,你可以自定义MIME类型的第二个子类型部分,但不能自定义第一个部分。例如,应用程序的有效MIME类型ContentProvider可以是:
vnd.android.cursor.dir/vnd.myexample.whatever
从ContentProvider返回的MIME类型可以被Intent用来决定启动哪个activity来处理从给定URI检索到的数据
这是从哪里来的?,或者改成vn.com.android.myexample.dir/
不,因为"vnd"代表MIME注册树中的供应商,在本例中是android。