编辑:我正在大规模简化曾经在这里的事情.
成像,在编译时,我有一个对象列表.每个对象都有一些特征,所有对象都有共同之处.这些包括:
>一个imageImage
>一些字符串
>一个整数数组
>一个字符串数组
我想找到一种方法将所有这些存储在任何代码之外.理想情况下,我想使用XML,模糊地看起来像这样:
<storage_type> <image resID="@ID/image1" /> <name>Item_name1</name></storage_type><storage_type> <image resID="@ID/image2" /> <name>Item_name2</name></storage_type>
图像当前存储为资源变量.我只是不确定如何将图像引用放入XML文件中.
如果可以找到更好的解决方案,我与XML文件的想法没有结合.我想要的只是一个访问这些信息的单一数据库.
除非我提交新的更新,否则不应更改此数据.这些不需要在运行时更新,但我肯定希望在构建之间不时更新它们.我听说过可能有用的偏好设置,但我不确定它们是否可能以某种方式用户可更新.
解决方法 在 this question的帮助下,我能够找到解决方案.>我的数据存储在XML数组中.
>此数据包含一个数组索引,该索引指向在正常资源下维护的图像阵列.
我的数据存储文件如下所示:
<storage_type> <image imageArrayIndex="1" /> <name>Item_name1</name></storage_type><storage_type> <image imageArrayIndex="2" /> <name>Item_name2</name></storage_type>
我的res / values文件夹中有一个文件,如下所示:
<resources> <string-array name="images"> <item>@drawable/default</item> <item>@drawable/image1</item> <item>@drawable/image2</item> </string-array></resources>
在解析XML代码的过程中,我有以下几点:
TypedArray imgs = context.getResources().obtainTypedArray(R.array.achIEvement_images);//Whole bunch of code to parse XML,eventually coming to this line:else if (name.equals("image")){ imageRes=imgs.getResourceID(xpp.getAttributeIntValue(null,"imageArrayIndex",0),-1);}
或者,我可以简单地存储图像的名称,如下所示:
<storage_type> <image resID="image1" /> <name>Item_name1</name></storage_type><storage_type> <image resID="image2" /> <name>Item_name2</name></storage_type>
然后通过解析XML标记并通过以下方式获取资源ID来获取它:
int resID=Context.getResources().getIDentifIEr (name_string_Image,"drawable",null);总结
以上是内存溢出为你收集整理的android – 如何以易于维护的格式组合图像,字符串和整数集全部内容,希望文章能够帮你解决android – 如何以易于维护的格式组合图像,字符串和整数集所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)