Совет по реализации расписания

86
18 ноября 2019, 13:00

хотел бы спросить как лучше сделать.

Имеется учебное расписание, из которого я хочу сделать Android - приложение. Я собираюсь на одном RecyclerView размещать расписание на один день.

В учебном расписании имеются пропуски, когда пар нет.

Вопрос касается того, что делать с этими пропусками?

  1. Не добавлять их в базу данных на сервере, (при парсинге) а при запросе из android и при переносе элементов в adapter как то проверять, есть ли элемент с таким временем (соответствие времени парам-занятиям), если нету, то добавлять самому пропуск. Но что тогда с полями класса в ViewHolder делать(они же будут все будут Null, кроме времени)(или можно другой ViewHolder с одним полем сделать, на подобии "сейчас отдых", его можно в тот же adapter засунуть?). Также получается, что при изменении времени организации, придется обновлять приложение, так как при добавлении пустых элементов, у него будет другие временные промежутки.

  2. При добавлении на сервер (добавлять и пустые элементы, все будет по Null, кроме времени и даты), но тогда увеличивается база данных, что увеличивает встроенную базу данных (например Room), и трафик (так как Json будет больше по размерам)

Выслушаю любые идеи, вплоть до выбора других элементов для отображении в Android

Answer 1

Можно попробовать перехватить результат из БД в классе, в котором она реализована и переписать возвращаемый в метод loadInitial List (Или смотря как вы там реализовали) или в методе loadInitial изменить уже полученные данные из класса с БД, но эти варианты довольно таки муторные, можно добавить данные о полном расписании (Пропуски пар , сами пары и т.д.) - будет намного проще, однако данных не так уж и много. Можно попробовать так же как и в первых вариантах - перехватить список, но только добавить в таблицу NULL значения, и изменить их перед передачей в callback.onResult(result, 0);.

READ ALSO
Как передать Integer по ссылке

Как передать Integer по ссылке

В главном потоке создаётся объект, в данном случае типа IntegerПосле этого создаётся побочный поток, который этот объект как-то меняет, на этом...

142
int + '\n' - что происходит при таком условии?

int + '\n' - что происходит при таком условии?

При изучении в java цикла for написала простой цикл, который должен выводить все четные числа до 100 и оставлять между ними строкуЯ нашла в итоге...

114
Подбор чисел из массива с суммой большей или равной К

Подбор чисел из массива с суммой большей или равной К

Перечитал много материала, задача о ранце не подходит, потому что значение нужно либо большее (с минимальной разницей), либо равное заданному...

135
Сохранение файлов программы (Java, Android) [дубликат]

Сохранение файлов программы (Java, Android) [дубликат]

На данный вопрос уже ответили:

137