2
什么被认为是处理数据库连接的最佳实践? (我忽略了DatabaseHelper类中的构造函数和onUpgrade方法)这些只是我在互联网上找到的两种方式,也许你有更好的处理方式?我很想听到。Android数据库连接最佳实践
选项1
public class DatabaseManager {
private SQLiteDatabase mDb;
public DatabaseManager(Context context) {
DatabaseHelper helper = new DatabaseHelper(context);
helper.getWritableDatabase();
}
// ... methods that use mDb
private class DatabaseHelper extends SQLiteOpenHelper {
@Override
public void onCreate(SQLiteDatabase db) {
mDb = db;
//create database
}
@Override
public void onOpen(SQLiteDatabase db) {
mDb = db;
}
}
}
选项2
public class DatabaseManager {
private DatabaseHelper mDbHelper;
public DatabaseManager(Context context) {
mDbHelper = new DatabaseHelper(context);
}
// ... methods that fetch the db
private void sampleMethod() {
SQLiteDatabase db = mDbHelper.getWritableDatabase();
//do stuff with database
mDbHelper.close();
}
private static class DatabaseHelper extends SQLiteOpenHelper {
@Override
public void onCreate(SQLiteDatabase db) {
//create database
}
}
}
而且,是它需要调用close()每次你选择2中使用的数据库?至于使用选项1,我猜你需要在应用程序的onDestroy被调用时调用close()方法?