android数据库工具类封装
时间: 2023-08-25 07:05:57 浏览: 169
Android 封装的工具类
4星 · 用户满意度95%
在 Android 开发中,数据库操作是非常常见的任务。为了方便复用和维护,我们可以将数据库操作封装成一个工具类。以下是一个简单的数据库工具类封装示例:
```java
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_database.db";
private static final int DATABASE_VERSION = 1;
private static DatabaseHelper instance;
private SQLiteDatabase database;
private DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public synchronized static DatabaseHelper getInstance(Context context) {
if (instance == null) {
instance = new DatabaseHelper(context.getApplicationContext());
}
return instance;
}
public synchronized SQLiteDatabase open() {
if (database == null || !database.isOpen()) {
database = instance.getWritableDatabase();
}
return database;
}
public synchronized void close() {
if (database != null) {
database.close();
database = null;
}
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建数据库表
db.execSQL("CREATE TABLE my_table (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 数据库升级操作
}
}
```
这个工具类继承自 `SQLiteOpenHelper` 类,重写了 `onCreate` 和 `onUpgrade` 方法,用于创建和升级数据库表。同时,这个工具类使用了单例模式和同步锁来保证数据库的安全性和线程安全性。
使用时,可以通过 `getInstance` 方法获取数据库实例,然后调用 `open` 方法打开数据库,进行相关的增删改查操作。最后要记得调用 `close` 方法关闭数据库连接,释放资源。
```java
DatabaseHelper dbHelper = DatabaseHelper.getInstance(context);
SQLiteDatabase db = dbHelper.open();
// 执行增删改查操作
dbHelper.close();
```
阅读全文