我在我的android应用程序中使用ormlite for sqlite数据库。这是一个基于登录的应用程序,我在SD卡中有数据库。对于用户abc,要求是用户使用xyz等不同用户登录,然后应用程序从服务器验证用户,服务器将db替换为用户xyz。但是当我尝试访问登录凭据时,它会在数据库反映新凭据时提供旧凭据。
我也尝试过:
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
寻求帮助。
答案 0 :(得分:1)
在我看来,你的方向是错误的。
IllegalStateException
的原因。我会对您的应用程序进行一些调试或对值进行一些记录,以查看问题所在。以下是一些想法:
祝你好运。