如何在移动应用程序(离线或在线)中存储有关登录的信息?

How to store information about login in mobile application (offline or online)?

我做了一个简单的应用程序,可以让你离线拍照并标记它们。一旦有互联网连接,这些数据就会发送到服务器。 我使用了一个很棒的后端解决方案——Appwrite。效果很好。

我最不想做的就是用户注册和登录。 AppWrite SDK 提供了用于创建用户会话、身份验证的现成方法。 但是,如果我的应用程序也可以离线工作,我会遇到一个问题,它应该如何工作。 例如

  1. 我有互联网连接 - 我登录到应用程序 - 正在创建会话。
  2. 下次打开应用程序时,登录屏幕应该不会再出现了。如果我无法访问互联网,应用程序如何知道会话处于活动状态而不显示登录屏幕?
  3. 同样如果我在没有网络的情况下退出应用程序,之前的会话不会被删除。

对于如何实现这一目标的任何建议,我将不胜感激。总结一下——用户登录信息应该写在本地的某个地方吗?

最简单的方法是使用shared_preferences(离线) https://pub.dev/packages/shared_preferences 和 Firestore(在线) https://firebase.flutter.dev/docs/firestore/usage/

将令牌或布尔值存储为 userLogged 到本地存储将是应用程序识别用户登录的最佳选择。 本地存储的一种简单解决方案是使用共享首选项:https://pub.dev/packages/shared_preferences