SQL分页加载数据

来源:互联网 发布:互质的性质 知乎 编辑:程序博客网 时间:2024/06/11 04:37

最近两天看了sql分页加载数据,然后自己也动手敲了一遍,今天整理了下思路,便写篇博客来加深下印象。
把整个项目的代码回顾一遍。大致把流程分为:

  1. 新建一个类继承SQLiteOpenHelper。在这里我们可以设计表的字段名,一般情况我们会用另外一个常量类来保存这些字段名,可能是显得比较有层次感和条理性。创建数据库对象之后首先执行onCreate()方法,这里我们可以设计出来表,然后通过execSQL()方法执行。在这里说一下,对数据库进行操作,我们既可以使用Android 提供的API工具,同时还可以使用SQL语法。于我而言,喜欢先用SQL语句,如果SQL语句出现的错误很久也没解决出来,再尝试用API来操作。(自己确实遇见过这情况)。另外,除了建立一个常量类来保存字段外,我们还可以通过一个管理类来对数据库进行操作,我们通常不直接实例 继承SQLiteOpenHelper的类,而是通过管理类的单例模式来实例化对象,这样可以保证实例化的对象只有一个,不浪费内存。
  2. 主活动里面的操作。我们在主活动里面往数据库插入数据,我们简单的用for循环来往表里插入几十组数据,然后查询数据展示到手机页面里面。这里我们通过点击“查询数据”来展示插入的数据,页面上首先显示的数据是分页加载里面第一页的数据,注意这是两个部分互不关联,我在这里首先实现的是点击按钮显示数据,然后又是分页加载数据,只是页面不太简约
  3. 123
  4. 点击“查询按钮”显示全部数据。通过SQL语句来查询表中的全部数据,然后在管理类里面封装一个方法可以执行SQL查询语句,并且返回Cursor结果集,要想展示出来,我们还需要一个实体类和数据库的字段一一对应,所以再新建一个实体类,我们这里打算用ListView来展示数据。所以我们还需要一个适配器。总结下来,用listView控件展示数据的步骤就是:实体类–>适配器—>操作的类(在哪一个类里面使用ListView控件)。适配器里面我们具体要写的就是getView()方法。最后在操作的类里面实例化适配器对象,然后通过ListView控件的setAdapter()方法将数据与控件联系起来。这里我们也可以用API来查询数据表,这样我们得到的直接就是Cursor结果集。
  5. 分页加载数据的操作。分页加载数据,我们首先要确定一共有多少条数据,设置每页需要展示多少条数据,还要一空需要多少页。比如这里我设置一页展示两条数据,所以,就出现了图片的那样,如果你滚动下数据就可以发现特点了。确定多少条数据的方法我封装在了管理类里面,实际上就是,把实现方法集中在一个类里面,这样的话,整体结构显的清晰。实际上此方法就是查询数据库里面的所有数据返回Cursor对象,然后调用size()方法得到数据总数。得到数据总数之后就可以得到总页数。我们还需要定义默认为第一页,然后就是查询第一页的数据。然后在管理类里面封装一个方法来返回第一页的数据。
  6. 滚动加载数据为ListView控件设置监听事件,我们需要在两个方法里面添加逻辑,简单来说就是本页数据加载完毕后继续加载第二页直到加载完全部数据。

项目整体的过程已经分析了一遍,在这里面管理类实际上是核心部分。这里我把项目demo贡献一下。

原创粉丝点击