Android Parse.com通过指针查询用户
我在使用指针查询用户数据时遇到问题,因此这是我的表(类): _使用者 应用程序将崩溃,因此我使用了另一个帮助行Android Parse.com通过指针查询用户,android,pointers,parse-platform,Android,Pointers,Parse Platform,我在使用指针查询用户数据时遇到问题,因此这是我的表(类): _使用者 应用程序将崩溃,因此我使用了另一个帮助行query.include(“writerId”)直接获取用户名,但此行: map.setwriter((String) post.get("username")); 也会使应用程序崩溃,当我删除它时,应用程序工作正常,因此在我的情况下,如何通过指针writerId从用户类中获取用户名?我不知道确切的Java语法,但当您包含writerId,然后想获取该writerId用户的用户名时
query.include(“writerId”)
直接获取用户名,但此行:
map.setwriter((String) post.get("username"));
也会使应用程序崩溃,当我删除它时,应用程序工作正常,因此在我的情况下,如何通过指针writerId从用户类中获取用户名?我不知道确切的Java语法,但当您包含writerId,然后想获取该writerId用户的用户名时,必须首先从Post的writerId中获取用户对象。。比如:
(String)((ParseUser)post.get(“writerId”).get(“username”)
指针列的命名有点误导,因为该列不包含ID。你应该叫它writer
要获取用户名,请执行以下操作:
query.include("writerId");
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> postList, ParseException e) {
if (e == null) {
for (ParseObject post : postList) {
ParseObject writer = post.getParseObject("writerId");
String userName = writer.getString("username");
// .. (do whatever with userName)
}
} else {
Log.d("post", "Error: " + e.getMessage());
}
}
});
query.include(“writerId”);
findInBackground(新的FindCallback(){
公共作废完成(列表postList,parsee异常){
如果(e==null){
对于(ParseObject post:postList){
ParseObject writer=post.getParseObject(“writerId”);
字符串用户名=writer.getString(“用户名”);
//..(使用用户名执行任何操作)
}
}否则{
Log.d(“post”,“Error:+e.getMessage());
}
}
});
谢谢,这很有效。问题在于行查询;一旦删除,你的线路工作良好
variables_posts = new ArrayList<VariablesPosts>();
ParseQuery<ParseObject> query = ParseQuery.getQuery("Posts");
query.selectKeys(Arrays.asList("post"));
query.include("writerId");
on = query.find();
for (ParseObject post : on) {
VariablesPosts map = new VariablesPosts();
map.setWriter((String) post.get("username"));
map.setPost((String) post.get("post"));
variables_posts.add(map);}
map.setWriter((String) post.get("writerId"));
map.setwriter((String) post.get("username"));
query.include("writerId");
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> postList, ParseException e) {
if (e == null) {
for (ParseObject post : postList) {
ParseObject writer = post.getParseObject("writerId");
String userName = writer.getString("username");
// .. (do whatever with userName)
}
} else {
Log.d("post", "Error: " + e.getMessage());
}
}
});