它主要是作为匹配的标准,能否匹配成功由、、三个tag共同决定的。
2、一个包括:
一个或多个
零个或多个
指定的分类特征
eg:
--说明该是该project运行的第一个界面
--说明该可以作为Launcher的,即系统操作界面
--缺省情况
零个或一个
-- 指定携带的数据的类型,使用MIME类型描述方式来描述
eg:
video/mpeg表示编码格式为mpeg的视频,
也可以使用通配符video/*表示任意格式的视频文件类型;
在查询ContentProvider时,可以使用
查询上来的数据是多个记录
查询上来的数据是单个记录
如上设置,要重写SQLiteOpenHelper的getType(Uri uri)方法
eg:
@Override
public String getType(Uri uri) {
final int match = sUriMatcher.match(uri) ;
switch(match)
{
case NOTES :
case LIVE_FOLDER_NOTES:
return "vnd.android.cursor.dir/vnd.myq.note" ;
case NOTES_ID :
return "vnd.android.cursor.item/vnd.myq.note" ;
default:
throw new IllegalArgumentException("invalid uri : " + uri) ;
}
}
数据的URI由scheme(协议),host,port,path四部分:scheme://host:port/path
3、一个Intent对应多种匹配结果的处理说明
一个intent有多个可匹配的处理组件,系统如何处理?
分响应消息的组件类型:
1)如果是service那么这些service都可以启动并处理消息。
2)如果是Activity则会弹出一个对话框让用户进行选择。