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);
次に、ユーザーはサインアップ アクティビティに移動し、そこで次の操作を行います。
public class Signup extends Activity {
private DBTools dbTools = new DBTools(this);
//later on in this class I do some checks and inserts.
私は何かが間違っているのではないかと疑っており、DB の使用方法に慣れていません。各 onDestroy で空白になりますか? 毎回 MainActivity でインスタンス化する必要がありますか? そこでインスタンス化した場合、サインアップ アクティビティでもう一度インスタンス化する必要がありますか?