java.lang.ArrayIndexOutOfBoundsException даже после кодирования строки в приложении для Android - PullRequest
0 голосов
/ 08 октября 2011

в моем приложении я пытаюсь отправить электронное письмо и пароль на URL, а взамен я использую либо сообщение об успехе, либо сообщение об ошибке. Когда я нажал на API, возвращаемые данные выглядели следующим образом

10-07 18:09:41.209: ERROR Data ?Error: Email and password do not match. Please try again!
10-07 18:10:47.698: ERROR Error(6363): java.lang.ArrayIndexOutOfBoundsException

проблема из-за ? перед словом Ошибка

Итак, я подумал о кодировании данных возврата в моем коде следующим образом

HttpResponse rsp = client.execute(get);
tmpstr = URLEncoder.encode(EntityUtils.toString(rsp.getEntity()),"utf-8"); 
Log.e("Data ",""+tmpstr);

я попробовал выше и ниже метод

HttpResponse rsp = client.execute(get);
tmpstr = URLEncoder.encode(EntityUtils.toString(rsp.getEntity()),"utf-8"); 
Log.e("Data ",""+tmpstr);
String data = URLEncoder.encode(tmpstr,"UTF-8");
Log.e("returned dataaaaaaaaaaaaaaaaaaaaaaaaaa ",""+data);

В обоих кодах я получаю ту же ошибку, как показано ниже

10-07 21:01:47.698: ERROR(6363): Data %EF%BB%BFError%3A+Email+and+password+do+not+match.+Please+try+again%21
10-07 21:01:47.698: ERROR(6363): java.lang.ArrayIndexOutOfBoundsException

как решить эту проблему

Ответы [ 2 ]

0 голосов
/ 16 декабря 2011

Ответ на этот вопрос дает Максим в части комментариев. я упомянул это здесь, чтобы закрыть этот вопрос ....

0 голосов
/ 14 октября 2011

Вы уверены, что должны использовать URLEncoder для кодирования таких сообщений об ошибках? Я предполагаю, что URLEncoder ожидает некоторую строку, отформатированную как URL, а передаваемая вами строка не выглядит как URL.

...