凌空的Android Studio Weird错误和凌空的回应

时间:2018-06-29 19:04:45

标签: android android-studio

我错过了什么吗?我正在尝试创建一个loginActivity,并且创建了此代码,并且我有一个日志记录了我创建的齐射的答案...但是if语句未得到输入...可以有人看到我做错了吗?抱歉,如果它确实是转储的(是的,我试图将response.equals检查更改为response.equals(“ Password Accepted!”);,这也不起作用) 另一件事要注意,是的,我知道我在日志中的搜索与标签不同,它没有登录(这是我想要的) enter image description here

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数组)进行解析,而是手动进行解析响应字符串有效.....不太优美,然后我想要它,但我想它有效.... enter image description here

2 个答案:

答案 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
}