2012-06-19 2 views
1

나는 간단한 객관식 퀴즈 앱을 쓰고 있습니다. SQLite 데이터베이스 테이블은 다음과 같습니다.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을 사용하여 4 가지 위치를 뒤섞어 야하나요?

+0

동일한 종류의 질문에 대해서는 이미 답변이 있습니다. 나는 당신에게 참조를 제공하기 위해 그것을 찾을 수 없습니다. –

답변

0

영어를 잘 쓰지 않지만 내 해결책을 살펴보십시오.

통화 질문 클래스의 목록보기 하나를 만듭니다. 해당 클래스에는 다음 내용이 포함되어 있습니다.
1 - 질문 용 필드 문자열 1 개.
2 - 대답을위한 한 개의 필드 문자열.
3 - 잘못된 또는 오른쪽에 대한 한 필드 부울입니다.

도움이 되었기를 바랍니다.

행운을 빈다.

0

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()); 
+0

나는 임의 번호를 생성하기 위해 Java Random을 사용했고 커서를 사용하여 데이터베이스에서 질문을 얻기 위해이 번호를 사용했지만 동일한 질문은 매우 자주 반복됩니다. 배열에서 질문을 선택하고 고유한지 확인하는 방법은 무엇입니까? 그리고 어떻게 동일한 배열에서 잘못된 대답을 선택하고 올바른 대답을 포함하지 않았는지 확인하십시오. – SeanZhang2012

+0

알았어. 배열을 섞을 수 있습니다. – SeanZhang2012

관련 문제