下面就为您详细讲解“Android创建和使用数据库SQLIte”的完整攻略:
1. 基本概念
在开发过程中,常会使用数据存储和读取功能。而SQLite是一种轻型的关系型数据库,是Android系统内置的一种数据库,被广泛的应用于Android应用开发中。它提供了一个简单易用的API来操作数据库,支持标准的SQL语句。
2. 创建SQLite数据库
在Android中,创建数据库可以借助SQLiteOpenHelper类来完成,具体步骤如下:
2.1 创建SQLiteOpenHelper的子类
创建SQLiteOpenHelper的子类,用于辅助管理数据库的创建、版本升级等操作。在该类中,需要实现以下方法:
- onCreate:当数据库首次创建时调用,用于初始化表结构等操作。
- onUpgrade:当数据库升级时调用,用于更新表结构等操作。
示例如下:
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydb.db"; // 定义数据库名称
private static final int DATABASE_VERSION = 1; // 定义数据库版本号
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String table = "CREATE TABLE student (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,age INTEGER)";
db.execSQL(table);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (newVersion > oldVersion) {
String sql = "DROP TABLE IF EXISTS student";
db.execSQL(sql);
onCreate(db);
}
}
}
2.2 创建 SQLiteOpenHelper 实例
在使用数据库之前,需要创建 SQLiteOpenHelper 的实例:
DatabaseHelper dbHelper = new DatabaseHelper(context);
2.3 获取 SQLiteDatabase 实例
通过 SQLiteOpenHelper 实例获取 SQLiteDatabase 实例,通过该实例完成对数据库的增删改查操作:
SQLiteDatabase db = dbHelper.getWritableDatabase();
3. 操作SQLite数据库
通过获取的SQLiteDatabase实例,我们可以进行表的增、删、改、查等操作,如下所示:
3.1 表的创建
表的创建可以通过上面的 onCreate 方法来实现,示例如下:
String table = "CREATE TABLE student (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,age INTEGER)";
db.execSQL(table);
3.2 表的插入
表的插入可以通过SQLiteDatabase的insert方法来实现,示例如下:
ContentValues values = new ContentValues();
values.put("name", "张三");
values.put("age", 25);
db.insert("student", null, values);
3.3 表的修改
表的修改可以通过SQLiteDatabase的update方法来实现,示例如下:
ContentValues values = new ContentValues();
values.put("name", "李四");
values.put("age", 26);
db.update("student", values, "_id = ?", new String[]{"1"});
3.4 表的删除
表的删除可以通过SQLiteDatabase的delete方法来实现,示例如下:
db.delete("student", "_id = ?", new String[]{"1"});
3.5 表的查询
表的查询可以通过SQLiteDatabase的query方法来实现,示例如下:
Cursor cursor = db.query("student", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
} while (cursor.moveToNext());
}
4. 示例
下面我们实现一个简单的demo,对学生的成绩进行增删改查操作。
4.1 学生表的创建
String table = "CREATE TABLE scores (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, math INTEGER, english INTEGER)";
db.execSQL(table);
4.2 学生表的插入
ContentValues values = new ContentValues();
values.put("name", "张三");
values.put("math", 80);
values.put("english", 90);
db.insert("scores", null, values);
4.3 学生表的修改
ContentValues values = new ContentValues();
values.put("math", 85);
values.put("english", 92);
db.update("scores", values, "_id = ?", new String[]{"1"});
4.4 学生表的删除
db.delete("scores", "_id = ?", new String[]{"1"});
4.5 学生表的查询
Cursor cursor = db.query("scores", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
int math = cursor.getInt(cursor.getColumnIndex("math"));
int english = cursor.getInt(cursor.getColumnIndex("english"));
} while (cursor.moveToNext());
}
到这里,我们已经完成了使用SQLiteOpenHelper类创建和使用SQLite数据库的过程,希望能对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android创建和使用数据库SQLIte - Python技术站