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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
halk0812
67 / 54 / 16
Регистрация: 05.09.2013
Сообщений: 656
Завершенные тесты: 1
#1

Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView - Программирование Android

21.09.2016, 10:53. Просмотров 218. Ответов 5

Доброго времени суток.
Суть проблемы в следующем: есть база с некоторым набором данных, есть фрагмент, куда внедрен RecyclerView для их отображения. Подтянуть данные из таблицы при загрузке - никаких проблем. Но как правильнее сделать обновление (вероятнее всего RecyclerView) при добавлении и удалении данных?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2016, 10:53     Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView
Посмотрите здесь:

FireBase + RecyclerView| как обновить список, после удаления item из базы? - Программирование Android
Добрый всем день! есть метод который удаляет айтем (значения items берутся из FireBase): public void DelPos(View v){ ...

Advanced RecyclerView и Expandable RecyclerView - Программирование Android
Сделал expandable recycler view на основе advancedRecyclerView сборочки, но не важно это думаю, наследуется от обычного RecyclerView. ...

Повторное создание фрагмента внутри фрагмента ViewPager - Программирование Android
Доброго времени суток! Использую внутри фрагмента элемент ViewPager, который сам внутри содержит еще два фрагмента-вкладки. При первом...

Использование фрагмента в качестве временного хранилища данных - Программирование Android
Коллеги,здравствуйте. Есть необходимость в создании временного хранилища для объектов(На время жизни приложения). Меня интересует,...

Взаимодействие баз данных на сервере и мобильном устройстве - Программирование Android
Здравствуйте, необходимо найти информацию по теме что в шапке написана. Вообще все что можно о технологиях доступа к удаленным данным ещё...

SQLlite: хранение изображений - Программирование Android
Доброго времени суток. Объясните пожалуйста или скиньте ссылку на статью как лучше всего хранить изображения если работаешь с с БД. Как то...

SQLlite взять случайную строку - Программирование Android
Как в SQLlite базе взять случайную строку? Пример SELECT * FROM table ORDER BY RANDOM() LIMIT 1 работает, но пишут, что это только...

Элемент списка listView и БД SQLlite - Программирование Android
по сути задача сводиться к тому что нужно реализовать следующее : создаём элементы в списке по кнопке адд(в Edit_activity) и по кнопке сейв...

Постолбцовое отображение данных из базы данных SQLite - Программирование Android
Уважаемые форумчане, помогите пожалуйста. Необходимо вывести данные из таблицы базы данных в TextView. Вот код, когда в TextView...

Вывод данных из базы данных SQLite - Программирование Android
Здравствуйте уважаемые форумчане! Делаю программу для работы с базой данных SQLite. Смысл простой: есть одна база, в ней 9 таблиц, от 2 до...

Android - Вывод данных из базы данных - Программирование Android
Всем здравствуйте! Задача не сложная, надо просто знать:-[ Нужно вывести данные из БД SQLite в таблицу. Не надо их ни добавлять, ни...

RecyclerView - Программирование Android
Скажите что делаю не так. Цель: выводить содержимое бд заголовок, текст и т.п. Как я делал, точнее по гайдам. Тут из базы передаю...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,724
21.09.2016, 11:52     Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView #2
halk0812, привет!
Не совсем понял, есть ли уже события на добавление и удаление данных? Если да, то уже сами всё знаете. Добавляете (удаляете) в адаптер, обновляете адаптер. Для этого в адаптере должны быть публичные методы типа addAll и delete. Можно с указанием позиции, куда добавлять или откуда удалять и сколько. Затем можно даже внутри адаптера вызвать notifyItemInserted или notifyItemRemoved. Можно не в адаптере, а в активности.
halk0812
67 / 54 / 16
Регистрация: 05.09.2013
Сообщений: 656
Завершенные тесты: 1
21.09.2016, 11:54  [ТС]     Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView #3
Цитата Сообщение от CoolMind Посмотреть сообщение
есть ли уже события на добавление и удаление данных?
Нет, событий нет) Можно по-подробнее? Я чувствовал, что события быть должны (сам для андроида пишу только месяц).
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,724
21.09.2016, 12:22     Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView #4
Цитата Сообщение от halk0812 Посмотреть сообщение
Можно по-подробнее?
Насколько я понял, у вас есть локальная БД, к ней вы выполняете запросы. Соответственно, когда делаете добавление, изменение или удаление, можете вызвать какую-то процедуру, которая меняет данные в адаптере, но делать это надо в UI-потоке.
Условно говоря,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
new Thread(new Runnable... // Желательно, но можно и без потоков.
 
Выполнили запрос на изменение к БД.
Узнали, какие данные изменились.
final List<Item> items = new ArrayList<>();
for (Data data : changed_data) {
    Item item = new Item();
    // Какие-то действия с item.
    items.add(item);
}
activity.runOnUiThread(...
    int start = adapter.getItemCount();
    adapter.addAll(items);
    adapter.notifyItemRangeInserted(start, items.size());
}
halk0812
67 / 54 / 16
Регистрация: 05.09.2013
Сообщений: 656
Завершенные тесты: 1
21.09.2016, 12:27  [ТС]     Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView #5
Ну, то есть, без лишнего стеснения - добавляем публичные методы в адаптер, и дергаем их по надобности?
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,724
21.09.2016, 20:26     Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView #6
halk0812, да. Я тоже сначала думал, что так плохо, а потом смирился. Там же можно и более хитрые штуки делать публичными. Например, внутренние классы (Item, ViewHolder), интерфейсы (допустим, чтобы забрать все данные из адаптера).
Yandex
Объявления
21.09.2016, 20:26     Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView
Ответ Создать тему
Опции темы

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