2014-10-07 90 views
0

我正在开发一个android应用程序,其中用户信息存储在云数据库(Parse),我正在使用这些值进行用户标识。但是我无法在android if if语句中获取用户信息(用户名&密码)。请找到下面的代码。用户在Android上使用Parse登录

private void userScreen() { 
       EditText username = (EditText) findViewById(R.id.userName); 
       String username1 = username.getText().toString(); 
       EditText password1 = (EditText) findViewById(R.id.password); 
       String userpassword = password1.getText().toString(); 
       ParseQuery<ParseObject> query = ParseQuery.getQuery("UserInfo"); 
       if ((query.whereEqualTo("user_name", username1);) && (query.whereEqualTo("password", userpassword));){ 

     } 
    } 

我得到错误如果声明“& &”。“不是有效的解析操作

任何一个可以请给我提供了一个解决方案这个问题。

回答

1

这不是您称为Parse Queries的方式。如果你想两个条件是真的,你会写它像这样:

ParseQuery<ParseObject> query = ParseQuery.getQuery("UserInfo"); 
query.whereEqualTo("user_name", username1); 
query.whereEqualTo("password", userpassword); 
query.findInBackground(new FindCallback<ParseObject>() { 
public void done(List<ParseObject> results, ParseException e) { 
    if (e == null) { 
     if (results.size() > 0) { 
      // query found a user 
     } 
    } else { 
     // error 
    } 
} 

我认为更好的办法是使用Parse Login功能。

ParseUser.logInInBackground("UserName", "Password", new LogInCallback() { 
    public void done(ParseUser user, ParseException e) { 
     if (user != null) { 
      // Hooray! The user is logged in. 
     } else { 
      // Signup failed. Look at the ParseException to see what happened. 
     } 
    } 
}); 
+0

我厌倦了使用你的代码,但它没有解决问题。 – coolDude 2014-10-07 22:04:45

+0

您仍然有错误讯息? – Dehli 2014-10-07 22:14:15

+0

不,不是错误消息,但我不能解决我的问题。我需要验证用户输入并相应地打开新的活动。感谢您的帮助 – coolDude 2014-10-07 22:46:17

0

我认为新德里的答案是正确的,但如果你要开始,如果另一个活动,让我们假设用户已经存在,那么你就应该处理的其他条款在里面

ParseUser.logInInBackground("UserName", "Password", new LogInCallback() { 
public void done(ParseUser user, ParseException e) { 
    if (user != null) { 
     // Hooray! The user is logged in. 
    } else { 
     // Signup failed. Look at the ParseException to see what happened. 
//here is where you should handle your stuffs. Look at the e.getMessage() or the errorID 
    } 
} 

}) ;