2014-03-24 60 views
1

我正在構建一個簡單的MCQ測驗應用程序。如何從Parse.com數據庫檢索對象並在Android TextView中顯示它?

我所做的是在Parse.com上創建一個數據庫並存儲問題,可能的答案和正確的解決方案。

的Parse.com表可以看出這個形象:http://i.imgur.com/yXQ2FX1.png

正如你可以看到,每個對象都有一個問題,有4點可能的選擇和正確的答案。

現在,我想要顯示TextView中的問題以及四個不同按鈕中的選項。用戶將點擊正確的按鈕來回答,應用程序將檢查是否按下了正確的按鈕。

如何從特定對象的屬性中檢索內容到文本框或按鈕中?

注意:我嘗試了以下查詢的在線文檔。他們的例子展示瞭如何通過查詢檢索對象,而不是如何在TextView中顯示這些對象或如何將這些對象存儲在局部變量中。例如,我知道如何查詢特定的對象,但是一旦我得到該對象,如何檢索該對象的特定屬性,如何獲取存儲在「optionA」字段中的內容並將其存儲在字符串中?

我知道有一個ListView適配器,但正如你所看到的,我不能在這裏使用ListView。 我試過下面的代碼試圖將查詢的對象轉換爲字符串,但沒有奏效。我真的是一個新手,所以也許我正在做一些愚蠢的事情。請幫助我。

回答

4

試着這麼做:

query.whereEqualTo("ques",/*enter question number here*/); 
     query.findInBackground(new FindCallBack<ParseObject>(){ 
       public void done(List<ParseObject> l; ParseException e){ 
          if(e == null){ 
           for(int i = 0; i <l.size();i++){ 
             textView.setText(l.get(i).getString("optionA")) 
            } 
           } 
           else{//handle the error 
             } 
    } 

}); 
+0

哦謝謝你非常喜歡你的解決方案。我無法強調它對我有多大幫助! 我覺得不好,我甚至不能給你一個投票,因爲是一個新用戶:( – AspiringDeveloper

1

一旦你的對象(你說你懂得),你訪問屬性是這樣的:

String theQuestion = object.getString("question"); 

把它在一個TextView然後會是這樣的:

yourTextView.setText(theQuestion); 

您可以在A中獲得更多關於對象訪問的信息ndroid指南:如果你想導入數據庫的整體,你可以用下面的代碼進行

https://parse.com/docs/android_guide#objects-retrieving

+0

你的建議真的幫了我很多......非常感謝!現在我可以獲取並顯示數據,如果我使用objectId但是如果我使用任何其他查詢,問題是我得到一個列表而不是單個對象,然後我不知道如何處理該列表中的特定對象。請問您能幫我嗎? – AspiringDeveloper

+0

是的,如果你知道只有一個對象,你可以使用l.get(l.size() - 1);(其中l是對象列表)如果有多個對象,則需要遍歷它們。就像你接受答案中的for循環一樣。 (不知道爲什麼你接受這個答案,如果你仍然有這個問題......?) – Moonwalkr

0

見(該類結構有一個簡單的男孩和女孩記錄) -

ParseQuery<ParseObject> query = ParseQuery.getQuery("Friends"); 
      //query.whereEqualTo("Boy", tf3.getText().toString()); //This is to filter things! 
      query.findInBackground(new FindCallback<ParseObject>() { 
       public void done(List<ParseObject> scoreList, ParseException e) { 
        if (e == null) { 
         int len=scoreList.size(); 
         for(int i=0;i<len;i++) { 
          ParseObject p = scoreList.get(i); 
          String boy = p.getString("Boy"); 
          String girl = p.getString("Girl"); 


         } 
        } else { 
         Log.d("score", "Error: " + e.getMessage()); 
        } 
       } 
      }); 
相關問題