一、SQLite簡介
SQLite是一種嵌入式關係型數據庫管理系統,它可以在無需單獨的數據庫服務器或者配置管理的情況下,完成對於本地及網絡上的數據進行訪問和管理。
特點:1、輕量級的數據庫引擎;2、易於安裝、部署和配置;3、可以無需單獨的數據庫服務器而直接使用;4、支持事務處理、具備高效、可靠、安全等特性。
二、SQLiteHelper使用方法
1、SQLiteHelper概述
SQLiteHelper是Android系統內置的SQLite數據庫操作類,它可以幫助我們完成數據表的創建、升級、刪除等一系列數據庫操作,避免了手動操作數據庫的繁瑣和出錯。
2、SQLiteHelper代碼實例
“`
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = “mydatabase.db”;
private static final int DATABASE_VERSION = 1;
private static final String CREATE_TABLE = “create table user (_id integer primary key autoincrement, name text, age integer);”;
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//升級數據庫
db.execSQL(“DROP TABLE IF EXISTS user”);
onCreate(db);
}
public Cursor query() {
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.query(“user”, null, null, null, null, null, null);
return cursor;
}
public void insert(String name, int age) {
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put(“name”, name);
values.put(“age”, age);
db.insert(“user”, null, values);
}
public void update(int id, String name, int age) {
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put(“name”, name);
values.put(“age”, age);
db.update(“user”, values, “_id=?”, new String[]{String.valueOf(id)});
}
public void delete(int id) {
SQLiteDatabase db = getWritableDatabase();
db.delete(“user”, “_id=?”, new String[]{String.valueOf(id)});
}
}
“`
3、SQLiteHelper具體使用
(1)創建數據庫:在需要創建數據庫時,可以調用SQLiteHelper類的構造函數創建數據庫
“`
MyDatabaseHelper helper = new MyDatabaseHelper(context);
SQLiteDatabase db = helper.getWritableDatabase();
“`
(2)查詢數據:可以使用SQLiteHelper中提供的query()方法進行數據查詢
“`
Cursor cursor = helper.query();
while(cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex(“_id”));
String name = cursor.getString(cursor.getColumnIndex(“name”));
int age = cursor.getInt(cursor.getColumnIndex(“age”));
}
“`
(3)插入數據:可以使用SQLiteHelper中提供的insert()方法進行數據插入
“`
helper.insert(“John”, 25);
“`
(4)更新數據:可以使用SQLiteHelper中提供的update()方法進行數據更新
“`
helper.update(1, “Tom”, 30);
“`
(5)刪除數據:可以使用SQLiteHelper中提供的delete()方法進行數據刪除
“`
helper.delete(1);
“`
三、SQLiteHelper使用注意事項
1、使用SQLiteHelper時,需要注意數據庫的版本號,在數據庫升級時,需要修改版本號,並在SQLiteHelper的構造函數中進行相應的處理。
2、為了避免內存泄漏,需要在使用完數據庫後,調用close()方法關閉數據庫。
3、需要合理的使用事務處理,來提高數據操作時的效率。
四、總結
SQLiteHelper是Android系統內置的SQLite數據庫操作類,它可以幫助我們完成數據表的創建、升級、刪除等一系列數據庫操作,代碼復用率高,效率高。
在使用SQLiteHelper時,需要注意數據庫的版本號,在進行數據庫升級時,要進行相應操作,避免數據的丟失和出錯。
此外,還需要注意內存泄漏問題,在關閉數據庫時,需要在適當的時機調用close()方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/151777.html