我正在编写一个测验应用程序,我想在代码中的任何地方访问我的数组,我尝试使用SharedPreferences但它没有用。有人知道如何放置数组:
public static final int[] ALL_ANSWERS = {
R.array.answer,
R.array.answer1,
R.array.answer2,
R.array.answer3
};
在数据库中并在代码中的任何位置访问它们。这些答案是XML字符串数组,我想把它们作为按钮文本,apropos,作为问题的答案。每个字符串数组都是一批问题的批量答案。答案示例:
<?xml version="1.0" encoding="UTF-8"?>
<new_answers>
<answer1>
<text1>Zvonimir</text1>
<text2>Tomislav</text2>
<text3>Branimir</text3>
<text4>Viseslav</text4>
</answer1>
<answer2>
<text1>Stipe Mesic</text1>
<text2>Ivo Josipovic</text2>
<text3>Franjo Tuđman</text3>
<text4>Mate Granic</text4>
</answer2>
<answer3>
<text1>Hrvatski politicar</text1>
<text2>Hrvatski akademik</text2>
<text3>Hrvatski glazbenik</text3>
<text4>Hrvatski branitelj</text4>
</answer3>
</new_answers>
提前致谢!
答案 0 :(得分:0)
如果您正确定义了字符串数组(实际上它们没有正确定义),它可以工作。 Android使用精确约定如何创建资源,您应该遵循它们。
尝试以与此相同的方式定义数组:
<string-array name="answer1">
<item>Zvonimir</item>
<item>Tomislav</item>
<item>Branimir</item>
<item>Viseslav</item>
</string-array>
最后将它们作为 arrays.xml 放到values文件夹中。现在它应该有效。
答案 1 :(得分:0)
为什么不能将每个答案存储为单个元组,其属性为answerId - choice1 - choice2 - choice3 - choice4?
看起来每个答案都有相同数量的选择,所以而不是一个数组,你可以用这种方式设置你的模式。访问与问题编号关联的行并检索选项。如果你不想创建一个新的关系,你甚至可以添加一个答案正确的列(虽然我不确定这是最好的设计 - 即第三种常规形式?)
在我看来,只有单独的表格来提问和使用设计良好的查询比尝试存储和解析XML数组更容易。