Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.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 Firebase cache.indexOn在应用程序颤振中_Android_Firebase_Flutter_Firebase Realtime Database - Fatal编程技术网

Android Firebase cache.indexOn在应用程序颤振中

Android Firebase cache.indexOn在应用程序颤振中,android,firebase,flutter,firebase-realtime-database,Android,Firebase,Flutter,Firebase Realtime Database,我将Firebase用于我的颤振应用程序,并创建了一个.IndexOn 查询正在使用OrderByChild,问题是在加载查询时,它只加载现金 例如,当我在设备1上打开应用程序,同时通过另一个设备2创建记录时。设备1仅在删除应用程序缓存时加载新数据 我使用的是PersienceEnabled,但问题只发生在使用.IndexOn的查询中 "users": { ".indexOn": ["isPsycho","currentPsy

我将Firebase用于我的颤振应用程序,并创建了一个.IndexOn

查询正在使用OrderByChild,问题是在加载查询时,它只加载现金

例如,当我在设备1上打开应用程序,同时通过另一个设备2创建记录时。设备1仅在删除应用程序缓存时加载新数据

我使用的是PersienceEnabled,但问题只发生在使用.IndexOn的查询中

"users": {
".indexOn": ["isPsycho","currentPsycho"]
}
我正在使用的查询

await databaseReference
      .orderByChild('isPsycho')
      .equalTo(true)
      .once()
      .then((DataSnapshot snapshot) 

不幸的是,将磁盘缓存与
once()
结合使用可能会将过时的数据返回给侦听器。请参阅我的答案以了解原因:

请参阅解决此问题的新
get()
方法。
get()
方法在flatter中还不可用,因此目前您唯一的选择是使用
onValue()
或禁用磁盘持久性


我刚刚将此功能请求添加到Github repo中,因此请在那里查看最新状态。

能否显示加载数据的代码?我强烈建议遵循中的指导,以最大限度地增加我们能够提供帮助的机会。@FrankvanPuffelen好的,更新了问题。谢谢,onValue为我的场景工作!!!