Android内容uri id为字符串

时间:2015-02-14 00:42:31

标签: android mongodb sqlite uri android-contentprovider

在我的Android应用中,我将SQLite与内容提供商一起使用。对于某些(后端)原因,我的表将_id主键作为VARCHAR。

问题是:

我需要使用附加id的内容uri。在所有示例中,我看到带有id的内容uri看起来像

content://<autority>/<model_or_table>/<long_id>

并将UriMatcher添加为

UriMatcher.add(autority, model_or_id + "/#", uri_id)

当然那是&#34; /#&#34;匹配ID仅适用于数字。

我的问题是:

有什么方法可以使用带有附加字符串ID的内容uri?典型的id类似于

50c11d774e5e1b99698b6879

和典型内容uri必须为

content://com.my.app.autority/Users/50c11d774e5e1b99698b6879

以及如何使用这样的uri和UriMatcher?

我知道我可以编写选择指令(WHERE _id =&#34; 50c11d774e5e1b99698b6879&#34;)来查询方法,但我需要完全URI或方式将唯一的字符串ID投影到SQLiteDB中的唯一长值。

有什么办法吗?非常感谢)抱歉英语不好)

1 个答案:

答案 0 :(得分:0)

请参阅有关创建here内容提供商的文档。具体而言,请参阅标题Content URI patterns。正确地指出#是一个通配符,它​​将匹配具有整数ID的单行。 *通配符与具有非数字ID的单行不匹配。

据我所知,UriMatcher课程在这种情况下无法帮助你。

另请参阅UriMatcher参考页here

相关问题