当前位置:  开发笔记 > 数据库 > 正文

如何在android上添加限制子句来管理

如何解决《如何在android上添加限制子句来管理》经验,为你挑选了2个好方法。

Android的API通过SQLite提供了一个干净的机制来查询联系人列表.但是,我不确定如何限制结果:

Cursor cur = ((Activity)mCtx).managedQuery(
                People.CONTENT_URI,
                columns,
                "LIMIT ? OFFSET ?",
                new String[] { Integer.toString(limit), Integer.toString(offset) },
                null
        );

不行.



1> dhaag23..:

实际上,根据提供程序,您可以为URI附加限制,如下所示:

uri.buildUpon().appendQueryParameter("limit", "40").build()

我知道MediaProvider处理这个问题,从查看最近的代码来看,你似乎也可以通过联系人来处理它.



2> Jon O..:

我从这个bug中发现Android使用以下正则表达式来解析LIMIT查询的子句:

使用以下sLimitPattern检查LIMIT子句.

private static final Pattern sLimitPattern = Pattern.compile("\\s*\\d+\\s*(,\\s*\\d+\\s*)?");

请注意,正则表达式确实接受该格式,offsetNumber,limitNumber即使它不OFFSET直接接受该语句.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有