내 안드로이드 응용 프로그램에서 sqlite 데이터베이스에 ormlite를 사용하고 있습니다. 로그인 기반 응용 프로그램이고 SD 카드에 데이터베이스가 있습니다. 사용자 abc의 경우 사용자가 xyz와 같은 다른 사용자로 로그인 한 다음 응용 프로그램이 서버에서 사용자를 인증하고 서버가 사용자 xyz의 db를 대체 할 때 필요합니다. 그러나 로그인 자격 증명에 액세스하려고 시도하면 데이터베이스에 새 자격 증명이 반영되는 동안 이전 자격 증명이 제공됩니다.ormite에서 이전 DAO 객체 가져 오기
나는 또한 시도 : 그것은 또한 작동하지 않습니다
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
도움을 요청하십시오.
죄송합니다. 나는 며칠 동안 휴가를 떠났으므로 인터넷에 접속할 수 없습니다. 응답 해 주셔서 감사합니다. 처음에는 문제가 무엇인지 알 수 없었습니다. 문제는이 링크 kagii에 의해 제안 같은 http://stackoverflow.com/questions/2493331/what-is-best-practice-with-sqlite-and-android하지만 여전히 모든 문제가 동일한 문제에 직면하고있다 가는 괜찮지 만 값이 테이블에 삽입되지 않습니다. 각 스레드에서 제안 된대로 단일 연결을 사용하고 있지만 문제가 동일하게 유지됩니다. –
Np. 난 당신이 그것을 디버깅해야한다고 생각하고 삽입이 발생하면, adb 셸 도구를 사용하여 데이터베이스를 한번보세요 : http://developer.android.com/guide/developing/tools/adb.html sqlite3 데이터베이스를 검색하기위한 검색 원격 셸. – Gray
나는 이클립스를 사용하고 있으며 코드를 createAndUpdate 메소드에서 디버깅하고 영향을받는 행을 표시하는 것은 예상했던 것과 동일하지만 문제는 db가 여전히 sqlite 브라우저에서 데이터베이스를 열 때입니다 –