gpt4 book ai didi

Flutter - 存储经过身份验证的用户详细信息

转载 作者:行者123 更新时间:2023-12-03 03:00:20 25 4
gpt4 key购买 nike

我是 Flutter 的新手,我正在编写一个需要用户登录的应用程序。我已经有一个为我提供 JWT 的 API。然后我使用安全存储库存储它。

一旦用户使用 token 获得 200 OK,我想向服务器发送另一个请求以检索用户的详细信息并将其存储在一种单例类中,这样我就可以在应用程序中使用它,直到他注销。现在有很多流行语向我抛出,提供商和 BLoC。

我想知道在应用程序中存储当前登录的用户详细信息的最佳做法是什么?以前我已经知道将数据存储在单例类中。但现在我不确定我应该写一个单例类还是一个提供者? (我对 Providers 和 BLoCs 如何工作的知识仍然生疏)。

最佳答案

开始简单

存储数据的一个简单起点,我假设是键/值对的形式,将使用共享首选项。

什么是共享首选项

共享首选项的主要用途是保存用户首选项、设置,可能还有数据(如果不是太大),以便下次启动应用程序时,可以检索和使用这些信息。

使用方法

设置 Shared Preferences 的实例变量并使用键标识符存储该值。
任何时候您想在应用程序启动时检索该值,只需使用该 key 即可。请参阅以下设置和获取存储用户名的示例。

Future<bool> setUserName(String value) async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
return prefs.setString("username",value);
}

Future<String> getUserName(String value) async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
return prefs.getString("username");
}

安装
要安装共享首选项,请将其添加到包的 pubspec.yaml 文件中:
dependencies:
shared_preferences: ^0.5.7+3

更多信息 package page .

关于Flutter - 存储经过身份验证的用户详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61989939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com