したがって、Trip
クラスとPlace
クラスの両方が拡張ParseObject
され、それらの間に多対多の関係があります。だから私はそのParseRelation
ようなものを使用しています:
Trip trip = ...
Place place = ...
trip.getRelation('place_relation').add(place);
trip.saveEventually();
次に、後で次のように場所をフェッチします。
final ArrayList<Place> places;
ParseRelation<Place> placeParseRelation = trip.getRelation("place_relation");
ParseQuery<Place> placeParseQuery = placeParseRelation.getQuery();
placeParseQuery.findInBackground(new FindCallback<Place>() {
@Override
public void done(List<Place> objects, ParseException e) {
if (e != null) {
...
} else {
places = (ArrayList<Place>) objects;
}
}
});
私が使用しているためsaveEventually()
、データベースに書き込まれてからDBから取得するまでに遅延がある可能性があることを認識していますが、現実的には、これを適切に保存するには1秒未満である必要があります。Places
ただし、クエリで返されるまでに最大 5 分かかる場合があることがわかりました。結果が表示されるまでにかかる時間はさまざまで、ほぼ瞬時に表示される場合もあれば、前述のように数分かかる場合もあります。新しい GenyMotion エミュレーターを使用して高速インターネット接続を使用しています。
なぜこれが起こっているのでしょうか?