微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 如何以易于维护的格式组合图像,字符串和整数集

所以,我试图找出将许多数据类型组合在一起的最佳方法.在我的代码内部,我正在创建一个类.在外部,我希望有一个地方可以管理以下类型的数据,或者至少指向所述数据的指针.请注意,这些数据有很多组,我预计随着时间的推移会增加更多.

编辑:我正在大规模简化曾经在这里的事情.

成像,在编译时,我有一个对象列表.每个对象都有一些特征,所有对象都有共同之处.这些包括

>一个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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐