2014-10-07 5 views
0

Я работаю над приложением android, где информация пользователя хранится в базе данных облака (Parse), и я использую эти значения для идентификации пользователя. Однако я не могу получить информацию о пользователе (имя пользователя & пароль) в инструкции android if else. Пожалуйста, найдите приведенный ниже код.User LogIn на 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

+0

У вас все еще есть сообщение об ошибке? – Dehli

+0

Нет, не сообщение об ошибке, но я не решу проблему. Мне нужно проверить вход пользователя и открыть новую деятельность соответственно. Спасибо за помощь – coolDude

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

}) ;