Android アプリケーションで sqlite データベースに ormlite を使用しています。これはログイン ベースのアプリケーションで、SD カードにデータベースがあります。ユーザーabcの場合、xyzなどの別のユーザーでユーザーがログインし、アプリケーションがサーバーからユーザーを認証し、サーバーがユーザーxyzのdbを置き換えることが要件です。しかし、ログイン資格情報にアクセスしようとすると、データベースが新しい資格情報を反映している間に古い資格情報が提供されます。
私も試しました:
DaoManager.clearCache();
私も試しましたが機能していません:
DatabaseManager<DatabaseHelper> manager = new DatabaseManager<DatabaseHelper>();
manager.releaseHelper(DatabaseHelperGenerator.getDataBaseHelperInstance())
この後、このクエリを起動しようとしたとき:
Dao<LoginAuthentication, Integer> loginAuthenticationDao = null;
DatabaseHelperGenerator.getDataBaseHelperInstance().
clearLoginDao(LoginAuthentication.class);
loginAuthenticationDao = DatabaseHelperGenerator.getDataBaseHelperInstance().
getUserDao(LoginAuthentication.class);
List<LoginAuthentication> loginAuthenticationList =
loginAuthenticationDao.queryForAll();
与えているIllegalStateException :Database not open
助けを求めています。