通过Role Parse Android获取所有用户

时间:2016-05-09 19:37:01

标签: android parse-platform

嗨,我有下一个问题:

我在Parse注册了10个用户,用户可以拥有Admin或Player的角色。 我试图让所有用户第一,但是当我尝试时,查询只返回一个(当前用户)。

我如何获得所有用户?然后我如何按角色过滤?

我有下一个代码:

 ParseQuery<ParseUser> query = ParseUser.getQuery();
    query.findInBackground(new FindCallback<ParseUser>() {
        @Override
        public void done(List<ParseUser> objects, ParseException e) {
            if (e==null){
                Log.i("OK","no problem");
            }else{
                Log.i("NOT OK","problem");
            }
        }
    });

2 个答案:

答案 0 :(得分:2)

老实说,对于像这样简单的事情,最好不要使用关系和单独的类,而只是简单地将一个字符串字段添加到名为&#34; role的用户类中。&#34;所以在Parse上转到你的User类,添加一个名为&#34; role&#34;的String类型的新列。然后按如下方式查询。

ParseQuery<ParseUser> userQuery = ParseUser.getQuery();
userQuery.whereEqualTo("role", "admin");
userQuery.findInBackground(new FindCallback<ParseUser>() {
  void done(List<ParseUser> results, ParseException e) {
 // results has the list of users who are admins
 }
});

答案 1 :(得分:1)

您应该检查每个用户的ACL(readAccess)。用户没有读取权限。其他9个用户可能没有公开阅读,没有指定用户的ID,并且角色没有装备访问权限。

作为A.Vin的回答,如果你的用户有多个角色,你可以使用字符串数组。