Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android ViewModel中存储Firestore对象_Android_Design Patterns_Google Cloud Firestore_Viewmodel - Fatal编程技术网

在Android ViewModel中存储Firestore对象

在Android ViewModel中存储Firestore对象,android,design-patterns,google-cloud-firestore,viewmodel,Android,Design Patterns,Google Cloud Firestore,Viewmodel,我正在使用Kotlin、ViewModels、数据绑定和Firestore创建一个新的Android项目。我有点困惑我应该如何继续,主要是如何处理/存储Firestore文档/引用。例如,我将使用GroceryList应用程序,您可以在其中向列表中添加项目 在某些时候,您可以选择一个列表,然后转到一些DetailFragment。我将所选的GroceryList存储在我的ViewModel中的SelectedRoceryList对象中。在我的xml中,我可以在ViewModel中使用此对象来显示

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

在某些时候,您可以选择一个列表,然后转到一些
DetailFragment
。我将所选的
GroceryList
存储在我的ViewModel中的
SelectedRoceryList
对象中。在我的xml中,我可以在ViewModel中使用此对象来显示名称、列表中的项目等。例如,我可以使用
android:text=“@{ViewModel.SelectedRoceryList.name}”
在textview中显示名称

到目前为止,我是一个快乐的人!然而。。如果我们想写呢


想象一下,我想将“苹果”添加到我的杂货店列表中。我可以将其添加到ViewModel中的
groceryList
,但这不会将其添加到我的Firestore中。为此,我需要Firestore
Documentreference
。那么,保存Firestore docref的最佳方法是什么?我是否应该将此引用保存到
groceryList
旁边的我的ViewModel中,并始终存储对象本身以及对它的引用?或者我应该只存储引用,并在每次需要时从Firestore db中提取对象?

如果您感兴趣,我已经在我的一个步骤中演示了如何使用Cloud Firestore和Android创建购物清单应用程序。这看起来不错,@AlexMamo。我肯定会看其中的一些部分。你想解释一下你是如何处理上述问题的,保存引用和/或解析的对象吗?试试看,干杯!