Cursorをcloseするタイミング

先日書いた「AndroidでSQLiteをつかう」にのせたコード(をベースにしたコード)をコードレビューしてもらった。
いろいろと指摘されたことをメモしておく。

主に改善点があるコード

改善点
・JSON文字列を作るにはJSONArrayとJSONObjectを使う。
・Cursor(に限らず)を閉じるというような処理は、finallyの中でやるのが鉄則。

改善後のコード

JSONArrayとJSONObjectはそういうのがあるんだなという感じでOK。

Cursorをcloseするタイミングに関しては「ほぉ」と思った。
僕はここ3年間ずっとPHPをやってきたが、PHPには「finally」は存在しない。なので「finally」の存在をすっかり忘れていた。

SQLiteDatabaseも同様のタイミング(finallyの中)でcloseすると間違いはない。
また try ~ catch まみれになるがJavaはそういうものらしいので気にしない。

参考 : カーソルが解放されるタイミング (2)

おわり。

Posted in Android, Java.

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください