Android 内容提供器---内容提供器基础(MIME类型参考)

来源:互联网 发布:ad旋转网络标号 编辑:程序博客网 时间:2024/05/16 06:29
内容提供器能够返回标准的MIME媒体类型,或定制的MIME类型字符串,或者都能。

MIME类型格式如下:

type/subtype

例如,已知的MIME类型text/html,它有text类型和html子类型,如果提供器返回这种类型的资源标识(URI),就意味着使用这个URI查询,将返回 包含HTML标签的文本。

定制的MIME类型字符串,也叫做“vendor-specific”MIME类型,它有更复杂的类型和子类型值,对于多行的MIME类型,类型值始终是vnd.android.cursor.dir,对于单行MIME类型,类型值始终是vnd.android.cursor.item。

定制类型的子类型是特定的提供器。通常Android内置的提供器有一个简单的子类型。如,当通讯录应用程序给电话号码创建一行时,它在这行中设置了以下MIME类型:

vnd.android.cursor.item/phone_v2

子类型值是简单的phone_v2.

 

其他的提供器开发者可以基于提供器的授权和表名创建它们自己的子类型模式。例如,一个包含列车时刻表的提供器,提供器的授权是com.example.trains,并且它包含了表Line1、Line2、和Line3。

针对表Line1的资源标识(URI)content://com.example.trains/Line1的响应中,提供器返回的MIME类型如下:

vnd.android.cursor.dir/vnd.example.line1

针对表Line2的第5行的资源标识(URI)content://com.example.trains/Line2/5的响应中,提供器返回的MIME类型如下:

vnd.android.cursor.item/vnd.example.line2

大多数内容提供器都给它们使用的MIME类型定义了合约类常量。例如,通讯录提供器的合约类ContactsContract.RawContacts给一个单行的通讯录的MIME类型定义了常量CONTENT_ITEM_TYPE。

原创粉丝点击