在Android ViewModel中存储Firestore对象

时间:2018-10-23 09:13:21

标签: android design-patterns google-cloud-firestore viewmodel

我正在使用Kotlin,ViewModels,DataBinding和Firestore创建一个新的Android项目。我有点困惑,应该如何处理,主要是如何处理/存储Firestore文档/参考。例如,我将使用GroceryList应用程序,您可以在其中将项目添加到列表中。

有时,您选择一个列表,然后转到某些DetailFragment。我将所选的GroceryList存储在ViewModel的selectedGroceryList对象中。在我的xml中,我可以在ViewModel中使用此对象来显示名称,列表中的项目等。例如,可以使用android:text="@{viewModel.selectedGroceryList.name}"在文本视图中显示名称。

到目前为止,我很高兴!但是..如果我们要写怎么办?

想象一下我想在购物清单中添加“苹果”。我可以将其添加到ViewModel的groceryList中,但这不会将其添加到Firestore中。为此,我需要Firestore Documentreference。那么,保存此Firestore docref的最佳方法是什么?是否应将此引用保存到groceryList旁边的ViewModel中,并始终存储对象本身及其引用?还是应该只存储引用,并在每次需要时从Firestore数据库中获取对象?

0 个答案:

没有答案