Android是一个非常流行的移动操作系统,具有丰富的组件和框架。其中,ListView是一个非常常用的控件,用于在移动应用程序中显示列表。Android提供了Sqlite数据库作为本地数据库,可以方便地将数据存储在移动设备中,并使用ListView来显示这些数据。
本文将介绍如何使用ListView来显示Sqlite数据库中存储的数据,通过简单易懂的代码示例,帮助读者更好地理解和运用这个技术。
步骤1. 准备Sqlite数据库
在本例中,假设我们有一个名为students的Sqlite数据库,该数据库包含两个字段:id和name。id是一个整数,表示学生的ID,name是一个字符串,表示学生的名称。
以下是准备这个数据库的代码:
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "students.db";
private static final int DATABASE_VERSION = 1;
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE students (" +
" id INTEGER PRIMARY KEY AUTOINCREMENT," +
" name TEXT" +
")");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS students");
onCreate(db);
}
}
在这个示例中,我们创建了一个名为DBHelper的类,该类继承了Android提供的SQLiteOpenHelper类。在DBHelper的构造函数中,我们指定了数据库的名称和版本号。在onCreate方法中,我们创建了一个名为students的表,该表包含两个字段:id和name。在onUpgrade方法中,我们删除students表(如果它已经存在),然后再次创建它。
步骤2. 将数据添加到数据库
在本例中,我们将手动添加一些学生到我们的数据库中。以下是将数据添加到数据库的代码:
public class DbAccessor {
private final DBHelper dbHelper;
public DbAccessor(Context context) {
dbHelper = new DBHelper(context);
}
public void addStudents() {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "Tom");
db.insert("students", null, values);
values = new ContentValues();
values.put("name", "Jerry");
db.insert("students", null, values);