将Android进行到底之Sqlite
在Android中使用SQLite数据库,你需要执行以下步骤:
- 创建一个
SQLiteOpenHelper
子类来管理数据库的创建和版本管理。 - 重写
onCreate()
方法来执行数据库第一次创建时的初始化设置。 - 重写
onUpgrade()
方法来处理数据库版本升级的逻辑。 - 使用
SQLiteDatabase
对象来执行SQL语句。
以下是一个简单的例子:
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);
db.insert(DatabaseHelper.TABLE_NAME, null, cv);
// 查询数据
Cursor cursor = db.query(DatabaseHelper.TABLE_NAME, new String[]{"ID", "NAME", "AGE"}, "AGE > ?", new String[]{"25"}, null, null, null);
// 更新数据
ContentValues updateValues = new ContentValues();
updateValues.put("AGE", 35);
db.update(DatabaseHelper.TABLE_NAME, updateValues, "NAME = ?", new String[]{"John"});
// 删除数据
db.delete(DatabaseHelper.TABLE_NAME, "AGE < ?", new String[]{"30"});
// 关闭Cursor和数据库
cursor.close();
db.close();
以上代码展示了如何创建一个SQLiteOpenHelper
的子类,创建一个数据库表,以及如何执行基本的CRUD操作。记得在实际应用中处理异常和确保在不再需要数据库时关闭数据库连接。
评论已关闭