Я довольно новичок в разработке Java и Android. Я пытаюсь сделать приложение для своего сайта. Я использую Retrofit
для подключения к моему веб-сервису REST.Невозможно изменить переменную из анонимного класса
Ниже приведен фрагмент кода, который я использую для итерации через идентификаторы клиента и для каждого идентификатора, выполняется вызов для получения электронного письма, связанного с идентификатором. authenticateUser
метод получает имя пользователя, пароль и список идентификаторов (идентификаторы клиентов). Иды расположены в mywebsite/api/customers. Письма доступны на МойВебСайт/API/клиентов/ид
public class Authentication {
private static String receivedEmail;
public static boolean authenticateUser(List<Integer> ids, final String username, String pass) {
RestAdapter adapter = new RestAdapter.Builder().setEndpoint(MainActivity.ENDPOINT).build();
AuthenticationUsernameAPI api = adapter.create(AuthenticationUsernameAPI.class);
final boolean[] found = {false};
for (Integer id: ids) {
if (!found[0]) {
api.getUserEmail(id.toString(), new Callback<CustomerLoginEmail>() {
@Override
public void success(CustomerLoginEmail customerLoginEmail, Response response) {
receivedEmail = customerLoginEmail.getCustomer().getEmail().toString();
if (receivedEmail.compareTo(username) == 0) {
found[0] = true;
}
}
@Override
public void failure(RetrofitError error) {
Log.d("ERROR", error.getMessage());
}
});
} else {
return true;
}
}
return false;
}
}
Метод authenticateUser
всегда возвращает ложь. Пожалуйста, помогите