2010-12-03 2 views
0

나는 응용 프로그램에서 작업 중이며 잘 작동하지만 로그에서 아래에 언급 된 오류가 표시 될 수 있습니다.이 문제의 원인과 해결 방법을 제안 해주세요. 모든 항목을 닫았습니다. 또한 사용 후 데이터베이스 연결을 닫습니다. 도움말 ...logcat의 데이터베이스 오류

12-02 17 : 16 : 48.500 : ERROR/데이터베이스 (388) : close()가 데이터베이스 '/data/data/com.example.my/databases/my에 명시 적으로 호출되지 않았습니다. .db ' 12-02 17 : 16 : 48.500 : 오류/데이터베이스 (388) : android.database.sqlite.DatabaseObjectNotClosedException : 응용 프로그램이 여기서 열린 커서 또는 데이터베이스 개체를 닫지 않았습니다. 12-02 17 : 16 : 48.500 : ERROR/Database (388) : android.database.sqlite.SQLiteDatabase (SQLiteDatabase.java:1810) 12-02 17 : 16 : 48.500 : ERROR/Database (388) : android.database.sqlite.SQLiteDatabase. openDatabase (SQLiteDatabase.java:817) 12-02 17 : 16 : 48.500 : 오류/데이터베이스 (388) : android.database.sqlite.SQLiteDatabase.openOrCreateDatabase (SQLiteDatabase.java:851)

+0

아래 답변을 변경했음을 유의하십시오. 이번에는 옳은 대답이어야합니다! –

답변

0

활동의 onDestroy 방법으로 데이터베이스를 닫아야합니다. Notepad과 같은 일부 Android 자습서 에서처럼 "데이터베이스 도우미"클래스를 사용하여 애플리케이션을 작성했다고 가정하면 이는 현 상태 그대로 유지해야합니다. (그렇지 않으면 데이터베이스 연결을 닫기 위해 mDbHelper.close()을 적절한 호출로 바꿉니다.)

public class MyClass extends Activity { 
// ... 
    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
     mDbHelper.close(); 
    } 
} 
+0

고마워요 .. 사실 내 문제도 해결했습니다. :) – Angel

+0

@ Angel : 저는 그 대답을 신뢰하지 않는 것이 옳았습니다. 방금 오류를 다시 보았습니다. 필자가 작성한 것을 올바른 것이라고 생각하는 대답으로 바꿨습니다. 그것이 당신을 위해 작동한다면, "동의"하십시오. 감사. –

관련 문제