具有多个参数的Quickblox getUsersByFilter

时间:2016-02-20 12:02:41

标签: android quickblox

如何在QBUsers请求中执行多重过滤?例如,现在我正在请求登录等于9634的用户。

public void getUsers(){
    QBPagedRequestBuilder pagedRequestBuilder = new QBPagedRequestBuilder();
    pagedRequestBuilder.setPage(1);
    pagedRequestBuilder.setPerPage(100);


    ArrayList<String> userId = new ArrayList();
    userId.add("9634");
    QBUsers.getUsersByFilter(userId, "string login eq ", pagedRequestBuilder, new QBEntityCallback<ArrayList<QBUser>>() {
        @Override
        public void onSuccess(ArrayList<QBUser> users, Bundle bundle) {
            for (int i = users.size() - 1; i >= 0; --i) {
                QBUser user = new QBUser();
                user.setLogin(users.get(i).getLogin());
                user.setId(users.get(i).getId());
                user.setCustomData(users.get(i).getCustomData());
                userslist.add(user);
                adapter.notifyDataSetChanged();
            }
        }

        @Override
        public void onError(QBResponseException e) {

        }
    });

}

基于多个过滤器,我应该更改什么才能发出请求?感谢。

1 个答案:

答案 0 :(得分:1)

好的,在阅读了QuickBlox文档后,我发现查询用户时可能只使用一个过滤器,查询CustomObject时可能只使用多个过滤器。因此,我建议通过自定义参数过滤用户的唯一方法是接收QBUsers数组并手动过滤它。

This

此外,可以使用getUsersByTags接收具有多个标签的用户,但在大多数情况下,这不是答案。