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

Парсинг на jsoup - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android RecyclerView использование ItemDecoration http://www.cyberforum.ru/android-dev/thread1505126.html
Здравствуйте! Никак не пойму, как использовать ItemDecoration не для всех элементов, а только между типами "категория" и "пункт" (то есть после очередного блока пунктов и началом заголовка нового блока)?
Android Как правильно импортировать проект? Я нашел проект похожие на мою. По этой ссылке http://programmerguru.com/android-tutorial/android-multicast-push-notifications-using-gcm/. В этом ссылке пошагово все объясняет. Я делаю точно так же(Импортировал разные IDE - не мог запускать, пошагово вставил классы, добавлял библиотеки - запускается, но при открытие выходит(.......... has stoped)). Что мне делать? Как правильно запускать этот... http://www.cyberforum.ru/android-dev/thread1505063.html
Android Серверная часть приложения
Доброго времени суток. У меня такой вопрос: где можно почитать про серверную часть приложения? Понимаю, что должен быть некий сервер, который будет принимать данный от клиента, отправлять данные клиенту и т.д. Но как сделать сервер, связать его с приложение, совершать какие-либо действия я не знаю.
Для чего нужны миниатюры изображения? Android
Я знаю что для любого изображения есть размер его миниатюры(thumbnails изображение) как вы думаете для чего может понадобиться уменьшение реального размера изображения до размеров thumbnails на андроид??
Android LayoutInflater и android:textIsSelectable="true" http://www.cyberforum.ru/android-dev/thread1504727.html
Довольно странная ситуация получается, видать мне везет на нестандартные баги андроида :) Есть фрагмент чата, в него с ресивера летят данные, он их обрабатывает и все как бы ничего, но была проблема, при повороте экрана чат терялся (чат делался конечно через LayoutInflater) эта проблемы была решена дублированием сообщений чата в TreeMap, при перевороте сохранение их в savedInstanceState, а при...
Android Реклама Admob, используя Unity3d (Ubuntu) Доброго времени суток! Кто-то ставил рекламу Admob используя Unity3d на убунту? подробнее

Показать сообщение отдельно
tortmann1
0 / 0 / 0
Регистрация: 26.07.2015
Сообщений: 1

Парсинг на jsoup - Android

26.07.2015, 13:37. Просмотров 709. Ответов 1
Метки (Все метки)

Добрый всем день!
Заминка такая, уже весь гугл перелопатил, синих ссылок в браузере не осталось.
Есть пример парсинга сайта:
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
public class MainActivity extends Activity {
 
        // благодоря этому классу мы будет разбирать данные на куски
        public Elements title;
        // то в чем будем хранить данные пока не передадим адаптеру
        public ArrayList<String> titleList = new ArrayList<String>();
        // Listview Adapter для вывода данных
        private ArrayAdapter<String> adapter;
        // List view
        private ListView lv;
 
        @Override
        protected void onCreate(Bundle savedInstanceState) {
 
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                // определение данных
                lv = (ListView) findViewById(R.id.listView1);
                // запрос к нашему отдельному поток на выборку данных
                new NewThread().execute();
                // Добавляем данные для ListView
                adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.product_name, titleList);
        }
 
        /** А вот и внутрений класс который делает запросы, если вы не читали статьи у меня в блоге про отдельные
         * потоки советую почитать */
        public class NewThread extends AsyncTask<String, Void, String> {
 
                // Метод выполняющий запрос в фоне, в версиях выше 4 андроида, запросы в главном потоке выполнять
                // нельзя, поэтому все что вам нужно выполнять - выносите в отдельный тред
                @Override
                protected String doInBackground(String... arg) {
 
                        // класс который захватывает страницу
                        Document doc;
                        try {
                                // определяем откуда будем воровать данные
                                doc = Jsoup.connect("http://freehabr.ru/").get();
                                // задаем с какого места, я выбрал заголовке статей
                                title = doc.select(".title");
                                // чистим наш аррей лист для того что бы заполнить
                                titleList.clear();
                                // и в цикле захватываем все данные какие есть на странице
                                for (Element titles : title) {
                                        // записываем в аррей лист
                                        titleList.add(titles.text());
                                }
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                        // ничего не возвращаем потому что я так захотел)
                        return null;
                }
 
                @Override
                protected void onPostExecute(String result) {
 
                        // после запроса обновляем листвью
                        lv.setAdapter(adapter);
                }
        }
}
Но вот беда, код рабочий, но почему в listview заполняется только первая строка?
Мне надо с сайта http://www.red--sky.ru/ спарсить новости.
Выглядит так:
Java
1
2
3
4
5
6
7
8
9
 doc = Jsoup.connect("http://www.red--sky.ru/").get();
                                // задаем с какого места, я выбрал заголовке статей
                                title = doc.select("#main_wrapper > div.container.boxed.blog.normal-page.container-wrap > div > div.col-lg-8 > div:nth-child(1) > div.blog-twrapper > div.blog-content");
                                // чистим наш аррей лист для того что бы заполнить
                                titleList.clear();
                                // и в цикле захватываем все данные какие есть на странице
                                for (Element titles : title) {
                                        // записываем в аррей лист
                                        titleList.add(titles.text());
В результате листвью заполняется одной строкой с первой новостью, почему остальное не парсится?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru