【问题标题】:Android Quiz App with SQLite database random choice带有 SQLite 数据库随机选择的 Android 测验应用程序
【发布时间】:2012-06-19 13:55:01
【问题描述】:

我正在编写一个简单的多项选择测验应用程序。 SQLite 数据库表如下所示:

1 Question1 RightAnswer1
2 Question2 RightAnswer2
3 Question3 RightAnswer3 
and so on.

活动布局如下所示。

Question TextView
Wrong Answer ListViewItem
Right Answer ListViewItem
Wrong Answer ListViewItem
Wrong Answer ListViewItem

我将选择 Java random 从表中选择一个随机问题。我的问题是 - 我应该如何从同一张表中选择错误的答案,以使它们与正确的答案不一致。 另一个问题是如何将正确答案随机放置在四个 TextView 之一? 我应该使用 Java Collections.shuffle 来打乱这四个位置吗?

【问题讨论】:

  • 已经在 SO 上回答了同类问题。我找不到它来为您提供参考。

标签: java android sqlite


【解决方案1】:

您可以为您的 sqlite 数据构建一个类。

public class name{
     private String question;
     private String answer;
     public name(String q,String a){
             question=q;
             question=a;
       }
     public String getQuestion{return question;}
     public String getAnswer {return answer;}
}

在定义这个类之后,您可以在从 Sqlite db 检索数据后将数据放入 ArrayList 中。

ArrayList<your class name> list=new ArrayList<your class name>();
Cursor c=db.query(tablename,new String[]{your columns},null,null,null,null,null);
if(c.moveToFirst(){
    do{
       String question=c.getString(columnName);
       String answer=c.getString(ColumnBame);
       className cls=new className(question,answer);
       list.add(cls);
       }while(c.MoveToNext());

【讨论】:

  • 我使用 Java Random 生成随机数,并使用该数从数据库中获取带有光标的问题,但同样的问题经常重复。我将如何从数组中选择一个问题并确保它是唯一的?我如何从同一个数组中选择错误的答案并确保它们不包含正确的答案?
  • 好的,我知道了。我可以洗牌。
【解决方案2】:

我的英文写得不太好,但是看看我的解决方案。

创建一个呼叫问题类的列表视图。在该类中包含:
1 - 问题的一个字段字符串。
2 - 一个字段字符串作为答案。
3 - 一个布尔字段表示错误或正确。

希望对你有帮助。

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-09
    • 2012-08-29
    • 2019-12-12
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    相关资源
    最近更新 更多