私はcontentproviderを使用しており、共有設定で3つの変数を使用していますが、「ユーザーをログアウトする」のに最適な方法を考えています。
dbを切り捨て、共有設定変数をクリア/削除することを期待します。
現在、共有設定をクリアし、データベースを削除してから、ユーザーをログイン画面に戻しています。
SharedPreferences app_preferences = PreferenceManager
.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = app_preferences.edit();
// wipe user specific data
editor.remove("authenticated_user_id");
editor.remove("api_key");
editor.remove("last_sync_updates");
editor.commit();
// TODO possibly truncate rather than delete
// the apps database
getApplicationContext().deleteDatabase(
DatabaseConstants.DATABASE_NAME);
// send the user to the login screen
Intent logoutIntent = new Intent(this, SplashActivity.class);
startActivity(logoutIntent);
しかし、データベースがクリアされていないようで、ログアウト後の最初のトランザクションでデータベースアクセスエラーがランダムに発生します。
これは通常どのように行われますか?