Я создаю новый проект Android, используя Kotlin, ViewModels, DataBinding и Firestore.Я немного сбит с толку, как я должен идти вперед с этим, главным образом, как обрабатывать / хранить документы / ссылки Firestore.В качестве примера я буду использовать приложение GroceryList, в котором вы можете добавлять элементы в свой список.
В какой-то момент вы выбираете один из своих списков и переходите к некоторому DetailFragment
.Я сохраняю выбранный GroceryList
в selectedGroceryList
объекте в моей ViewModel.В моем xml я могу использовать этот объект в ViewModel для отображения имени, элементов в списке и т. Д. Например, я могу отображать имя в текстовом представлении с помощью android:text="@{viewModel.selectedGroceryList.name}"
.
До этого моментаЯ счастлив!Однако ... что если мы хотим написать?
Представьте, что я хочу добавить «Яблоки» в свой список покупок.Я могу добавить его к groceryList
в ViewModel, но это не добавляет его в мой Firestore.Для этого мне понадобится Firestore Documentreference
.Так как же лучше всего сохранить этот документ Firestore?Должен ли я сохранить эту ссылку в моем ViewModel рядом с groceryList
и всегда хранить сам объект и ссылку на него?Или я должен хранить только ссылку и извлекать объект из моей базы данных Firestore каждый раз, когда мне это нужно?