Android 你能从解析查询中得到答案吗?
我正在尝试制作一个应用程序,但遇到了无法从查询中提取信息的问题 我的代码如下所示:Android 你能从解析查询中得到答案吗?,android,parse-platform,Android,Parse Platform,我正在尝试制作一个应用程序,但遇到了无法从查询中提取信息的问题 我的代码如下所示: // This is to validate there is an email private boolean isEmail(String email) { ParseQuery<ParseUser> query = ParseUser.getQuery(); query.whereEqualTo("email", email);
// This is to validate there is an email
private boolean isEmail(String email) {
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("email", email);
query.getFirstInBackground(new GetCallback<ParseUser>() {
@Override
public void done(ParseUser object, ParseException e) {
if (object == null) {
Log.d("Login User", "The getFirst request failed. Probably because no associated account found");
return false
}
else {
return true
}
}
});
}
//这是为了验证是否存在电子邮件
私人电子邮件(字符串电子邮件){
ParseQuery=ParseUser.getQuery();
查询。whereEqualTo(“电子邮件”,电子邮件);
getFirstInBackground(新的GetCallback(){
@凌驾
public void done(ParseUser对象,parsee异常){
if(object==null){
Log.d(“登录用户”,“getFirst请求失败。可能是因为找不到关联帐户”);
返回错误
}
否则{
返回真值
}
}
});
}
但是,正如您所看到的,具有“return”语句的位置会由于调用它们的位置而抛出错误
有什么方法可以执行返回语句吗?您可以使用
query.getFirst
而不是query.getFirstInBackground
。请注意,它将阻塞主线程。您可能希望重新设计函数以接收回调函数,该函数将被回调并返回结果。如果你真的想保留签名,那就是最好的办法:
私人电子邮件(字符串电子邮件){
ParseQuery=ParseUser.getQuery();
查询。whereEqualTo(“电子邮件”,电子邮件);
试一试{
ParseUser object=query.getFirst();
返回true;
}捕获(解析异常){
返回false;
}
}
还请注意,使用此方法只能检索当前用户,因为返回其他用户需要主密钥。谢谢您的帮助。是的,我明白。我只是想做一个登录系统使用材料设计。但某些错误,我需要进行验证,以得到我想要的结果。