blogSetomits

Hello

データの書き出し/読み込み機能を追加

トリカゴメモ 2.2

ここに来てメンテナンスの頻度が上がっている Android アプリ、トリカゴメモですが、データの SD カードへの書き出し/ SD カードからの読み込みの機能を追加しました。実機でのテストのために実際に自分の書いたメモが消えてしまうのは困るし。

これを実装する際には、こんな書き方で良いんだろうかと思いつつも、まじめに CSV や XML を作って読み書きせず、 SQLite のデータベースファイル自体をずこんとコピーしたりしています(InCageMemo.java の copy2SD() メソッド)。まあちゃんと機能するし良っか。教えて Java とか Android とかのエラい人!
Posted at 23:22 by setomits Comments : 1
データの永続化を考えるとき、バージョンアップでデータ構造を変更する(属性の追加や変更)と、新しいアプリで古いデータが読めなくなる、ということを考えなければなりません。 考慮しないと初期からのユーザを裏切ることになりかねないのでよく考えましょう。DB丸ごと保存方式だとどうですか? JavaではSerializableなクラスなら、ファイル化が容易ですが、それだと上記V-up問題は同様におきます。 データ構造がテキストベースで簡易な場合はCSVで、複雑なものはXMLに展開して保存し、V-upの変更は、読み込み処理で対処する、というのが常道なのでは? OODB(ObjectStore)では、DB構造の差異を変換する「スキーマー進化」のツールがありましたが、SQLiteやAndroidの世界でも同等のものがあるかもしれません。 JavaでSerializeとXML変換のI/Oを1年くらい前は書いていたけど、すっかり忘れてら!
Posted at by とも