我错过了什么吗?我正在尝试创建一个loginActivity,并且创建了此代码,并且我有一个日志记录了我创建的齐射的答案...但是if语句未得到输入...可以有人看到我做错了吗?抱歉,如果它确实是转储的(是的,我试图将response.equals检查更改为response.equals(“ Password Accepted!”);,这也不起作用) 另一件事要注意,是的,我知道我在日志中的搜索与标签不同,它没有登录(这是我想要的)
Toast.makeText(getApplication(), response, Toast.LENGTH_LONG).show();
Log.e("Before Conversion",response);
String convertedResponse = null;
try {
convertedResponse = new String(response.getBytes("ISO-8859-1"), "UTF-8");
L.e("After Conversion",convertedResponse);
if (convertedResponse.equals("Password Accepted!")) {
showProgress(false);
Message msg = new Message();
msg.what = 1;
msg.obj = succcess ? 1 : 0;
handler.sendMessage(msg);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
06-29 15:24:04.990 16707-16707/E/Before Conversion: Password Accepted!
06-29 15:24:04.990 16707-16707 / E /转换后:接受密码! 在建议更改日志记录之后... 06-29 15:34:32.339 16707-16707 / E / Got响应::密码已接受!
更新 创建仅包含响应字符串和密钥的长度为1的JSON数组,并将其传递给我的android studio代码后,json数组将不会通过用于解析它的函数(JSON对象,JSON数组)进行解析,而是手动进行解析响应字符串有效.....不太优美,然后我想要它,但我想它有效....
答案 0 :(得分:0)
当响应的编码不是UTF-8时,可能会发生这种情况。尝试像这样转换响应:
String convertedResponse = null;
try {
convertedResponse = new String(response.getBytes("ISO-8859-1"), "UTF-8");
// do your things ...
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
答案 1 :(得分:0)
您的响应位于JSONObject中,而不是JSONArray中,因此在Response Listnere上使用:
if(response.getString("response").equals("PASSWORD ACCEPTED!"){
//do what you want to do
}