Сейчас я работаю над приложением Android, в котором есть одно основное действие, которое отображает некоторые данные через GLSurface. Эти данные могут быть изменены разными способами. Для этого у меня есть несколько фрагментов с некоторыми списками вариантов с дополнительной логикой. Проблема в том, что мне нужно как-то перенести данные из одного места в другое.
Например:
У меня есть фрагмент со списком элементов. Я использовал RecyclerView с пользовательским адаптером. Я заполняю список данными из БД. SomeThingDBEntity
например. Когда я получаю его из Room DB (используя сущности Room), но у него есть некоторые дополнительные поля, которые требуются только для отображения элементов в RecyclerView. Мне нужно отправить выбор пользователя от адаптера к фрагменту, затем от фрагмента к действию, после чего активность отправляет его в некоторый класс, который инкапсулирует логику работы с GLSurface. SomeThingGLentity
например. Сейчас я пропускаю только поля, которые SomeThingGLentity
требуются для отображения данных (int
, String
и т. Д.), Но в будущем этот список может увеличиться. Я также могу отправить напрямую SomeThingDBEntity
и получить обязательные поля только в конце, когда применяются изменения к SomeThingGLentity
. Но можно ли так использовать сущность Room DB?
Есть ли лучший способ сделать это? Я также могу создать третий класс, который будет содержать только обязательные поля. Но где разместить и как это назвать? Может быть, есть какие-то шаблоны или рекомендации, как лучше всего это сделать ...