Я хочу создать кнопку выхода из системы, которая отбросит всю базу данных и завершит текущую деятельность и перенаправит на LoginActivity.удалить базу данных android sqlite
Это действительно работает, но мне нужно перезагрузить приложение, чтобы зафиксировать изменения. Например, когда приложение вернется в LoginActivity, он все равно увидит данные пользователя. Если я перезапущу приложение, он покажет мне форму входа, как и должно быть. Как я могу это сделать?
Globals.java
public void signOff(){
SharedPreferences preferences = instance.context.getSharedPreferences("globals", 0);
preferences.edit().remove("domain").commit();
DatabaseHelper dbHelper = new DatabaseHelper(instance.context);
dbHelper.deleteData();
finish();
Intent mainActivity = new Intent(instance.context, LoginActivity.class);
instance.context.startActivity(mainActivity);
}
DatabaseHelper.java
public final class DatabaseHelper extends SQLiteOpenHelper {
public SQLiteDatabase db;
public static DatabaseHelper instance ;
public static Context context;
public static final String DATABASE_NAME = "Oryx.db";
public static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// Init the singleton
if (instance == null){
instance = this;
instance.context = context;
instance.db = instance.getWritableDatabase();
}
}
public DatabaseHelper(Context context, String tableCreateQuery)
{
this(context);
instance.db.execSQL(tableCreateQuery);
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public void deleteData(){
instance.context.deleteDatabase(DATABASE_NAME);
}
}
Спасибо за добавление флагов, помогло мне немного :)! – Jordy