Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Дмитирй
4 / 4 / 0
Регистрация: 25.11.2011
Сообщений: 39
#1

Не получается прочитать html код страницы - Программирование Android

06.02.2015, 16:17. Просмотров 617. Ответов 7
Метки нет (Все метки)

Не понимаю почему не работает данный код. Перепробовал уже множество вариантов, не читает html код страницы. Объясните пожалуйста, как заставить его работать. Или есть какой-то другой способ это сделать?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public String getHtmlCode(String pageAddress) {
        try {
            URL url = new URL("http://www.cyberforum.ru/");
            URLConnection conn = url.openConnection();
            InputStreamReader rd = new InputStreamReader(conn.getInputStream());
            StringBuilder allpage = new StringBuilder();
            int n = 0;
            char[] buffer = new char[40000];
            while (n >= 0) {
                n = rd.read(buffer, 0, buffer.length);
                if (n > 0) {
                    allpage.append(buffer, 0, n);
                }
            }
            rd.close();
            return allpage.toString();
        }
        catch(Exception e) {
            return "0";
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2015, 16:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не получается прочитать html код страницы (Программирование Android):

Получить HTML код страницы - Программирование Android
Здравствуйте, подскажите. Реально ли стать промежуточным звеном в отображении контента в webView. Т.е при переходе по URL получить код...

Получить код HTML страницы - Программирование Android
Уважаемые гуру, подскажите чем быстрей и проще получить код HTML страницы. Обычной общедоступной, без авторизации.

Нужно прочитать html файл - Программирование Android
Мне необходимо скачать html - файл и прочитать.Не можете скинуть уроки,а лучши примеры,как это делать. Заранее спасибо.

Необходимо прочитать штрих-код - Программирование Android
Можете подсказать какой - нибудь пример с чтением PDF417 штрих - кода. Заранее благодарен.

Парсинг HTML страницы - Программирование Android
Здравствуйте. Передо мной стоит задача выдрать данные из страницы, (время начала занятия, название предмета, аудиторию, имя преподавателя),...

Парсинг html страницы андроид - Программирование Android
Здравствуйте. Я новичок в программировании, так что не прошу судить строго. Вот завис на одном момента. Пишу приложение, в котором...

7
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
06.02.2015, 16:29 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Попробуйте так:
Java
1
2
3
4
5
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet get = new HttpGet(url);
HttpResponse httpResponse = httpClient.execute(get);
HttpEntity httpEntity = httpResponse.getEntity();
responseStr = EntityUtils.toString(httpEntity);
1
Дмитирй
4 / 4 / 0
Регистрация: 25.11.2011
Сообщений: 39
06.02.2015, 16:40  [ТС] #3
Выкидывает 2 исключения в 3 и 5 строках
error: unreported exception IOException; must be caught or declared to be thrown
0
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 403
06.02.2015, 16:54 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Оберни в try-catch
Java
1
2
3
4
5
6
 try {
       //source
}
catch(Exception e) {
      e.printStackTrace();
}
1
Дмитирй
4 / 4 / 0
Регистрация: 25.11.2011
Сообщений: 39
06.02.2015, 17:13  [ТС] #5
Да я пробовал, в этом случае он заходит в блок catch и все, а страницу не читает.
В манифесте разрешение на работу с сетью прописал

Добавлено через 6 минут
Прочитал в книге что нужно AsyncTask использовать. Копать в его сторону?
0
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 403
06.02.2015, 17:36 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Запросы к сети естественно нужно выполнять не в ui потоке
Не обязательно asynctask, можно и просто новый тред создать
Java
1
2
3
4
5
6
   new Thread(new Runnable() {
            @Override
            public void run() {
                 //source
            }
        }).start();
1
Дмитирй
4 / 4 / 0
Регистрация: 25.11.2011
Сообщений: 39
06.02.2015, 18:08  [ТС] #7
Gabberr,
Спасибо, теперь в общем то понял.
А не подскажете как должно все это в итоге все выглядеть? Новый поток внутри функции создавать нужно? И как из потока переменную возвратить обратно в функцию, а так же например из функции в поток?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
06.02.2015, 18:21 #8
Новый поток это и есть асинктаск он же функция. Возврат из асинктаска тоже возможен, но это уже отдельная тема, я тоже спрашивал про это. Сначала давайте страницу получим, тут тоже много вариантов получения, например jsoup.
1
06.02.2015, 18:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2015, 18:21
Привет! Вот еще темы с ответами:

Парсинг элемента HTML страницы! - Программирование Android
Нужно спарсить погоду с главной страницы mail.ru Если смотреть исходный код страницы,то видно где спрятано значение погоды: <span...

Получение html кода страницы - Программирование Android
Помогите разобраться с получением html кода интернет страницы в приложении android, для последующего извлечения из неё информации.

Изменение ссылок на файлы при загрузке HTML страницы - Программирование Android
Добрый день, может кто имел опыт подмены ссылок при загрузке страницы в WebView, если перефразировать то нужно при загрузке страницы, в...

Доступ из HTML кода страницы, загруженной в WebView, к данным приложения - Программирование Android
Возможно ли это? В частности, мне нужно передать джаваскрипту страницы версию установленного приложения.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.