Android存储益智游戏的图像

时间:2013-02-07 16:27:24

标签: android sqlite

只是想找一个关于我的问题的最佳方法的意见。我有一个儿童益智游戏应用程序的想法,其中一部分要求用户从3个不同的选项中选择正确的图像。给出了一个线索,例如“D”代表......'然后显示3张图像。例如Apple,狗和山羊。如果用户在这种情况下选择了狗,则选择下一个字母。如果用户选择不正确,他们将有另一次选择的机会。

我没有找到解决方案,我只是想知道用正确的问题存储图像的最佳方法是什么。 SQLite DB是最好的选择吗?最初它只会存储每个字母的1个图像,但最终会扩展为每个字母存储多个图像,所以我在这里长期思考。

先谢谢你们

1 个答案:

答案 0 :(得分: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);
相关问题