2013-03-29 3 views
0

Question and Answers에 기반한 앱을 개발 중입니다. 나는 그 예에 대한 검색 옵션을 계획하고, 의 데이터를 가져 오기 위해/원시 데이터베이스를 고해상도를 사용하고내 페이지의 검색 옵션

는 나는 바닥에 검색 창을 유지하고 내가 100 개 질문 내가하고 싶은 일이 있다고 45 번으로 가십시오. searchbox에 번호를 입력하십시오. 나는이 일에 대해 어떤 생각도 갖고 있지 않다. 솔루션

protected void loadQuestionset1() throws Exception { 
try { 
InputStream questionset1 = this.getBaseContext().getResources() 
        .openRawResource(R.raw.questionset1); 
bReader = new BufferedReader(new InputStreamReader(questionset1)); 
StringBuilder quesString = new StringBuilder(); 
      String aJsonLine = null; 
      while ((aJsonLine = bReader.readLine()) != null) { 
       quesString.append(aJsonLine); 
      } 
Log.d(this.getClass().toString(), quesString.toString()); 
      JSONObject quesObj = new JSONObject(quesString.toString()); 
      quesList1 = quesObj.getJSONArray("Questions"); 
      Log.d(this.getClass().getName(), 
        "Num Questions " + quesList1.length()); 
      } 
catch (Exception e){ 

      } finally { 
       try { 
        bReader.close(); 
       } catch (Exception e) { 
        Log.e("", e.getMessage().toString(), e.getCause()); 
       } 

      } 


     } 
public static JSONArray getQuesList1() { 
      return quesList1; 
     } 
+0

검색 코드를 직접 작성하십시오. 45 번째 질문의 데이터를 얻고 표시하십시오. – Raghunandan

답변

0
public ArrayList<NewQuestion> questionList=new ArrayList<NewQuestion>(); 

1 질문에 관련된 데이터가 포함됩니다 당신은 데이터 이제 기본

NewQuestion newQuestion=new NewQuestion();  
newQuestion.question.put(NewQuestion.QUESTION_TEXT,q); 
newQuestion.question.put(NewQuestion.OPTION_1,q); 
newQuestion.question.put(NewQuestion.QPTION_2,q); 
newQuestion.question.put(NewQuestion.OPTION_3,q); 
newQuestion.question.put(NewQuestion.OPTION_4,q);  
questionList.add(newQuestion);  


public class NewQuestion { 

public static List<String> q12=new ArrayList<String>(); 
public static final String QUESTION_TEXT="questionText"; 
public static final String OPTION_1="option1"; 
public static final String OPTION_2="option2"; 
public static final String OPTION_3="option3"; 
public static final String OPTION_4="option4"; 
public static final String CORRECT_ANSWER="answer"; 

Hashtable question=new Hashtable(); 

public NewQuestion() 
{ 

    question.put(NewQuestion.QUESTION_TEXT,new String()); 
    question.put(NewQuestion.OPTION_1,new String()); 
    question.put(NewQuestion.OPTION_2,new String()); 
    question.put(NewQuestion.OPTION_3,new String()); 
    question.put(NewQuestion.OPTION_4,new String()); 
    question.put(NewQuestion.CORRECT_ANSWER,new String()); 
} 
} 

0 (인덱스 0) 당신의 questionList에서 질문을받을 때마다 찾아 도와주세요. 사용자가 40을 입력하면 40에 데이터에 액세스 할 수 있습니다.

질문에 액세스 할 수 있으면 45 번 위치에서 원시 데이터베이스를 직접 만들 필요가 없습니다. arraylist 모든 데이터를 저장하기 때문에 위의 절차는 이상적이지 않습니다. 크기가 커지면 작동 속도가 느려질 수 있습니다.

질문과 답변을 저장하는 데이터베이스 (sqlite) 인 경우 쿼리를 사용하여 데이터베이스에서 데이터를 가져 오는 것이 더 쉬울 것입니다.

+0

답변 해 주셔서 감사합니다. – preethi