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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...