ユーザーが新しいプロジェクトを作成するか、既存のプロジェクトを選択するオプションを提供するアプリを作成しようとしています。これらのプロジェクトには、名前 (タイトル) と撮影が許可されている画像のグループが含まれます。基本的にはアルバム。これを行う唯一の方法は、プロジェクトの名前と、そのプロジェクト用に選択したすべての写真の一連の ID をファイルに書き込むことです。これを配列に保存し、アプリを起動するたびに再読み込みします。これはこれを行う良い方法ですか、それとももっと雄弁な方法がありますか?
2 に答える
バイパーボーンの答えは良いです。それに少し追加することをお勧めしますか?
プロジェクトを表すクラスを作成します。このクラスをシリアライズ可能にします。このクラスでは、「save」および「load」メソッドを作成します。最初は、save メソッドで SQLite を使用しているかもしれませんが、将来、これを変更したい理由がたくさんあるかもしれません (Dropbox に保存? エクスポート? - したがってシリアライゼーション)。
プロジェクトを保存する方法を分離すると、理論上はコードの残りの部分を変更することなく、基礎となるストレージ メカニズムを好きなように変更できます。
さらに一歩進んで、定義したインターフェイスを持つ別のクラスに保存/読み込みメソッドを含めることができます。このように、同じインターフェースを使用する新しいクラスを追加するだけで、複数の保存メソッドを使用して新しいメソッドを追加することもできます。
この種の柔軟性を組み込むことで、多くの場合、アプリが進化するにつれて初期投資を何度も回収できます。
sqlite データベースを使用してプロジェクトをテーブルに格納し、別のテーブルにイメージのリストを格納し、3 番目のテーブルにどのイメージがどのプロジェクトに属するかのリストを格納できます。
次のテーブルを使用できます。
プロジェクト表
ID - AutoInt
タイトル - varchar(255)
画像表
ID - AutoInt
ImageID - 整数
プロジェクト画像関連表
ID - AutoInt
プロジェクト ID - 整数
ImageID - 整数
この sqlite データベース チュートリアルをご覧ください: http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/
またはこれ: http://android-er.blogspot.ch/2011/06/simple-example-using-androids-sqlite_02.html