IO исключение чтения JSON с inputStream

Я сделал приложение php по следующему адресу: http://localhost/index.php/registration/returnItemJson чтобы вернуть этот действительный JSON:

{"name":"test","price":30,"description":"is this working"}

В моем приложении Android Studio я пытаюсь прочитать это с этим:

URL url = new URL(strings[0]);

connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoInput(true);
connection.setDoOutput(true);
connection.connect();

int response = connection.getResponseCode();
Log.d("TAG", "Response code "+response);
StringBuilder result = new StringBuilder();

reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));

String line;
while(null != (line = reader.readLine())){
result.append(line).append("\n");
}

Но я получаю исключение ввода-вывода через connection.GetInputStream ().
Это работает нормально, когда я делаю это с другим URL-адресом, который возвращает json, но не с localhost.

0

Решение

использование 10.0.2.2 вместо этого, чтобы получить доступ к вашему локальному хосту. Прочитайте больше Вот

0

Другие решения

Спасибо Kidus за решение, мне просто пришлось заменить localhost на 10.0.2.2, потому что я использую эмулятор.

0

Я сделал приложение php по следующему адресу: http://localhost/index.php/registration/returnItemJson чтобы вернуть этот действительный JSON:

{"name":"test","price":30,"description":"is this working"}

В моем приложении Android Studio я пытаюсь прочитать это с этим:

URL url = new URL(strings[0]);

connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoInput(true);
connection.setDoOutput(true);
connection.connect();

int response = connection.getResponseCode();
Log.d("TAG", "Response code "+response);
StringBuilder result = new StringBuilder();

reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));

String line;
while(null != (line = reader.readLine())){
result.append(line).append("\n");
}

Но я получаю исключение ввода-вывода через connection.GetInputStream ().
Это работает нормально, когда я делаю это с другим URL-адресом, который возвращает json, но не с localhost.

0

использование 10.0.2.2 вместо этого, чтобы получить доступ к вашему локальному хосту. Прочитайте больше Вот

Спасибо Kidus за решение, мне просто пришлось заменить localhost на 10.0.2.2, потому что я использую эмулятор.

active «data-shortcut =» A
самый старый «data-shortcut =» O
голосует «data-shortcut =» V
0
По вопросам рекламы [email protected]