我正在开发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'com.parse:parse-livequery-android:1.0.0'
提前致谢
回复有点晚,但希望它能帮助遇到同样问题的其他人。
您应该查看的查询是:“whereContainedIn”
query.whereContainedIn("username", Arrays.asList("USER1", "USER2"));
由于在同一个键上有两个“whereEqualTo”约束 - 这与自身相矛盾 - Parse只应用一个约束。
有关更多信息,请查看:https://docs.parseplatform.org/android/guide/#limits-and-other-considerations
P.S。:还有一个关于约束语言的拼写错误。它应该是“whereEqualTo”,而不是“whereEqualsTo”。