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>
您可以使用用户的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)