Android-Parse.com-从查询回调返回对象
我试图创建一个通过用户名获取用户的方法。我正在使用解析查询。以下是我的方法:Android-Parse.com-从查询回调返回对象,android,parse-platform,Android,Parse Platform,我试图创建一个通过用户名获取用户的方法。我正在使用解析查询。以下是我的方法: public ParseUser getUserByName(String name){ ParseUser user; ParseQuery<ParseUser> query = ParseQuery.getQuery("_User"); query.whereEqualTo("username", name); query.getFirstInBackground(ne
public ParseUser getUserByName(String name){
ParseUser user;
ParseQuery<ParseUser> query = ParseQuery.getQuery("_User");
query.whereEqualTo("username", name);
query.getFirstInBackground(new GetCallback<ParseUser>() {
public void done(ParseUser result, ParseException e) {
if (result== null) {
Log.d("user", "Get user failed.");
} else {
user= result; // Compile error here, said: "Variable 'user' need to be declared final"
}
}
});
return user;
}
因此,我无法将搜索结果分配给用户:
else {
user= result; // Can't assign to user, because it's final.
}
那么如何从查询回调中获取并返回搜索结果呢?
请帮忙。谢谢。试试这个
public ParseUser getUserByName(String name){
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("username", name);
try {
return query.getFirst();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
为什么getFirst()代码>
从中检索满足此查询的ParseObject列表
UI或主线程中的源
为什么findInBackground()代码>
从中检索满足此查询的ParseObject列表
后台线程中的源
当我们使用findInBackground()时
您无法返回任何结果,因为您的方法将返回结果,而无需等待done()
response成功!非常感谢你的帮助。。。。顺便说一下。我看到您使用的是query.getFirst()而不是query.getFirstInBackground()。你能告诉我他们之间的区别吗。如果我想使用query.getFirstInBackground(),我该怎么做?再次感谢你的热情帮助。。。!
public ParseUser getUserByName(String name){
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("username", name);
try {
return query.getFirst();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
ParseUser parseUser = getUserByName("userName");
if(parseUser !=null){
}