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

Jsoup: парсинг странички и заполнение контентом Activity - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Не получается получить путь к карте памяти http://www.cyberforum.ru/android-dev/thread1613996.html
Всем привет. У меня вот такой вопрос: storage/sdcard0 это путь к памяти телефона storage/sdcard1 это собственно карта памяти. Функция getExternalStorageDirectory() возвращает storage/sdcard0....
Программирование Android Текст в одну строку здравствуйте. есть ооооочень длинный текст и нужно, что-бы об шел в одну строку безконечно долго, пока не закончится, и крутился в нужном направлении. вот xml <RelativeLayout ... http://www.cyberforum.ru/android-dev/thread1613959.html
Программирование Android Подскажите по расположению элементов (Layouts)
Подскажите, как расположить элементы, так, чтобы "Кнопка 1" была вверху экарана, а "Кнопки 7, 8" внизу, а Кнопки 2-6 остались по середине экрана? Свойства Top и Bottom установлены <GridLayout...
Программирование Android Как сделать такой элемент?
Добрый вечер! Нужно сделать локальный переключатель картинок - как такое сделать? Что нужно смотреть\искать\использовать? На слое есть большая картинка. На этой большой картинке должны...
Программирование Android Как вызвать из программы системное окно "Точка доступа WLAN"? http://www.cyberforum.ru/android-dev/thread1613323.html
Подскажите пожалуйста как вызвать из программы системное окно "Точка доступа WLAN"? Есть программа "Switch Network", которая вызывает окно "Настройка мобильных сетей", но исходников на нее не нашел.
Программирование Android Создание циферблата (watch face) для Android Wear Здравствуйте! Я абсолютный новичок в разработке под андройд и в программировании вообще. Только-только начал знакомиться с Android Studio и Java. Пока очень туго. Вопросы, наверняка нубские,... подробнее

Показать сообщение отдельно
Богдан Коломиец
1 / 1 / 0
Регистрация: 10.11.2015
Сообщений: 7

Jsoup: парсинг странички и заполнение контентом Activity - Программирование Android

15.12.2015, 16:30. Просмотров 515. Ответов 3
Метки (Все метки)

Здравствуйте. В общем столкнулся с такой проблемой. Нужно отпарсить страничку через JSOUP. на страничке может быть простой текст, картинки, заголовки и т.д. нужно вывести это все добро на Activity. Но вот с реализацией проблеммы. Не могу додуматься как это сделать... сначала я написал этот код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
                 articleContent = HTMLPage.select("article.b-typo p");
                if (articleContent != null)
                    for (Element element : articleContent) {
                        contentElements.add(new NewsArticlePageElements("CONTENT", element.text().replace("&nbsp;", " ")));
                    }
                eArticleContentImage = HTMLPage.select("article.b-typo p img");
                if (eArticleContentImage != null)
                    for (Element element : eArticleContentImage) {
                        String articleContentImageURL = element.attr("src");
                        contentElements.add(new NewsArticlePageElements("IMAGE", articleContentImageURL));
                    }
                articleHeading = HTMLPage.select("article.b-typo h2");
                if (articleHeading != null)
                    for (Element element : articleHeading) {
                        contentElements.add(new NewsArticlePageElements("CONTENT_HEADING", element.text().replace("&nbsp;", " ")));
                    }
                articleCode = HTMLPage.select("article.b-typo pre");
                if (articleCode != null)
                    for (Element element : articleCode) {
                        contentElements.add(new NewsArticlePageElements("CONTENT_CODE", element.text()));
                    }
но это неправильно так как в этом случае я сначала добавлю текст, затем картинки и так далее.. Затем я переписал метод и вышло не лучше.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
articleContent = HTMLPage.select("article.b-typo");
                for (Element element : articleContent) {
                    Element articleContentText = element.select("p").first();
                    Element eArticleContentImage = element.select("p img").first();
                    Element articleHeading = element.select("h2").first();
                    Element articleCode = element.select("pre").first();
 
                    if (articleContentText != null) {
                        contentElements.add(new NewsArticlePageElements("CONTENT", element.text().replace("&nbsp;", " ")));
                    } else if (eArticleContentImage != null) {
                        String articleContentImageURL = eArticleContentImage.attr("src");
                        contentElements.add(new NewsArticlePageElements("IMAGE", articleContentImageURL));
                    } else if (articleHeading != null) {
                        contentElements.add(new NewsArticlePageElements("CONTENT_HEADING", element.text().replace("&nbsp;", " ")));
                    } else if (articleCode != null) {
                        contentElements.add(new NewsArticlePageElements("CONTENT_CODE", element.text()));
                    }
                }
Но в этом уже случае я просто выбираю первый элемент с тэгом <p>. А это тоже неправильно.

А идея что бы добавлять элементы по мере прохождения странички в список, и затем их вытягивать оттуда в такой же последовательности.. Вот пример:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
LayoutInflater inflater = getLayoutInflater();
for (NewsArticlePageElements element : contentElements) {
                if (element.getElementType() == "CONTENT") {
                    textArticleContent = (TextView) inflater.inflate(R.layout.text_article_content, null);
                    textArticleContent.setText(element.getElementContent());
                    layoutContentContainer.addView(textArticleContent);
                } else if (element.getElementType() == "IMAGE") {
                    imageContentArticle = (ImageView) inflater.inflate(R.layout.image_article_content, null);
                    Picasso.with(getApplicationContext())
                            .load(element.getElementContent())
                            .into(imageContentArticle);
                    layoutContentContainer.addView(imageContentArticle);
                } else if (element.getElementType() == "CONTENT_HEADING") {
                    textArticleContent = (TextView) inflater.inflate(R.layout.text_heading_article_content, null);
                    textArticleContent.setText(element.getElementContent());
                    layoutContentContainer.addView(textArticleContent);
                }
 
            }
Подбросьте пожалуйста идей, как можно реализовать вытягивание элементов со странички и добавление их в список в порядке прохождения странички.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru