我正在編寫一個程序來驗證無法工作的登錄。不會發生任何錯誤,但不會生成不正確登錄的烤麪包文本。我認爲它在條件狀態下出錯。如果登錄錯誤,它會在日誌中顯示'空'。無法驗證登錄
但我找不到錯在哪裏,有人可以幫忙嗎?
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語句裏面的語句無法運行,這意味着條件出錯了,但我不知道爲什麼會出錯...... 我也試過把日誌放在if子句中,它證明條件真的不起作用 – Simon
什麼是日誌語句'response:'print?另外,應該修改'if'語句中的第二個條件。 'String'應該用'equals()'方法檢查是否相等。 – asgs