如何从Parse.com数据库中检索对象并在Android TextView中显示它?

时间:2014-03-24 18:44:02

标签: java android database android-listview parse-platform

我正在构建一个简单的MCQ测验应用程序。

我所做的是在Parse.com上建立一个数据库并存储问题,可能的答案和正确的解决方案。

Parse.com表格可以在此图片中看到:http://i.imgur.com/yXQ2FX1.png

如您所见,每个对象都有一个问题,有4个可能的选项和正确答案。

现在,我想在TextView中显示问题,并在四个不同的按钮内显示选项。用户将点击正确的按钮进行回答,应用程序将检查是否按下了正确的按钮。

如何将特定对象属性中的内容检索到文本视图或按钮中?

注意:我尝试按照查询的在线文档进行操作。他们的示例展示了如何通过查询检索对象,而不是如何在TextViews中显示这些对象或如何将这些对象存储在局部变量中。例如,我知道如何查询特定对象,但是一旦我得到对象如何检索该对象的特定属性,我如何获得存储在" optionA"字段并将其存储在字符串中?

我知道有一个ListView适配器,但是你可以看到我不能在这里使用ListView。 我尝试使用以下代码尝试将查询的对象转换为字符串,但这并不起作用。我真的是个新手,所以也许我做的事情很愚蠢。请帮帮我。

3 个答案:

答案 0 :(得分:5)

尝试类似:

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

});

答案 1 :(得分:1)

一旦你得到了这个对象(你说你知道怎么做),就可以访问这样的属性:

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

将它放在textview中就像这样:

yourTextView.setText(theQuestion);

您可以在Android指南中获得有关对象访问的更多信息:

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

答案 2 :(得分:0)

看看你是否要导入整个数据库,你可以继续使用以下代码(类结构有一个简单的BOY和GIRL记录) -

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());
                    }
                }
            });