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

时间:2017-04-28 21:37:23

标签: android livequery

我正在为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 Application启动。

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

我正在使用图书馆 编译'com.parse:parse-livequery-android:1.0.0'

先谢谢

1 个答案:

答案 0 :(得分:1)

回复很晚,但希望对其他遇到相同问题的人有所帮助。

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

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

由于在同一个键上存在两个“ whereEqualTo”约束-这与自身矛盾-解析将仅应用一个约束。

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

P.S .:还有一个拼写错误,其中包含约束语言。应该是“ whereEqualTo”,而不是“ whereEqualsTo”。