Я пишу программу для проверки входа в систему, которая не может работать. Отсутствие какой-либо ошибки, но она не генерирует текст тоста для неправильного входа в систему. Я считаю, что это неправильно при условии состояния. Если вход ошибочен, он ответит «null», пока он отображается в журнале.Не удалось проверить логин
Но я не могу найти, где ошибка, может ли кто-нибудь помочь?
HttpClient client = new DefaultHttpClient();
try {
ArrayList<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("login", loginText));
parameters.add(new BasicNameValuePair("password", pwText));
String url = controller.bniRootUrl+
controller.folderUser+
controller.fileLogin+
"?";
url += URLEncodedUtils.format(parameters, "utf-8");
HttpGet get = new HttpGet(url);
HttpResponse response = client.execute(get);
loginResponse = EntityUtils.toString(response.getEntity());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d(TAG, "response: "+loginResponse);
if (loginResponse == null || loginResponse == "null" || loginResponse.isEmpty()){
Toast.makeText(Login.this, "invalid login", Toast.LENGTH_SHORT).show();
}
Во-первых, вы должны заявить, что вы имеете в виду под «не может работать». Каково текущее поведение и что ожидается? Кроме того, вам нужно, вероятно, попробовать отладить его самостоятельно. Я вижу, что вы использовали какой-то журнал для отладки, если вы добавите достаточное количество из них, в конечном итоге вам будет очень легко определить, что пошло не так. Например, зарегистрируйте входное имя пользователя/пароль, url, reposnse (что вы сделали) и, возможно, строку журнала прямо после вашей тосты, чтобы убедиться, что она входит в if {} –
, отредактировав проблему. инструкция внутри if-clause не может быть запущена, что означает, что условие идет не так, но я не знаю, почему это происходит неправильно ... Я также попытался положить лог внутри if-clause, он доказывает, что условие действительно не работает – Simon
Что делает оператор журнала 'response:' print? также необходимо изменить второе условие в операторе 'if'. Проверка 'String' для равенства должна выполняться с помощью метода' equals() '. – asgs