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

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

Восстановить пароль Регистрация
 
Дмитирй
4 / 4 / 0
Регистрация: 25.11.2011
Сообщений: 39
06.02.2015, 16:17     Не получается прочитать html код страницы #1
Не понимаю почему не работает данный код. Перепробовал уже множество вариантов, не читает 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";
        }
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,064
06.02.2015, 16:29     Не получается прочитать html код страницы #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);
Дмитирй
4 / 4 / 0
Регистрация: 25.11.2011
Сообщений: 39
06.02.2015, 16:40  [ТС]     Не получается прочитать html код страницы #3
Выкидывает 2 исключения в 3 и 5 строках
error: unreported exception IOException; must be caught or declared to be thrown
Gabberr
 Аватар для Gabberr
101 / 101 / 17
Регистрация: 13.10.2009
Сообщений: 402
06.02.2015, 16:54     Не получается прочитать html код страницы #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Оберни в try-catch
Java
1
2
3
4
5
6
 try {
       //source
}
catch(Exception e) {
      e.printStackTrace();
}
Дмитирй
4 / 4 / 0
Регистрация: 25.11.2011
Сообщений: 39
06.02.2015, 17:13  [ТС]     Не получается прочитать html код страницы #5
Да я пробовал, в этом случае он заходит в блок catch и все, а страницу не читает.
В манифесте разрешение на работу с сетью прописал

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

Необходимо прочитать штрих-код Android
Получить HTML код страницы Android
Нужно прочитать html файл Android
Переписать код для работы с html, C# => Java Android
Android Доступ из HTML кода страницы, загруженной в WebView, к данным приложения

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

Или воспользуйтесь поиском по форуму:
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,064
06.02.2015, 18:21     Не получается прочитать html код страницы #8
Новый поток это и есть асинктаск он же функция. Возврат из асинктаска тоже возможен, но это уже отдельная тема, я тоже спрашивал про это. Сначала давайте страницу получим, тут тоже много вариантов получения, например jsoup.
Yandex
Объявления
06.02.2015, 18:21     Не получается прочитать html код страницы
Ответ Создать тему
Опции темы

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