Я использую parse.com в качестве моего бэкэнд-сервиса для своего приложения для Android. Я хочу сделать разделение между моими действиями и синтаксическим разбором, для этой цели я создал класс обслуживания, который объединит действия и разбор (бэкэнд). Большинство функций синтаксического анализа являются асинхронными, и я не знаю, как их обрабатывать. Например, если я хочу войти в систему с пользователем, я вызову объект службы, который должен выполнить логин с функцией логического входа. Так вот мой код в деятельности:Звонок на асинхронную функцию
LoginService login = new LoginService("username", "password");
login.login();
//from here it is not correct
if(login.getLoginStatus() == 2) {
//user loggedin
}...
и мой код обслуживание:
public LoginSrvice(String userName, String pass)
{
this.userName = userName;
this.pass = pass;
}
public void loginUser()
{
ParseUser.logInInBackground(userName, pass, new LogInCallback()
{
@Override
public void done(ParseUser user, ParseException e) {
if (user != null) {
logedIn = 1;
} else {
logedIn = 2;
}
}
});
}
public int getLoginStatus()
{
return logedIn;
}
Мой вопрос, как я должен это делать правильно? как я могу удержать как действия, так и службы, разделенные, но все еще жду ответ в действии, пока класс службы не получит ответ от анализа. Спасибо за помощь!
Не могли бы вы дать мне пример, пожалуйста? – vlio20
В этой записи: http://stackoverflow.com/questions/7713786/java-make-a-method-wait-for-a-response-of-another-process/7713815#7713815 вы найдете образец. Как я уже сказал, является общей процедурой в Java –