如何在Android上使用Parse.com查询用户Pointer <_user>字段

use*_*797 1 java android parse-platform

确实要为此查询苦苦挣扎,我要做的就是通过我的Routines表运行一个查询,选择属于某个用户的Routines。运行普通查询将需要查询。whereEqualTo(“ routineIcon”,“ 1”)将显示第一行和第三行。但是,棘手的一点是查询用户(Point <_user>)字段,这是对User类中用户(objectId)的引用。最初,我尝试使用query.whereEqualTo(“ user”,“ RE1bvmzyPk”),但结果空白,因此我研究了查询Pointers,虽然已经做了很多事情,但是无法正常工作。有人提示吗?

private void retrieveRoutines() {
    ParseQuery<ParseObject> query = ParseQuery.getQuery("Routine");
    query.whereEqualTo("user", "RE1bvmzyPk");
    query.findInBackground(new FindCallback<ParseObject>() {
        @Override
        public void done(List<ParseObject> routines, ParseException e) {
            if (e==null){
                mRoutines = routines;
                String[] routineNames = new String[mRoutines.size()];
                int i = 0;
                for (ParseObject routine : mRoutines) {
                    routineNames[i] = routine.getString("routineName");
                    Log.d("OK", routineNames[i]);
                    i++;
                }


            }

            else {
                //error
            }
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

例程类的格式为:

objectId(字符串)| 例程图标(字符串)| 例程名称(字符串)| 用户(指针<_User>

Aru*_* MG 5

您可以使用用户的objectid创建用户指针

ParseUser user=new ParseUser();
user.setObjectId("RE1bvmzyPk");

ParseQuery<ParseObject> query = ParseQuery.getQuery("Routine");
query.whereEqualTo("user", user);
query.findInBackground(new FindCallback<ParseObject>() {
    @Override
    public void done(List<ParseObject> routines, ParseException e) {
        if (e==null){



        }

        else {
            //error
        }
    }
});
Run Code Online (Sandbox Code Playgroud)