最近、Android アプリで Parse ライブラリを使い始めました。saveEventually を使用してユーザーの連絡先を保存し、ParseRelation を使用して同じものをユーザーに関連付けたいと考えています。ユーザーに複数の連絡先がマッピングされているため、以下のコードを使用して保存機能を処理しています。
ParseRelation relation = ParseUser.getCurrentUser().getRelation(relationshipName);
for(int entityIndex = 0; entityIndex < entities.length;entityIndex++) {
...
entity[entityIndex].saveEventually(); relation.add(entity[entityIndex]);
...
}
ParseUser.getCurrentUser().saveEventually();
ここでは、有効なエンティティ (ParseObject) ごとに saveEventually() を使用し、それをリレーションに追加しています。後ですべてのオブジェクトが ParseRelation に追加されたら、最後に、ParseUser に対して saveEventually() を呼び出して、すべての関係を Parse に保存します。
このアプローチは正しいですか?relationship.add(entity[entityIndex]); で例外を下回っています。
リレーション内のすべてのオブジェクトには、オブジェクト ID が必要です。
これは、ネットワーク接続の問題があり、ParseRelation が各 ParseObject の一意の objectId を取得していないことを示唆しているようですが、この saveEventual() が ParseRelation でこのシナリオをうまく処理すると想定していました。
よろしくお願いします。Parse ライブラリ バージョン 1.1.11 を使用しています
ありがとう。