0

我正在编写一个测验应用程序,我想在代码中的任何位置访问我的数组,我尝试使用 SharedPreferences 但它没有用。有谁知道如何放置数组数组:

public static final int[] ALL_ANSWERS = {
    R.array.answer,
    R.array.answer1,
    R.array.answer2,
    R.array.answer3
    };

在数据库中并在代码中的任何位置访问它们。这些答案是 XML 字符串数组,我想把它们作为按钮文本,恰当地作为问题的答案。每个字符串数组都是一批问题的答案。答案示例:

<?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>

提前致谢!

4

2 回答 2

0

如果您正确定义了字符串数组(实际上它们没有正确定义),它可能会起作用。Android 使用精确的约定来创建资源,你应该遵循它们。

尝试以与此相同的方式定义数组:

<string-array name="answer1">
    <item>Zvonimir</item>
    <item>Tomislav</item>
    <item>Branimir</item>
    <item>Viseslav</item>
</string-array>

最后将它们作为arrays.xml放置到 values 文件夹中。现在它应该可以工作了。

于 2013-08-09T21:28:14.390 回答
0

为什么不能将每个答案存储为单个元组,其属性为 answerId -choice1 -choice2 -choice3 -choice4?

看起来每个答案都有相同数量的选择,因此您可以通过这种方式设置架构,而不是数组。访问与问题编号关联的行并检索选项。如果您不想创建新关系,您甚至可以添加一个答案正确的列(尽管我不确定这是最好的设计 - 即第 3 范式?)

在我看来,只是为问题和答案设置了单独的表,并且使用设计良好的查询比尝试存储和解析 XML 数组更容易。

于 2013-08-09T21:38:40.860 回答