2016-07-28 64 views
0

如何在android中使用parse实现同步查询? 我想要下面的东西,但同步的方式。同步查询?

ParseQuery<ParseObject> query = ParseQuery.getQuery("MyClass"); 
    query.findInBackground(new FindCallback<ParseObject>() { 
    public void done(List<ParseObject> objects, ParseException e) { 
     if (e == null) { 
      objectsWereRetrievedSuccessfully(objects); 
     } else { 
      objectRetrievalFailed(); 
     } 
    } 
} 
+0

新的AsyncTask执行耗时的操作 – samm

+0

我不想用async做这个,我想用同步的方式得到2个字符串,如果我不这样做,幻灯片将会崩溃。 – JECon

回答

1

使用ParseQuery#find()来执行查询并阻塞,直到它完成。像下面的东西应该工作:

ParseQuery<ParseObject> query = ParseQuery.getQuery("MyClass"); 
try { 
    List<ParseObject> objects = query.find(); 
    objectsWereRetrievedSuccessfully(objects); 
} catch (ParseException e) { 
    objectRetrievalFailed(); 
} 

然而,正如已经被别人提及,阻塞主线程通常不是一个好主意,因为这样做使UI响应。

+0

谢谢,它的工作原理!是的,我知道,这不是获取数据的最佳方式,但它只有2个字符串,所以速度非常快。 – JECon