【问题标题】:Flutter: remove all saved shared preferencesFlutter:删除所有已保存的共享首选项
【发布时间】:2019-06-17 00:55:44
【问题描述】:

我想在用户点击注销时删除所有已保存的共享首选项。有没有什么方法可以一键搞定,不一一删除?

【问题讨论】:

    标签: dart flutter


    【解决方案1】:

    我使用shared_preferences插件:

    pubspec.yaml

    dependencies:
      flutter:
        sdk: flutter
    
      shared_preferences: ^0.4.3
    

    在 dart 文件中:

    import 'dart:async';
    import 'package:shared_preferences/shared_preferences.dart';
    ...
    SharedPreferences preferences = await SharedPreferences.getInstance();
    await preferences.clear();
    

    我想这就是你需要的

    【讨论】:

    • preferences.clear(); 似乎对我不起作用。
    • 如果您在preferences.clear(); 之后立即检查它可能是这样。我没提,但它是一个异步操作,所以,也许你需要使用await preferences.clear();并检查它
    • 我确实使用了await
    • 这很奇怪。我认为你最好创建一个新问题,详细描述你的问题以及你为解决它所做的一切。
    • 那么这将被标记为这个问题的重复。 ?‍♂️
    【解决方案2】:

    您可以简单地将clear() 函数与您的变量一起使用,它将清除所有共享首选项。

    SharedPreferences preferences = await SharedPreferences.getInstance();
    await preferences.clear();
    

    如果您想使用键名从共享首选项中删除特定键值,您可以按照以下方式进行操作。

    SharedPreferences preferences = await SharedPreferences.getInstance();
    await preferences.remove('KeyNameHere');
    

    【讨论】:

      【解决方案3】:

      试试

      final pref = await SharedPreferences.getInstance();
      await pref.clear();
      

      【讨论】:

        【解决方案4】:

        试试吧

        prefManager = await SharedPreferences.getInstance();
        await prefManager.clear();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-29
          • 2019-04-09
          • 1970-01-01
          • 1970-01-01
          • 2019-10-01
          相关资源
          最近更新 更多