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;
}
}

还请注意,使用此方法只能检索当前用户,因为返回其他用户需要主密钥。

谢谢您的帮助。是的,我明白。我只是想做一个登录系统使用材料设计。但某些错误,我需要进行验证,以得到我想要的结果。