我想让用户在我的flutter应用程序中访问firestore数据,只有当他们在线时。我希望firestore数据不能存储在缓存中,这样用户只有在在线时才能得到数据。
wmvff8tz1#
听起来你的问题只是问如何禁用任何持久性以确认你的应用只接收最新的数据。你可以通过你的Firebase设置来配置。下面是文档中的一段代码。
// Apple and Android db.settings = const Settings(persistenceEnabled: true); // Web await db .enablePersistence(const PersistenceSettings(synchronizeTabs: true));
有关详细信息,请参阅Access数据脱机文档
uz75evzq2#
你可以通过使用connectivity_plus: ^3.0.2包来检查互联网,有了这个包,你可以应用你关于连接的逻辑...
connectivity_plus: ^3.0.2
mzsu5hc03#
你可以检查互联网通过使用connectivity_plus: ^3.0.2包,所以你可以禁用删除按钮,如果没有互联网您的代码将如下所示:
YourAppState{ ConnectivityResult _connectionStatus = ConnectivityResult.none; final Connectivity _connectivity = Connectivity(); late StreamSubscription<ConnectivityResult> _connectivitySubscription; @override void initState() { super.initState(); _connectivitySubscription_connectivity.onConnectivityChanged.listen(_updateConnectionStatus); } Future<void> _updateConnectionStatus(ConnectivityResult result) async { setState(() { _connectionStatus = result; }); if (_connectionStatus.toString() == "ConnectivityResult.none") { navigatorKey.currentState!.popUntil((route) => route.isFirst); } }
}然后在您的小部件上写入以下条件
if(_connectionStatus.toString() != "ConnectivityResult.none")
现在,如果没有互联网连接,则该小部件不会出现
3条答案
按热度按时间wmvff8tz1#
听起来你的问题只是问如何禁用任何持久性以确认你的应用只接收最新的数据。你可以通过你的Firebase设置来配置。下面是文档中的一段代码。
有关详细信息,请参阅Access数据脱机文档
uz75evzq2#
你可以通过使用
connectivity_plus: ^3.0.2
包来检查互联网,有了这个包,你可以应用你关于连接的逻辑...mzsu5hc03#
你可以检查互联网通过使用connectivity_plus: ^3.0.2包,所以你可以禁用删除按钮,如果没有互联网
您的代码将如下所示:
}
然后在您的小部件上写入以下条件
现在,如果没有互联网连接,则该小部件不会出现