无论如何要在flutter中使用sharedPreferences启用“记住我”功能?

2024-01-17

目前,如果用户成功登录一次,我已启用“保持登录”功能。但是,我仍然想制作一个“记住我”复选框来保存用户的成功登录信息。谁能帮我解决这个问题吗?

需要:一个复选框,使用户能够在用户成功登录后存储电子邮件和密码。

代码如下所示:

  signIn(String email, pass) async {
    SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
    String url = ServerDetails.ip +
        ':' +
        ServerDetails.port +
        ServerDetails.api +
        'login';
    Map<String, String> headers = {"Content-type": "application/json"};
    var data = jsonEncode({
      'email': email,
      'password': pass,
      'token': FirebaseNotifications.fcmtoken
    });
    var jsonResponse = null;
    var response = await http.post(url, headers: headers, body: data);

    if (response.statusCode == 200) {
      jsonResponse = json.decode(response.body);
      if (jsonResponse != null) {
        setState(() {
          _isLoading = false;
        });
        sharedPreferences.setString("token", jsonResponse['token']);
        sharedPreferences.setString(
            "token_expire_date", jsonResponse['token_expire_date']);
        Navigator.of(context).pushAndRemoveUntil(
            MaterialPageRoute(builder: (BuildContext context) => MainPage()),
            (Route<dynamic> route) => false);
      }
    } else {
      setState(() {
        _isLoading = false;
      });
      Widget okButton = FlatButton(
          child: Text("OK"),
          onPressed: () {
            Navigator.push(
                context, MaterialPageRoute(builder: (context) => MainPage()));
          });
      setState(() {
        AlertDialog alert = AlertDialog(
          title: Text("Error message"),
          content: Text("Oops! The password is wrong or the email is invalid."),
          actions: [
            okButton,
          ],
        );
        showDialog(
          context: context,
          builder: (BuildContext context) {
            return alert;
          },
        );
      });
      print(response.headers);
      print(response.body);
    }
  }

当然,您可以创建一个简单的复选框remember me。在登录按钮中,您可以检查此复选框是否已选中。如果是,您可以在shared_preferences中设置电子邮件和密码。

下次,当用户再次出现时,您可以从shared_preferences自动获取这些字段。

Here https://stackoverflow.com/questions/54377188/how-to-use-shared-preferences-to-keep-user-logged-in-flutter就是一个例子。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无论如何要在flutter中使用sharedPreferences启用“记住我”功能? 的相关文章

  • Flutter,在第1页时无法点击第2页

    我创建了一个PageView有 3 个页面 每个页面都有一个按钮 单击每个按钮应滚动到该页面 如果在第 2 页 则上一页和下一页都是可点击的 如果它位于第 3 页 则可以单击上一页 如果是在第一页 下一页不可点击 更新 当在 page1 上
  • flutter run 无法在 iOS 模拟器上运行,但 Xcode 可以构建

    在我的 Flutter 项目中 flutter run命令无法将项目构建到 iOS 模拟器 但在 Xcode 中 当我单击构建按钮时 Xcode 可以毫无问题地构建它 我正在使用 AgoraRTC 库 添加 Flutter Quill 后就
  • 当用户尝试使用 flutter_inappwebview 在移动应用程序中上传文件时,如何请求用户权限?

    我正在尝试使用 flutter inappwebviewplugin 创建一个 flutter web 应用程序 在应用程序中 我添加了一个用于文件上传的 dropzone 插件 此功能在浏览器和 Android 应用程序上都运行良好 但在
  • Flutter firestore插件无法通过where和isEqualTo的组合来获取数据

    我在 Firestore 中有一个名为 trips 的集合 数据格式是这样的 我正在尝试使用下面的代码访问该集合的文档 第一种方式 try Firestore instance collection trips where createdB
  • 颤振文本小部件仅显示最后一个条目

    我正在尝试在 flutter 中创建日历 目前我正在实施这些活动 为了测试这一点 我创建了一个方法来检查当前日期 即创建行的时间 是否有事件 如果是这种情况 则会在表示内容的容器中打印 x 整个事情只是第一次测试 看它是否在原则上有效 当我
  • CustomPainter 使用 Listenable 重绘

    CustomPainter 类似乎有几种触发重绘的方法 我让我的画家使用 shouldRepaint 方法 但是 我希望我的画家对可监听中的更改做出反应 而不是轮询更改 Flutter 文档指出 触发重绘的最有效方法是 扩展此类并向 Cus
  • Flutter:从子级检索顶级状态返回 null

    我正在尝试使用 of 方法获取应用程序的顶级状态 类似于 Scaffold of 函数 这是 精简的 代码 class IApp extends StatefulWidget override IAppState createState g
  • 如何在 Flutter App 中按时间注销?

    如果用户在登录后对应用程序没有反应或不活动超过 5 分钟 我需要从应用程序中注销用户 该应用程序将转到主登录页面 我尝试实施给定的解决方案here https stackoverflow com questions 52602606 how
  • flutter应用程序中有图像编辑器的api吗?我需要在图像中添加文本

    是否可以编辑图像 例如旋转以及在图像上添加文本 有没有什么插件可以做到这一点 我需要一个图像编辑器来添加具有各种字体和颜色的文本 谢谢 你应该使用重画边界 https docs flutter io flutter widgets Repa
  • Flutter 应用程序在 iOS 平台的 firebase 电话身份验证中崩溃

    我在我的项目中实现了 Firebase Phone auth 在 Android 端 一切正常 但对于 iOS 端 当我尝试从我的端发送验证码时 应用程序崩溃并失去连接 我已在下面提交了我的代码 主程序 dart class MyApp e
  • Android 后退按钮无法与 Flutter 选项卡内的导航器配合使用

    我需要在每个选项卡内有一个导航器 因此当我推送新的小部件时 选项卡栏会保留在屏幕上 代码运行得很好 但是 android 后退按钮正在关闭应用程序而不是运行 Navigator pop import package flutter mate
  • Flutter 使用 RichText 填空

    我几乎完成了我的应用程序的填空实现 但不幸的是我不断遇到布局问题 然而 当我不断解决问题时 我几乎已经完成了 这是到目前为止的代码 RichText text TextSpan text dummy style TextStyle colo
  • 空安全 AppLocalization 字符串的最佳方法

    Question 我在用AppLocalizations of context myString在我的 null safe flutter 应用程序中国际化字符串 我的 IDE 告诉我AppLocalizations of context
  • 谷歌字体包是否会下载设备上的字体?

    在我的 flutter Android 应用程序中 第一次启动时 该应用程序显示默认字体 一秒钟后它更改为我从 google fonts flutter 包中使用的字体 我想我的问题是 应用程序第一次启动时是否会立即下载字体 如果是 可以使
  • Flutter无法从url加载图像

    图片资源服务捕获异常 解析图像编解码器时抛出以下 ImageCodecException 加载网络图像失败 图片网址 https cdn sportmonks com images soccer leagues 5 png https cd
  • 使用 Flutter 3.10 / Dart 3.0 进行 VS Code 调试<优化>

    在最新的 颤振 升级 之后 我在 VS Code 调试期间查看某些变量时遇到问题 如何在悬停时查看变量的内容而不是获取此内容 Screenshot of hovering variable 这仅发生在某些变量上 其他变量我可以正常查看内容
  • 条件必须具有 bool 静态类型

    有什么方法可以在这种情况下使用未来的布尔值 或者有更好的方法吗 Widget buildRow String pair final Future
  • 在 Flutter 中从 Play 商店获取产品时应用内购买崩溃

    我在安装和实施后遇到问题应用内购买插件 https pub dev packages in app purchaseFlutter 团队提供 到目前为止我做了什么 在 Play 商店中添加了 2 个可见且活跃的产品 提交了用于 alpha
  • 更改项目名称

    Flutter项目的项目名称可以修改吗 项目名称是指您在创建 flutter 项目时提供的名称flutter create name 这取决于您想要实现的目标 如果您想更改手机菜单中显示的应用程序名称以及应用程序图标 则必须更改androi
  • 如何在 Flutter 上的 sqlite 中存储对象数据列表?

    如何在 Flutter 上的 SQLite 中存储对象数据列表 API 附带的 Json 数据 images id 10 name img1 id 11 name img2 在使用 SQLite 存储对象之前 您需要序列化对象列表 首先 你

随机推荐

  • 卡在“将 API 使用情况发送到 iTunes Connect”上

    我尝试将用 Starling 开发的游戏上传到应用商店 但 应用程序加载器 停留在 将 API 使用情况发送到 iTunes Connect 10 天前上传成功 新版本只有一行不同的代码编译是一样的 有人有这个问题吗 有人有解决办法吗 我尝
  • 如何启用Objectify XA事务?

    我正在同一类型的实体之间实现友谊功能Profile 该实体类型是根 非父 实体 一个配置文件有一个Set
  • Photoshop“黑白”调整图层背后的算法是什么?

    我做了很多研究 但没有找到任何东西 但我也不知道到底要搜索什么样的关键字 我希望能够转换输入RGB图像到灰度但我希望能够添加更多或更少红色 黄色 绿色 青色 蓝色 洋红色像Photoshop 您知道等式是什么吗 或者我在哪里可以找到这些等式
  • C语言中如何将int转换为float?

    我正在尝试解决 int total 0 number 0 float percentage 0 0 percentage number total 100 printf 2f percentage 如果数字的值为 50 总数为 100 我应
  • -xms 总和大于主机 RAM 的多个 JVM

    注意 我是 Java 新手 我是 Python 开发人员 JVM 的想法对我来说很陌生 假设您有一台 8 核 160GB RAM 的服务器 如果您使用 xms 100G 运行 Java 程序 它不会抛出任何错误 如果使用 xms 100G
  • Perforce 相当于 git local commit

    我在使用 Git 一年后才开始使用 Perforce 是否有任何等同于 git local commit 到我的分支的强制 本质上 如果我想要完成一项可能需要撤消和重做我的特定更改的复杂任务 有什么方法可以在 Perforce 中完成此任务
  • 是否可以在 Hudson/Jenkins 中用参数化字符串替换整个存储库 URL?

    在 Hudson Jenkins 中 是否可以替换entireSubversion 模块存储库 URL 中带有字符串参数的字符串 我不想只替换版本或类似的内容 我想替换整个网址 因此 当我运行构建时 我会收到输入 URL 的提示 我会输入类
  • C++ 从字符串中间提取数字

    我有一个vector含有strings遵循以下格式text number number Eg Example 45 3 我只想要第一个数字 45在示例中 并且我无法使用当前代码执行其他操作 std vector
  • 在不同的函数中分配的空闲内存?

    我正在尝试学习 C 目前正在尝试编写基本的堆栈数据结构 但我似乎无法掌握基本的知识malloc free right 这是我一直在使用的代码 我只是在这里发布一小部分来说明特定问题 而不是全部代码 但错误消息是通过运行此示例代码生成的val
  • PGAdmin III 无法连接 AWS RDS

    我正在尝试从 PgAdmin 3 连接 AWS RDS PostgreSql 我点击了以下链接http docs aws amazon com AmazonRDS latest UserGuide USER ConnectToPostgre
  • 创建包含多个 AAR/JAR 的 AAR

    我看到了一些问题 Android Studio 将 2 个 aar 合二为一 https stackoverflow com questions 30084314 android studio combine 2 aar into one和
  • Google 地图标记为链接

    我在我的网站上使用 Google 地图 但我想知道如何使用Markers作为链接 我的意思是当我单击标记打开特定链接时 先感谢您 这实际上很容易做到 只需将事件处理程序附加到您的标记 然后通过设置启动链接window location hr
  • 在 Hibernate JPA 实体中用另一个列表替换一个列表是否合法?

    假设一个 Hibernate 4 2 JPA 2 0 实体class EntityA 它包含一个 ManyToOne field List
  • 连接多个字典以创建新列表,其值作为原始字典的值列表

    我使用的是 Python 2 7 并且在这里查看了几个解决方案 如果您知道要合并多少个字典 这些解决方案就有效 但我可以有 2 到 5 个之间的任何内容 我有一个循环 它生成一个具有相同键但不同值的字典 我想将新值添加到以前的值中 Such
  • 过滤输入 URL 的最佳方法是什么?

    我有一个接受来自 PHP 用户的 URL 的表单 我应该允许或禁止哪些字符 目前我使用 input preg replace a zA Z0 9 string 输入 子字符串 输入 0 255 因此 它被修剪为 255 个字符 并且只能包含
  • 抑制地址清理程序的 gtest 的统一测试

    我正在我的单元测试上运行地址清理程序 Cmake 看起来像这样 cmake G Unix Makefiles DCMAKE CXX COMPILER clang 9 DCMAKE C COMPILER clang 9 DCMAKE C FL
  • 是否有 RedGate 的“穷人”替代品来编写整个数据库模式的脚本? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我现在的情况是 我想为数据库生成一个脚本 我可以在另一台服务器上运行该脚本 并获得与原始数据库相同的数
  • Eclipse 类路径条目仅用于测试

    在 Maven 中 你可以有编译时依赖关系和test依赖关系 这是我喜欢的一个功能 M2Eclipse 插件也使这个功能在 Eclipse 中可用 这非常棒 所以如果我添加jmock jar作为测试依赖项添加到我的项目中 它将显示在 JUn
  • 有什么办法可以使用路径查找图像吗? MediaStore.Images.Thumbnails (Android)

    我在用着MediaStore Images Thumbnails以显示用户拥有的图像 但我无法通过其路径获取图像 有什么办法可以使用路径查找图像吗 String proj MediaStore Images Thumbnails ID Me
  • 无论如何要在flutter中使用sharedPreferences启用“记住我”功能?

    目前 如果用户成功登录一次 我已启用 保持登录 功能 但是 我仍然想制作一个 记住我 复选框来保存用户的成功登录信息 谁能帮我解决这个问题吗 需要 一个复选框 使用户能够在用户成功登录后存储电子邮件和密码 代码如下所示 signIn Str