只是想找一个关于我的问题的最佳方法的意见。我有一个儿童益智游戏应用程序的想法,其中一部分要求用户从3个不同的选项中选择正确的图像。给出了一个线索,例如“D”代表......'然后显示3张图像。例如Apple,狗和山羊。如果用户在这种情况下选择了狗,则选择下一个字母。如果用户选择不正确,他们将有另一次选择的机会。
我没有找到解决方案,我只是想知道用正确的问题存储图像的最佳方法是什么。 SQLite DB是最好的选择吗?最初它只会存储每个字母的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);