flutter - 如何使用 Flutter 在 Android 设备的 SQLite 数据库中手动缓存 Firestore 数据?
问题描述
我正在构建一个 Flutter 应用程序,它需要我手动将 Firestore 数据缓存到 android 设备的 SQLite 数据库中,这样每当设备失去互联网连接时,它就会自动从本地存储中获取数据。我见过类似的查询,但没有一个有任何令人满意的答案。这是我的 main.dart 文件:
void main() {
runApp(firebase_ini());
}
class firebase_ini extends StatelessWidget {
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: Firebase.initializeApp(),
builder: (BuildContext context, AsyncSnapshot<FirebaseApp> snapshot) {
if (snapshot.hasError)
return Text("ERROR STARTING THE APP");
else if (snapshot.connectionState == ConnectionState.done)
return MaterialApp(home: pets());
else
return Text("LOADING...");
}
);
}
}
让我知道是否需要任何其他相关信息。
任何帮助,将不胜感激。
解决方案
Firestore 没有自己的内置缓存功能吗?我可以关闭我的互联网,关闭应用程序并重新打开以发现一切正常。它甚至会记录您的写入操作,相应地更新您的 UI,然后在连接恢复时将它们发送到数据库。在这里阅读更多 - https://firebase.google.com/docs/firestore/manage-data/enable-offline
推荐阅读
- json - 如何在 Azure SQL 中生成 JSON 值数组
- html - 将图像向右对齐但不移动整个部分
- r - 有条件地删除数据框中的列?
- javascript - 如何将 javascript 文件/函数 API 正确导入 React.js 应用程序?
- bash - 使用 tar 压缩并验证,然后上传到 S3 并验证
- authentication - 初始提交时在 GitHub Windows 桌面应用程序中面临身份验证问题
- bash - 如何在 Bash 中打印从 1 到 1000 的 Armstrong 数字
- javascript - 如果没有 Calculator 构造函数,我怎么能重写这段代码?
- php - 如何指定自定义发件人?
- python - 当使用预训练模型(vgg, resnet like)作为主干时,我们应该在“评估模式”还是“训练模式”中使用它?