1

提前致谢。

我正在开发一个汽车评论应用程序,用户可以在其中登录并显示数据库中的所有评论。所有数据首先存储在 MYSQL 数据库中。我正在使用 json 连接到 MYSQLdatabase 和 SQLiteDatabase。但问题是,登录后应用程序屏幕巨大没有。数据来自服务器,并被插入到我们的 SQLite 数据库中。

之后,它从数据库中检索并以列表视图显示在应用程序屏幕中,在列表视图中显示所有数据需要更长的时间。在这种情况下,我使用 SimpleCursorAdapter 从数据库中检索所有数据。

那么有没有像分页或类似的方法来使数据检索更快。请提供一些源代码来帮助我。

4

4 回答 4

3

你可以使用类似的东西:

  • 第 1 页:

    SELECT * FROM YOUR_TABLE LIMIT 20 OFFSET 0
    
  • 第2页:

    SELECT * FROM YOUR_TABLE LIMIT 20 OFFSET 20
    

参考:http ://sqlite.org/lang_select.html

于 2013-02-21T07:25:57.567 回答
3

您可以将异步任务的概念与 SimpleCursorAdapters 一起使用。

“AsyncTask 可以正确和轻松地使用 UI 线程。此类允许在 UI 线程上执行后台操作和发布结果,而无需操作线程和/或处理程序。”

以下是您可以执行的操作:

1) 在第一个查询中仅检索第一个 10/15 项。2) 在用户签出前 10/15 个项目时,触发另一个查询作为后台任务。

这肯定会让用户体验更快

于 2013-02-21T07:26:38.920 回答
1

使用LIMIT关键字 from MYSQLyou 可以实现分页。

LIMIT允许您控制查询返回的行数:

例子:

显示前 10 条记录

SELECT * FROM Student LIMIT 10    //for first time

显示 10 到 20 之间的行

SELECT *FROM Student LIMIT 9, 10 //after showing the records first time

LIMITSQLiteDatabase也适用于

于 2013-02-21T07:25:27.407 回答
1

Kindly provide the logic/sample source code on how to implement the pagination if anyone has already implemented.

See CommonsWare EndlessAdapter.

于 2013-02-21T07:28:04.973 回答