我正在使用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数据库中获取对象?