- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
android.content.UriMatcher
如何使用它?有人可以解释一下以下三行代码的含义吗?
uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
uriMatcher.addURI(PROVIDER_NAME, "cte", uriCode);
uriMatcher.addURI(PROVIDER_NAME, "cte/*", uriCode);
int res = uriMatcher.match(uri);
最佳答案
当您编写 ContentProvider 或其他需要响应多个不同 URI 的类时,UriMatcher 是一个方便的类。在您的示例中,用户可以使用以下 URI 查询您的提供程序:
myprovider://cte
或
myprovider://cte/somestring
当您构造一个 UriMatcher 时,您需要为每个 URI 设置单独的代码(不仅仅是您的示例中的“uriCode”)。我通常将我的 UriMatcher 实例设为静态,并在静态构造函数中添加 URI:
private static final int CTE_ALL = 1;
private static final int CTE_FIND = 2;
private static final UriMatcher uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
static {
uriMatcher.addURI(PROVIDER_NAME, "cte", CTE_ALL);
uriMatcher.addURI(PROVIDER_NAME, "cte/*", CTE_FIND);
}
然后在您的 ContentProvider 中,您将在查询方法中执行类似的操作:
Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
int res = uriMatcher.match(uri);
switch (res) {
case CTE_ALL:
//TODO create a results Cursor with all the CTE results
break;
case CTE_FIND:
//TODO create a results Cursor with the single CTE requested
break;
}
return results;
}
关于java - android.content.UriMatcher 的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26901644/
我有两个 Uris。假设他们是: content://myprovider/messages content://myprovider/messages/# 在我的扩展 ContentProvider
首先:我已经筛选了很多关于 SO 主题的问题,但仍然没有找到正确的答案。 这是我的代码的一个(简化的)版本: private static UriMatcher uriMatcher
我正在为 Android 应用程序创建内容提供程序,但我在使用 UriMatacher 正确匹配 uri 时遇到问题。 . 例如,我添加 uri 以匹配(从链接中截取) sURIMatcher.add
我有一个 ContentProvider,我需要匹配一些包含 UUID 作为通配符的 URI。 来自 ContentProvider 的 UriMatcher: public static final
UriMatcher(int code) 构造函数中的代码参数根据 Android Developer Document用于“匹配根 URI”,代码通常为 NO_MATCH其值等于 -1 我不清楚这个
这很有效!我不确定发生了什么变化。我确实使用 git,现在我已经检查了我的提交和代码几个小时。 如标题所示,我的 uri 匹配器已停止匹配。 下面我粘贴了我的内容提供者的相关部分。 public cl
我有这个 URI content://com.mycompany.data/routes?group=M01&office=BOCE&zone=EC01 还有这条规则 sUriMatcher.addU
我是 Android 新手。我浏览了 Android ContentProvider 的代码,我对 UriMatcher 有点困惑,因为 static 中的语句将首先执行。在 UriMatcher 内
我对内容提供者有疑问。 每次我编写内容提供程序时,我都会将 URI MATCHER 定义放在静态括号中,但 URI MATCHER 被声明为该类的私有(private)数据成员。只有 definiti
我正在尝试为搜索对话框提供自定义建议。我正在使用 urimatcher 来匹配 uri。但它不起作用。我总是得到异常“java.lang.IllegalArgumentException: Unkno
我想使用 UriMatcher匹配自定义 http 链接。 我有以下代码: UriMatcher mUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
我有一个为 ShareActionProvider 执行后台处理的自定义 ContentProvider。提供的 Uri 路径是完整的文件路径(例如:/mnt/sdcard/my.file)。 uri
我正在尝试根据几个示例实现我自己的 ContentProvider,但我对 UriMAtcher 中的不同方法感到困惑。例如: JavaDoc用 # 显示它,如下所示: sURIMatcher.add
我的任务是设计我的 Web 服务客户端代码以使用 Android SDK 中的实用程序类 UriMatcher。不幸的是,开发指南中的示例与我的想法无关。我知道我遗漏了一些关于功能的基本要点,可能还有
android.content.UriMatcher中的Uri Matcher是什么 如何使用它?有人可以解释一下以下三行代码的含义吗? uriMatcher = new UriMatcher(U
在对我之前的问题的回答中,有人指出 Android 类 UriMatcher 中存在一些固有缺陷(因为没有更好的词)。任何人都可以查明 UriMatcher 的已知问题吗?我正在设计一个依赖 UriM
我有一个 ConentProvider 并使用 UriMatcher 来执行适当的SQL 语句。 代码有效,但我不喜欢从中提取参数的方式uri 的: 这是失败的: String badge_id =
我看到的关于如何制作 ContentProvider 的示例都用过UriMatcher#match(Uri) insert、query、update 和 delete 方法中的方法可以轻松处理所有 U
我是一名优秀的程序员,十分优秀!