С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 69

Парсинг новостей

30.03.2019, 15:04. Показов 1396. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, делаю приложение для конференции, хочу реализовать в ней новости и программу событий на конференции. Сайта откуда парсить данные нет. Писать сайт с нуля и парсить в приложение желание что то нет. Может есть какие то варианты парсинга с базы данных? Чтобы было удобно администрировать и т.д.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.03.2019, 15:04
Ответы с готовыми решениями:

Парсинг сайта новостей
Здравствуйте, уважаемые! В приложении Android пытаюсь вывести новости с сайта новостей в ListView Новости выводятся, но без активных...

Оптимизация списка новостей
Написал я небольшое приложение которое выводит новости с одного сайта. Все бы ничего, но получилось много катртинок. Очень много. Примерно...

Хранение и кэширование новостей
Доброе утро, сабж: В какой контейнер следует подгружать новости ( обычного string не хватит ) и кэшировать ли их в preferences или есть...

16
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
30.03.2019, 15:10
В Firebase есть необходимые сервисы.
0
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 69
30.03.2019, 16:07  [ТС]
А чуть более конкретно, если вы про db там их 2 версии. В реальном времени конечно здорово, но сетевой трафик будет кушать наверно.
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
30.03.2019, 17:29
Не понятно, что хотите вы реализовать...
Цитата Сообщение от Sokol666 Посмотреть сообщение
хочу реализовать в ней новости и программу событий на конференции
расшифруйте вашу хотелку
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
30.03.2019, 18:13
В документации достаточно "конкретной" информации по 2м вариантам.
0
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 69
30.03.2019, 19:47  [ТС]
Хочу чтобы пользователи которые будут присутствовать на конференции могли прочитать какую то информацию о конференции, ход самой конференции(события по времени на несколько дней).

Добавлено через 3 минуты
Взглянул, вижу это так. Будет родительский каталог. А у него дети(заголовки новостей, ссылки на картинки(если будут), и ещё 1 детский каталог на основную статью). Имеет место быть такая реализация?
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
01.04.2019, 11:12
больше вопросов, тупых и бесполезных
главное не начинать ничего делать
0
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 69
01.04.2019, 20:28  [ТС]
В общем, сделал подгрузку заголовка новости и картинки новости. Теперь делаю обработчик нажатий на textview чтобы осуществлялся переход к другому активити и подгрузка основной новости. В новостях нет уникального идентификатора. Можно ли подгружать по News1, News2... или придётся для каждой новости свой id задавать?
0
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 69
01.04.2019, 20:30  [ТС]
Вот структура бд
Миниатюры
Парсинг новостей  
0
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 69
01.04.2019, 23:36  [ТС]
В общем решил не думать, а просто id передаю в след активити и там уже вызываю основную новость. Но вопрос остался, можно ли по News1, News2, News(n) грузить данные?

Добавлено через 2 часа 25 минут
В общем написал обработчик нажатий, написал NewsActivity. Из Адаптера беру идентификатор новости. Но получаю ошибку.
Вот код Активности.
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
public class NewsActivity extends AppCompatActivity {
    String idnews;
    TextView main_news;
    DatabaseReference reference;
    TextView news_date;
    RecyclerView recyclerView;
    Intent intent;
    ArrayList<News> Nlist;
    NewsAdapter adapter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_news);
 
        recyclerView = findViewById(R.id.recycler_view);
        recyclerView.setHasFixedSize(true);
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getApplicationContext());
        linearLayoutManager.setStackFromEnd(true);
        recyclerView.setLayoutManager(linearLayoutManager);
 
        intent = getIntent();
        idnews = intent.getStringExtra("idnews");
 
        reference = FirebaseDatabase.getInstance().getReference("News").child(idnews);
        reference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
 
               // for (DataSnapshot snapshot : dataSnapshot.getChildren()){
                    News news = dataSnapshot.getValue(News.class);
                  //  news_date.setText(news.getDatenews());
                    main_news.setText(news.getNews_main()); // Указывает на ошибку тут
                    Nlist.add(news);
               // }
                adapter = new NewsAdapter(getApplicationContext(), Nlist);
                recyclerView.setAdapter(adapter);
 
            }
 
            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                Toast.makeText(NewsActivity.this, "Что то не так", Toast.LENGTH_SHORT).show();
            }
        });
    }
}
Вот код Адаптера.

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
public class NewsAdapter extends RecyclerView.Adapter<NewsAdapter.MyViewHolder> {
 
    Context Mcontext;
    ArrayList<News> Mnews;
 
 
    public NewsAdapter(Context Mcontext, ArrayList<News> Mnews)
    {
        this.Mnews = Mnews;
        this.Mcontext = Mcontext;
    }
 
    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        return new MyViewHolder(LayoutInflater.from(Mcontext).inflate(R.layout.news_view, viewGroup, false));
    }
 
    @Override
    public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) {
        final News news = Mnews.get(i);
 
        myViewHolder.news_date.setText(Mnews.get(i).getDatenews());
        myViewHolder.news_header.setText(Mnews.get(i).getHeader_news());
        Picasso.get().load(Mnews.get(i).getImageURL()).into(myViewHolder.news_picture);
 
        myViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Mcontext, NewsActivity.class);
                intent.putExtra("idnews", news.getIdnews());
                Mcontext.startActivity(intent);
            }
        });
 
    }
 
    @Override
    public int getItemCount() {
        return Mnews.size();
    }
 
    class MyViewHolder extends RecyclerView.ViewHolder {
 
        TextView news_date, news_header;
        ImageView news_picture;
 
        public MyViewHolder(@NonNull View itemView) {
            super(itemView);
 
            news_date = (TextView) itemView.findViewById(R.id.news_date);
            news_header = (TextView) itemView.findViewById(R.id.news_header);
            news_picture = (ImageView) itemView.findViewById(R.id.news_picture);
        }
    }
 
}
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
01.04.2019, 23:49
Ошибка какая? Лог показывай.
0
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 69
02.04.2019, 18:17  [ТС]
Логи:

Подозреваю что есть некоторые ошибки в структуре бд.
Миниатюры
Парсинг новостей  
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
02.04.2019, 18:20
у шапке активити перечислены TextView но нигде нет их инициализации
0
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 69
02.04.2019, 18:51  [ТС]
Теперь вот такая ошибка, решил проверить передаёт ли id новости из адаптера, не передаёт.
Миниатюры
Парсинг новостей  
0
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 69
02.04.2019, 19:22  [ТС]
Нет, видимо просто не заметил. id новости получаю. Но она не обрабатывается.
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
02.04.2019, 19:33
читать сообщение об ошибке не пробовал?
там написано что кто-то пытается вызвать метод add() на null-ссылке

лист объявлен, но не инициализирован

вообще, код ужасный, названия переменных и методов в джаве пишут camelCase-ом и без подчеркиваний
0
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 69
02.04.2019, 20:03  [ТС]
Ошибка оказалась очень банальной.... Забыл раскомментировать массмв Nlist....

Добавлено через 3 минуты
Не обновил страницу, поэтому не успел прочитать ваше сообщение. Меня писать код на яву никто не учил. Учусь по мере необходимости.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.04.2019, 20:03
Помогаю со студенческими работами здесь

Контейнер для новостей
Новости подгружаются с помощью http с сервера, в какие контейнеры их стоит класть ? Среда разработки - Android studio

Как реализовать дизайн ленты новостей?
У меня есть вот такое вот активити Хотелось бы сделать примерно вот так ...

Приложение для Android [Постер новостей]
Ребят, если есть возможность помочь с приложением(Минимальная социальная сеть для мобилы где будет только пост новостей) очень прошу...

Приложение - парсер новостей с вконтакта ,быстрое создание
Здравствуйте!Нужно в предельно короткие сроки заделать приложение-парсер новостей из вконтакта. Такое есть у паблика МДК. Может есть какие...

Диплом: тема Андроид приложение, лента новостей
Тема создать приложения Лента новостей, вот хотелось бы узнать, как вы бы реализовали эту идею, данные откуда берет например итд. Основную...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru