代码之家  ›  专栏  ›  技术社区  ›  Priyank

限制在Android中提取的记录(sqlite数据库)

  •  5
  • Priyank  · 技术社区  · 15 年前

    我正在尝试从收件箱、已发送邮件和草稿中提取短信。我想为我的列表视图进行分页,因为我必须以页/块的形式获取记录。

    我不熟悉sqlite,它是我理解的用于存储数据的android数据库。有人能告诉我如何通过使用contentresolver.query限制要提取的记录数吗?

    还有什么方法可以将sqlite数据库文件拉到我的计算机上,并在本地浏览/查询它以进行实验或查看我的计算机上的数据?

    有没有其他更好的方法在Android中实现分页??

    谢谢

    4 回复  |  直到 7 年前
        1
  •  1
  •   alexanderblom    15 年前

    似乎没有任何方法可以限制 SmsProvider . 不过,考虑到你使用 CursorAdapter 不要试图将内容读取到自己的数据结构中。你试过这个吗?

        2
  •  8
  •   Rahul Sharma Rashid Kurbanov    7 年前

    根据 Sqlite website ,可以使用 LIMIT ... OFFSET ... 查询中的子句:

        3
  •  5
  •   Jon O    13 年前

    对于任何一个在这个答案上绊倒的人来说,寻找一种使用 LIMIT 带子句的子句 OFFSET ,我是从 this bug android使用以下regex解析查询的limit子句:

    在Frase/Base/Cyp/Java/Android /Dabase/SQLite/SQLiteQueryBuilder.java中:

    使用以下slimitpattern检查limit子句。

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

    请注意,regex确实接受格式 offsetNumber,limitNumber 即使它不接受 抵消 直接声明。

        4
  •  1
  •   Brad Hein    15 年前

    若要提取数据库进行查看,请将其复制到SD卡上,然后使用ADP Pull获取。