从Parse数据浏览器中检索对象

时间:2014-06-27 12:20:43

标签: java android parse-platform

我已成功将对象保存到解析数据浏览器中,并且我能够在网站上看到该对象,但我在Android应用中检索此对象时遇到问题 这是我使用

的代码
public class MainActivity extends Activity implements OnItemSelectedListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Spinner spinner = (Spinner) findViewById(R.id.spinner1);
    ParseAnalytics.trackAppOpened(getIntent());  
    spinner.setOnItemSelectedListener(this);                        
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
        long id) {
    Parse.initialize(this, "App ID", "Client ID");  
    ParseQuery<ParseObject> q = ParseQuery.getQuery("TestObject");
    q.getInBackground("BRUlhLSW6d", new GetCallback<ParseObject>() {

        @Override
        public void done(ParseObject arg0, ParseException arg1) {
            Log.d("test4", "good");
            if (arg1 != null) {
                Toast.makeText(this, arg0.getString("foo").toString(), Toast.LENGTH_LONG).show();
            }

            else {
                Toast.makeText(this, "Help", Toast.LENGTH_LONG).show();
            }
        }
    });

}

2 个答案:

答案 0 :(得分:0)

不确定您对GetCallback的期望是什么,但是......在done()方法中,您(可能)正在检查&#34;良好的结果&#34;当arg1为非null时。也就是说,错误情况(arg1是例外)。

所以,很可能你的查询有效,但你错过了if分支。

答案 1 :(得分:0)

我知道你做错了什么;你有:

     if (arg1 != null) {
//this means there was an error fetching the object
...

而不是

    if (arg1 == null) {
//this means it succeeds
    ...
    }