XBlack97 Ответов: 1

Хранение и извлечение массива из roomdb и отображение в представлении recycler


I'm working on a simple forum app which enables the user to upload texts and pictures. Everything was working fine with little bugs, then on the process of debugging, i really have no idea what happened. The output of the program is affected, here is the full code Here<a href="">https://github.com/XBlack97/UNNCrimeWatch</a>

The app uses a navigationDrawer with 2 fragments, one to show uploaded posts, the other for uploading..


PROBLEMS

1)onBindViewHolder of the NewsAdapter: The stored arrays of uri converted to strings no longer display in the horizontal recyclerView inside the News (Vertical RecyclerView )

2)i don't know if the Uris are even stored or not

3)public void removeAt(int position, Uri path): The RecyclerView of images deletes but the created files in the directory doesn't deletes.


Что я уже пробовал:

Попытался установить адаптер на горизонтальной посмотреть переработчик в вертикальном переработчик вид адаптера

MadMyche

Извините, но в моем мире "быстрые ответы" не требуют, чтобы я выходил за пределы сайта и просматривал ваш репозиторий кода, чтобы найти ответ для вас.Пожалуйста, по крайней мере, найдите блок кода, о котором идет речь, и пройдите мимо этого кода здесь.. Я вижу, вы уже знаете, как использовать копирование и вставку, так что это не должно быть слишком сложно

1 Ответов

Рейтинг:
2

TheOldFogie

2) я даже не знаю, хранятся ли URI или нет.

Способ убедиться в этом (предполагая, что вы используете Android Studio) состоит в том, чтобы запустить приложение и добавить некоторые элементы, а затем использовать device explorer для копирования базы данных в инструмент управления SQLite, такой как Navicat или DB Browser for SQLite.

Обратите внимание, что если в data/data/<your_package>/databases/ есть 3 файла (а именно Хо.дБ, Хо.дБ-ГИМ &усилитель; Хо.дБ-Уол) затем скопируйте все три файла.


Выполнение вышеуказанных результатов в (после добавления 3 элементов)

mId	mDate	        mUpdate	mImageUris
1	1568316328566	test	[]
2	1568316509923	test2	[]
3	1568317094203	test3	[]


Таким образом, похоже, что ответ-нет, URI не хранятся.

Следующий этап - выяснить, почему нет.

Размещение точки останова на :-

CWDatabaseAccessor
         .getInstance(getApplication())
         .cwDAO()
         .insertUpdate(update);


показывать что mImageUris имеет 0 элементов.

Добавление точки останова на линии

if (newsImagesuri != null) {


Показывает, что результат из строки
newsImagesuri = mImagesAdapter.getImageUris();


это newsImagesuri это пустой массив.

Таким образом, ваша проблема, по-видимому, очень сильно основана на getImageUris метод проведения mImagesAdapter в классе или раньше.


1)onBindViewHolder редактора новостей: Сохраненные массивы uri, преобразованные в строки, больше не отображаются в горизонтальном recyclerView внутри новостей (вертикальный RecyclerView )

и

3)public void removeAt(int position, Uri path): RecyclerView изображений удаляет, но созданные файлы в каталоге не удаляет.

Вполне вероятно, что пустые URI являются основной проблемой для обоих из них.