【发布时间】:2012-03-18 01:02:34
【问题描述】:
所以,我正在尝试找出将多种数据类型组合在一起的最佳方式。在我的代码内部,我正在创建一个类。在外部,我希望有一个地方可以管理以下类型的数据,或者至少是指向所述数据的指针。请注意,这些数据有很多组,我预计随着时间的推移会增加更多。
编辑:我大大简化了这里曾经的内容。
想象在编译时,我有一个对象列表。每个对象都有一些特征,所有对象都将具有这些特征。其中包括:
- 图像图像
- 一些字符串
- 整数数组
- 字符串数组
我想找到一种方法将所有这些存储在任何代码之外。理想情况下,我想使用 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 文件的想法。我想要的只是一个访问这些信息的某种方式的单一数据库。
除非我提交新的更新,否则不应更改此数据。这些不需要在运行时更新,但我肯定想在构建之间不时更新它们。我听说过 Preferences,它可能有效,但我不确定它们是否可能是用户可更新的.
【问题讨论】:
-
所以我得到的是,这些是您不希望用户更改但您希望它们在应用程序存在时可用的东西。如果您更新代码以更改这些值,那么只有这些值才应该更新?
-
@Shubhayu:嗯,我希望能够为将来的版本更新它们,添加/删除/更改内容,但我绝对不希望用户能够更新它们。不过,我不会在运行时更新这些内容。
-
我可能没有完全理解这个问题。但是,如果您创建了一个 Object 的子类来存储所有这些信息,然后编写一个方法将其全部放入 JSON 对象,然后将该 JSON 对象的 String 存储在 Preferences 中。然后当然你会编写反序列化方法来在运行时从 JSON 字符串重新构造对象。对于您的情况,这听起来是否可以远程使用?
-
我试图添加一些说明。让我知道它是否有帮助。 JSON 是可能的,但我不知道如何将指向图像资源的指针放入 JSON 流中......
-
R.drawable.your_image 是一个整数。你不能存储那个整数值吗? IE。 jsonObject.putInt("ImageResId",R.drawable.your_image)
标签: android xml string android-xml maintainability