我有一个正在开发的应用程序,我想知道当我关闭我的应用程序并重新启动它时我的数据库会发生什么,因为我从未指定 onPause、onResume 和 onDestroy 会发生什么(因为我不知道在那里指定什么)。
这是我的 DBTools 类
public class DBTools extends SQLiteOpenHelper {
public DBTools(Context applicationcontext) {
super(applicationcontext, "rggarb.db", null, 1);
}
public void onCreate(SQLiteDatabase database) {
String tableUsers = "CREATE TABLE users ( userId INTEGER PRIMARY KEY, userName TEXT, userEmail TEXT, userPassword TEXT, userAvatar TEXT, userSex TEXT)";
database.execSQL(tableUsers);
}
public void onUpgrade(SQLiteDatabase database, int version_old, int current_version) {
String dropTableUsers = "DROP TABLE IF EXISTS tableUsers";
database.execSQL(dropTableUsers);
onCreate(database);
}
//some CRUD methods here, irrelevant for this question
}
这就是我如何使用它
在 MainActivity 中:
public class MainActivity extends Activity {
DBTools dbTools = new DBTools(this);
然后用户转到注册活动,然后:
公共类注册扩展活动{
private DBTools dbTools = new DBTools(this);
//later on in this class I do some checks and inserts.
我怀疑可能有问题,而且我不熟悉数据库的生命周期,就像我使用它的方式一样。每次 onDestroy 都会变成空白吗?我每次都需要在 MainActivity 中实例化它吗?如果我在那里实例化了它,我是否需要在注册活动中再次实例化它?