在Android中使用SQLite数据库,你需要执行以下步骤:
- 创建一个
SQLiteOpenHelper
子类来管理数据库的创建和版本管理。 - 重写
onCreate()
方法来执行数据库第一次创建时的初始化设置。 - 重写
onUpgrade()
方法来处理数据库版本升级的逻辑。 - 使用
SQLiteOpenHelper
的getReadableDatabase()
或getWritableDatabase()
方法来获取SQLiteDatabase
对象。 - 使用
SQLiteDatabase
对象来执行SQL语句,如插入(INSERT)、查询(SELECT)、更新(UPDATE)、删除(DELETE)等。
以下是一个简单的例子:
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "mytable";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "("
+ "ID INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "NAME TEXT,"
+ "AGE INTEGER" + ")";
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新数据库的逻辑
}
}
使用数据库:
DatabaseHelper dbHelper = new DatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 插入数据
ContentValues cv = new ContentValues();
cv.put("NAME", "John");
cv.put("AGE", 30);
long id = db.insert(DatabaseHelper.TABLE_NAME, null, cv);
// 查询数据
Cursor cursor = db.query(DatabaseHelper.TABLE_NAME, new String[]{"ID", "NAME", "AGE"}, "ID=?", new String[]{String.valueOf(id)}, null, null, null);
if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex("NAME"));
int age = cursor.getInt(cursor.getColumnIndex("AGE"));
// 处理查询到的数据
} while (cursor.moveToNext());
}
cursor.close();
// 更新数据
ContentValues updateCV = new ContentValues();
updateCV.put("AGE", 31);
db.update(DatabaseHelper.TABLE_NAME, updateCV, "ID=?", new String[]{String.valueOf(id)});
// 删除数据
db.delete(DatabaseHelper.TABLE_NAME, "ID=?", new String[]{String.valueOf(id)});
// 关闭