2011-03-11 10 views
3

AndroidのNotepad tutorial Notepadv3はデータベースを開きますが、明示的にそれを閉じません。 を正しくにするには、Notepadv3はデータベースを閉じます(おそらくmDbHelper.close();)。もしそうなら、そのコード行はどこに表示されますか?チュートリアルNotepadv3でデータベースを閉じる必要がありますか?

は、関連する質問を更新:チュートリアルの NotesDbAdapter 近い方法はmDbHelper.close()を介して実行されます。 閉じるメソッドをmDb.close()経由で実装することも同様に効果的でしょうか?換言すれば、の近く方法はSQLiteOpenHelperの近く方法と同等をSQLiteDatabaseされ、そうでなければ、なぜ一方が他方よりも好ましいですか? (あなたがあなたの活動を終了したときに、例えば)あなたは、もはやそれを必要としません一度

答えて

3

はい、あなたは、アダプタとカーソルを閉じる必要があります。これはonDestroyメソッドで実行する必要があります。

+2

この場合のonDestroy()の理由は、データベースが 'onCreate()'で開かれているからです。理想的には、ライフサイクルのペアを使用する必要があります。 – CommonsWare

+0

その答えは理にかなっています。なぜチュートリアルのサンプルコードに含まれていないのだろう? Android向けの新しい開発者の多くは、このチュートリアルを出発点として使用するため、最初はデータベースを適切に閉じる必要がありません。 –

+0

@Mike Green、ご質問ありがとうございます。 LogCatでNotepad3コードでエラーが発生する理由についても不思議に思っていました。 –

関連する問題