0

私の問題に対する最善のアプローチは何かについての意見を探しています。子供向けのパズル ゲーム アプリのアイデアがあります。その一部では、ユーザーが 3 つの異なるオプションから正しい画像を選択する必要があります。「D is for...」などの手がかりが与えられ、3枚の画像が表示されます。リンゴ、犬、ヤギの例。この場合、ユーザーが犬を選択すると、次の文字が選択されます。ユーザーが間違って選択した場合、もう一度選択する機会が与えられます。

これに対する解決策を探しているわけではありません。正しい質問で画像を保存する最善の方法を知りたいだけです。SQLite DB は最良の選択肢でしょうか? 最初は各文字で1つの画像を保存するだけでしたが、最終的には各文字で複数の画像を保存するように拡張されるため、ここでは長期的に考えています.

よろしくお願いします

4

1 に答える 1

1

すべてをjsonファイルに保存します。これにはSQLiteはやり過ぎだと思います。

[
  {
    "letter":"c",
    "images":[
    "image_cat",
    "image_car"
    ]
  },
  {
    "letter":"d",
    "images":[
    "image_dog",
    "image_duck",
    "image_desk"
    ]
  }
]

次に、jsonをオブジェクトの配列に簡単に解析できます。

次に、 res/drawable/hdpi/ で image_cat.png image_car.png image_dog.png image_duck.png image_desk.png を持つことができます

次に、リソースからこれらの画像をロードするには、次のようなものを使用します。

int resourceId=Resources.getSystem().getIdentifier(imageName, "drawable", getContext().getPackageName());
if(resourceId != 0){
 Drawable d = getResources().getDrawable(resourceId);
}

画像をアセットに保存したい場合は、次のようにすることができます。

InputStream ims = getAssets().open(imageName);
Drawable d = Drawable.createFromStream(ims, null);
于 2013-02-07T17:46:07.660 に答える