2016-07-28 3 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

私は非同期でこれをやりたくありません。私はこの方法でこれをしなければ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

関連する問題