在Android应用程序中,有时候会向listView中加载很多数据,向listView中加载数据是一个耗时的过程,加载过多的数据用户停留在listView上,一直等待,给用户的体验特别不好,比如向服务器请求1000条数据,如果网络不好的话,就会导致这1000条数据一直在加载中。所以在应用程序中对listView中的数据进行分批或者是分页加载数据的话就会一批数据一批数据的加载数据,就不会一直加载1000条数据导致程序无响应。
首先穿件一个数据模型
package com.example.listviewdemo;
public class PersonInfo {
private String name;
private String gender;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
创建数据库表格
package com.example.listviewdemo;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class ListViewDBOpenHelper extends SQLiteOpenHelper {
/**
* 数据库创建的构造方法
*
* @param context
*/
public ListViewDBOpenHelper(Context context) {
super(context, "listviewtest.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 初始化数据库的表结构
db.execSQL("create table listview (_id integer primary key autoincrement,name varchar(20),gender varchar(20),age vachar(2))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
操作数据库的方法
package com.example.listviewdemo;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
/**
* 增删改查的业务
*
* @author Admini