ANDing,嵌套查询解析服务器android

时间:2015-06-15 12:24:28

标签: java android parse-platform

我正在努力让某个城市或某些性别的用户或用户从ma解析服务器获得,但此代码会返回所有年龄=“20”,city =“new york”的用户,gender =“females”

public void sendQuery() {
        String ages1 = SharedPrefsActivity.n;
        String cities = SharedPrefsActivity.ph;
        String genders = SharedPrefsActivity.e;
        ParseQuery<ParseObject> ages =ParseQuery.getQuery("UserImages");
        ages.whereEqualTo("age", ages1 );

         ParseQuery<ParseObject> city1 = ParseQuery.getQuery("UserImages");
         city1.whereMatchesKeyInQuery("city", cities , ages);

         final ParseQuery<ParseObject> gender1 = ParseQuery.getQuery("UserImages");
         gender1.whereMatchesKeyInQuery("gender", genders, city1);

         gender1.findInBackground(new FindCallback<ParseObject>() {
            public void done(List<ParseObject> results, ParseException e) {
                for (ParseObject gender : results) {
                    Object name = gender.get("name");
                    ParseFile image = (ParseFile) gender.get("ImageFile");
                    Usernames.add(((Object) name).toString());
                    imageUrls.add(((ParseFile) image).getUrl().toString());

                }

            }
        });

    }

1 个答案:

答案 0 :(得分:1)

AND is accomplished by applying multiple criteria to a single query:

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

query.whereEqualTo("age", ages1 );
query.whereEqualTo("city", cities );
query.whereEqualTo("gender", genders );

query.findInBackground( ...