Flutter 我如何使用flatter在android设备的SQLite数据库中手动缓存Firestore数据?

Flutter 我如何使用flatter在android设备的SQLite数据库中手动缓存Firestore数据?,flutter,google-cloud-firestore,android-sqlite,Flutter,Google Cloud Firestore,Android Sqlite,我正在构建一个flatter应用程序,它要求我手动将Firestore数据缓存到android设备的SQLite数据库中,这样每当设备失去互联网连接时,它就会自动从本地存储中获取数据。我见过类似的问题,但都没有令人满意的答案。 这是我的主.dart文件: void main() { runApp(firebase_ini()); } class firebase_ini extends StatelessWidget { @override Widget build(BuildC

我正在构建一个flatter应用程序,它要求我手动将Firestore数据缓存到android设备的SQLite数据库中,这样每当设备失去互联网连接时,它就会自动从本地存储中获取数据。我见过类似的问题,但都没有令人满意的答案。 这是我的主.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...");
      }
    );
  }
}

void main(){
runApp(firebase_ini());
}
类firebase_ini扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
回归未来建设者(
future:Firebase.initializeApp(),
生成器:(BuildContext上下文,异步快照){
if(snapshot.hasError)
返回文本(“启动应用程序时出错”);
else if(snapshot.connectionState==connectionState.done)
归还材料app(主页:pets());
其他的
返回文本(“加载…”);
}
);
}
}
如果需要任何其他相关信息,请告知我


任何帮助都将不胜感激。

firestore难道没有自己的内置缓存功能吗?我可以关闭我的互联网,关闭应用程序,然后重新打开,发现一切正常。它甚至会记录您的写入操作,相应地更新您的UI,然后在恢复连接时将它们发送到数据库。此处阅读更多-

它确实有自动缓存功能,但我被分配了一项任务,要求我手动存储数据。您很可能需要设计自己的算法,以便在firestore和本地数据库之间同步数据。如果任务不要求您导出此数据库并仅将其保存在设备中,则可以签出localstore