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

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

30.03.2019, 15:04. Показов 1388. Ответов 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru