解析服务器LiveQuery订阅多个联系人和事件(Android)

问题描述 投票:0回答:1

我正在开发Android的聊天应用程序。我想在用户在线状态的_User类中为多个联系人订阅实时查询。

    ParseQuery<ParseObject> query= ParseQuery.getQuery("_User");

        SubscriptionHandling<ParseObject> subscriptionHandling = parseLiveQueryClient.subscribe(query);


        subscriptionHandling.handleEvent(SubscriptionHandling.Event.CREATE,
                new SubscriptionHandling.HandleEventCallback<ParseObject>() {
                    @Override
                    public void onEvent(ParseQuery<ParseObject> query, ParseObject object) {


                    }
                });

本规范适用于所有用户。但我想在选定的用户上触发LiveQuery。我想做类似的事情...在运行时,WhenEver应用程序启动。

query.whereEqualsTo("username","USER1");
query.whereEqualsTo("username","USER2");

我正在使用Library compile'c​​om.parse:parse-livequery-android:1.0.0'

提前致谢

android livequery
1个回答
1
投票

回复有点晚,但希望它能帮助遇到同样问题的其他人。

您应该查看的查询是:“whereContainedIn”

query.whereContainedIn("username", Arrays.asList("USER1", "USER2"));

由于在同一个键上有两个“whereEqualTo”约束 - 这与自身相矛盾 - Parse只应用一个约束。

有关更多信息,请查看:https://docs.parseplatform.org/android/guide/#limits-and-other-considerations

P.S。:还有一个关于约束语言的拼写错误。它应该是“whereEqualTo”,而不是“whereEqualsTo”。

© www.soinside.com 2019 - 2024. All rights reserved.