Форум программистов, компьютерный форум CyberForum.ru

Не читаются данные по URL - Android

Восстановить пароль Регистрация
 
lord_commander
0 / 0 / 0
Регистрация: 20.05.2014
Сообщений: 133
10.02.2016, 19:33     Не читаются данные по URL #1
Делаю Android-приложение, которое будет получать json-строку, парсить её и выводить данные из неё. Сама строка создается в WCF-службе.

Я запускаю службу в VS, перехожу по ссылке с http://localhost:25734/Test.svc/json/GetDataTable - файл скачивается, все нормально. Открываю ссылку в браузере - все нормально, отображается вся строка.

Но, если я запускаю службу, и указываю в андроиде в качестве url - адрес на этот файл, размещенный на localhost с помощью Visual Studio, возникает ошибка:
Java
1
java.io.FileNotFoundException: [url]http://10.0.2.2:25734/Test.svc/json/GetDataTable[/url]
localhost заменен на IP-адрес хостовой машины: 10.0.2.2
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2016, 19:33     Не читаются данные по URL
Посмотрите здесь:

Сохранение картинки из интернета по url Android
Android Парсинг XML документа по URL
Android Url базы данных MySQL в Denwer
Парсинг XML по URL Android
Cоздать url-строку в браузере Android
CallBack url в твиттер Android
Просто открыть нужный URL Android
Как извлечь данные из сервера Parse, чтобы эти данные были видны всем? Android
Работа в фоне. Отобразить картинку по url Android
Загрузка файла по URL Android
Читаются ли контакты с Viber Android
Android Чем можно скачать картинку по URL?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
10.02.2016, 23:46     Не читаются данные по URL #2
lord_commander, а где код?
lord_commander
0 / 0 / 0
Регистрация: 20.05.2014
Сообщений: 133
11.02.2016, 04:31  [ТС]     Не читаются данные по URL #3
Вот так я получаю строку и работаю с ней.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
private class ParseTask1 extends AsyncTask<Void, Void, String> {
 
        HttpURLConnection urlConnection = null;
        BufferedReader reader = null;
        String resultJson = "";
 
        @Override
        protected String doInBackground(Void... params) {
            // получаем данные с внешнего ресурса
            try {
                URL url = new URL("http://10.0.2.2:25734/Test.svc/json/GetDataTable");
                //URL url = new URL("http://fb7923x4.bget.ru/json/GetDataTable.json"); // это адрес хостинга, на который заливался файл, и отсюда он нормально читался
 
                urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestMethod("GET");
                urlConnection.connect();
 
                InputStream inputStream = urlConnection.getInputStream();
                StringBuffer buffer = new StringBuffer();
 
                reader = new BufferedReader(new InputStreamReader(inputStream));
 
                String line;
                while ((line = reader.readLine()) != null) {
                    buffer.append(line);
                }
 
                resultJson = buffer.toString();
 
            } catch (Exception e) {
                e.printStackTrace();
            }
            return resultJson;
        }
 
        protected void onPostExecute(String resultJson){
            super.onPostExecute(resultJson);
            JSONObject json=null;
            try {
                json = new JSONObject(resultJson);
                String module = json.getString("firstName");
                EditText edt=(EditText)findViewById(R.id.editText);
                edt.setText(module);
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
11.02.2016, 11:23     Не читаются данные по URL #4
lord_commander,
Java
1
2
json = new JSONObject(resultJson);
String module = json.getString("firstName");
это тоже можно перенести в doInBackground.
Проверьте, что в resultJson и json что-то есть.

Добавлено через 2 минуты
Также проверьте, что есть разрешения на Интернет в манифесте. Читните также http://stackoverflow.com/questions/1...foundexception.

Добавлено через 4 минуты
Java
1
2
while ((line = reader.readLine()) != null) {
    buffer.append(line);
Этот способ подходит только для строк небольшого размера и с небольшим общим размером. Т.е. сами строки в среднем не больше мегабайт 10 и всего в потоке не больше мегабайт 10. Иногда встречаются случаи, когда отдаётся одна огромная строка, которая валит программу.
В общем, учат неделу. Правильным способом было бы чтение из буфера кусками и распознавание через SAX. Но для небольших данных способ подходит.
lord_commander
0 / 0 / 0
Регистрация: 20.05.2014
Сообщений: 133
11.02.2016, 11:39  [ТС]     Не читаются данные по URL #5
resultJson - пустая, так как ошибка появляется до записи строки в эту переменную.
Манифесты добавлены еще до этого были.

Программа падает на inputString
Миниатюры
Не читаются данные по URL  
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
11.02.2016, 11:54     Не читаются данные по URL #6
lord_commander, вы ссылку смотрели? Если нет, то добавлю ещё одну: http://stackoverflow.com/questions/5...tpurlconnectio.
Yandex
Объявления
11.02.2016, 11:54     Не читаются данные по URL
Ответ Создать тему
Опции темы

Текущее время: 03:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru