ユーザーが部屋に入ることができる機能を開発しています。私は部屋のデータを保持するためにParseを使用しています。私の問題は、新しいユーザーが部屋に加わり、その部屋の既存のユーザーが部屋のアクティビティを再開すると、既存のユーザーに新しいユーザーが表示されないということです。構文解析クエリがonResumeで新しいデータを返さない
ので、ここでユーザーが部屋を作成したが、誰がまだ参加していないです、私のテーブルのエントリがあります。
私のGameOnSessionクラスは、ParseObjectクラスの拡張です。
@ParseClassName("GameOnSession")
public class GameOnSession extends ParseObject {
public JSONArray getParticipants() { return getJSONArray("participants"); }
public String getNumberOfParticipants() {
int getParticipantsNumber = getParticipants().length();
return String.valueOf(getParticipantsNumber);
}
public static ParseQuery<GameOnSession> getQuery() {
return ParseQuery.getQuery(GameOnSession.class);
}
}
これは私が部屋の人数を確認するために実行するクエリです。
ParseQuery<GameOnSession> query = ParseQuery.getQuery(GameOnSession.class);
query.whereEqualTo("objectId", QueryPreferences.getStoredSessionId(getActivity()));
query.findInBackground(new FindCallback<GameOnSession>() {
@Override
public void done(List<GameOnSession> objects, ParseException e) {
GameOnSession sess = objects.get(0);
Log.d("GAMEONSESSION", "Current # " + sess.getNumberOfParticipants());
}
});
だから、私が期待するものを返します:新しいユーザーが部屋に参加したときに0
は今、エントリは次のようになります。
それから私は、上記のクエリを実行し、ボタンを押してください。そしてまだは、私が1を期待したときに0を返します。
私は何が問題なのかよく分かりません。間違った質問を設定しましたか?
要するに、ユーザーAがルームを作成すると、Parseクエリでは、ユーザー数が0として、と予想されます。が返されます。ユーザーBがユーザーAの会議室に参加したときに、のSTILLは、0とではなく、となります。これは予期せぬことであり、進める方法がわかりません。
Parseは来年退職することを覚えておいてください。そうすれば、翌年まで解析していれば、あなたのアプリはもう動かなくなります。 –