2010-12-03 8 views
0

アプリケーションで作業していますが、正常に動作しますが、ログに以下のエラーが表示されます。これの背後にある理由とこれを修正する方法を提案してください。 私はすべてを閉じました使用後にデータベース接続を閉じることができます。 PLeaseヘルプ...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

@アンジェル:私はその答えを信じないのが怖かったです。私はちょうどそのエラーを再び見た。私は書いたものを私が正しいと思う答えに置き換えました。それがあなたのために働く場合は、 "同意"してください。ありがとう。 –

関連する問題