Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用程序:将内容数据放入资源还是使用类?_Android_Arrays - Fatal编程技术网

Android应用程序:将内容数据放入资源还是使用类?

Android应用程序:将内容数据放入资源还是使用类?,android,arrays,Android,Arrays,我正在创建我的第一个android应用程序,其中有一个包含3个不同列表的ViewPager。因此,用户可以在3个列表之间滑动。列表本身是使用arrayAdapter填充的,当前我的数组是在strings.xml中定义的,如下所示: <string-array name="first_array"> <item>item1</item> <item>item2</item> <item>item3<

我正在创建我的第一个android应用程序,其中有一个包含3个不同列表的ViewPager。因此,用户可以在3个列表之间滑动。列表本身是使用arrayAdapter填充的,当前我的数组是在strings.xml中定义的,如下所示:

<string-array name="first_array">
    <item>item1</item>
    <item>item2</item>
    <item>item3</item>
</string-array>
<string-array name="second_array">
...
然而,这并不好,因为如果我决定删除/添加/编辑列表的名称,我将不得不回到这里,在这里反映更改,引入强耦合


因此,我正在考虑创建一个java类来保存数组,而不是在res/strings.xml中,在这种情况下,所有的耦合都可以消失,但我不确定将资源放在java类而不是res/

中是否是一个好的做法,以防您在市场上寻找快速的“n”脏解决方案,为什么不将数组名保存在另一个数组中,并在运行时查找它们

<string-array name="array1">
    ...
</string-array>

<string-array name="array2>
    ...
</string-array>

<string-array name="arrays">
    <item>array1</item>
    <item>array2</item>
</string-array>

这不是一个干净的解决方案,但您只需要维护字符串资源。在添加/删除/重命名数组时,不必更改代码,但在决定重命名命名数组时,您仍需要触摸它。

使用res/strings.xml的优点之一是可以轻松地执行i18n-请参见:您能否举例说明引入新类将如何减少耦合?该类与XML文件有何不同?
<string-array name="array1">
    ...
</string-array>

<string-array name="array2>
    ...
</string-array>

<string-array name="arrays">
    <item>array1</item>
    <item>array2</item>
</string-array>
getResources().getIdentifier()