public static final UriMatcher uriMatcher;
static {
uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
uriMatcher.addURI(Book.AUTHORITY, "item", Book.ITEM);
uriMatcher.addURI(Book.AUTHORITY, "item/#", Book.ITEM_ID);
}
这里UriMatcher类型的静态字段是用来匹配传入到ContentProvider中的Uri的类。其构造方法传入的匹配码是使用match()方法匹配根路径时返回的值,这个匹配码可以为一个大于零的数表示匹配根路径或传入-1,即常量UriMatcher.NO_MATCH表示不匹配根路径。addURI()方法是用来增加其他URI匹配路径的,第一个参数传入标识ContentProvider的AUTHORITY字符串。第二个参数传入需要匹配的路径,
这里的#代表匹配任意数字,另外还可以用*来匹配任意文本。第三个参数必须传入一个大于零的匹配码,用于match()方法对相匹配的URI返回相对应的匹配码。
例子:
@Override
public String getType(Uri uri) {
// TODO Auto-generated method stub
System.out.println(" BookProvider getType...");
int code = uriMatcher.match(uri);
switch (code) {
case Book.ITEM:
System.out.println(" BookProvider getType..." +Book.CONTENT_TYPE);
return Book.CONTENT_TYPE;
case Book.ITEM_ID:
System.out.println(" BookProvider getType..." +Book.CONTENT_ITEM_TYPE);
return Book.CONTENT_ITEM_TYPE;
default:
throw new IllegalArgumentException("Unknown URI " + uri);
}
}
分享到:
相关推荐
URL和URI的使用的方法。获取网络上的数据。
private static final UriMatcher URI_MATCHER=new UriMatcher(UriMatcher.NO_MATCH); private final String TAG="provider"; private static final String authority="com.example.tigongzhe.provider"; static...
UriMatcher localUriMatcher = new UriMatcher(-1); t = localUriMatcher; localUriMatcher.addURI("com.qihoo360.mobilesafeguard", "blacklist", 1); t.addURI("com.qihoo360.mobilesafeguard", "blacklist/#...
Android数据共享概述 ContentProvider注册/实现 UriMatcher/ContentUris 系统ContentProvider 联系人 系统设置…
ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,...熟悉Content Provider(内容提供者)的应该知道,我们可以通过UriMatcher类注册不同类型的Uri,我们可以通过这些不同的 Uri来查询不同
本文实例讲述了Android内容提供者ContentProvider用法。分享给大家供大家参考,具体如下: PersonContentProvider内容提供者...import android.content.UriMatcher; import android.database.Cursor; import android.d
android Contentprovider的使用demo 所创建工程为andorid5.0环境,里面有四个工程,为了证明共享所以有两个程序,eclipse版本低的自己新建工程把 ContentProvider2,androidContentProvider两个工程里面拷贝出来就...
Android中ContentProvider的示例,详细可以参见博客:http://www.cnblogs.com/plokmju/p/android_ContentProvider.html
ContentProvider远程数据操作(1.0).zip ContentProvider远程数据操作(1.0).zip ContentProvider远程数据操作(1.0).zip ContentProvider远程数据操作(1.0).zip ContentProvider远程数据操作(1.0).zip