【发布时间】:2015-06-25 22:47:42
【问题描述】:
如何获得指向解析对象的指针?
例如,我的 ParseUser 有一个名为“school”的列,它是指向 Parse 类“School”的指针
school Pointer<School>
我能够获得 School 类型的 ParseObject,但是,我不知道如何获得指向此 School ParseObject 的指针,因此我可以将它放在 ParseUser 的学校字段中。
我看到了与此类似的帖子,说创建一个没有数据的解析对象并为其提供正确的对象 ID:
ParseObject mySchoolPtr = ParseObject.createWithoutData("School", mySchoolObject.getObjectId());
currentUser.put("school", mySchoolPtr);
但是,在运行此代码后,我的 Parse 用户数据库仅在学校字段中列出“(未定义)”。
下面是一段代码 sn-p 捕获了这整个过程(在 sn-p 之后我进一步解释了 sn-p 中发生的事情):
String school = schoolEditText.getText().toString().trim();
String password = passwordEditText.getText().toString().trim();
final ParseUser currentUser = ParseUser.getCurrentUser();
currentUser.setPassword(password);
// Query schools and search for name == school, create pointer for that one and put it for user "school"
ParseQuery<ParseObject> query = ParseQuery.getQuery("School");
query.whereEqualTo("name", school);
query.getFirstInBackground(new GetCallback<ParseObject>() {
public void done(ParseObject school_found, ParseException e) {
if (school_found != null) {
Log.d("School", "Retrieved " + school_found.getString("name"));
ParseObject myschoolptr = ParseObject.createWithoutData("School", school_found.getObjectId());
currentUser.put("school", myschoolptr);
} else {
Log.d("School", "Error: School name not found in Database. " + e.getMessage());
}
}
});
currentUser.saveInBackground();
showMainActivity();
在我的 Parse class School 中,我有一列标有名称。 我让用户输入他们的学校,例如“麻省理工学院”。 然后,我在 parse 上查询学校类以获取等效名称。 所以这给了我学校课程的相应 ParseObject 。 我想把它放在 ParseUsers 学校领域。 但是,学校的 ParseUser 字段是指向 School 类的指针。 如何获取指向给定 ParseObject 的指针以放入用户的学校字段?
【问题讨论】:
标签: android pointers parse-platform