【问题标题】:I have a question about using Shared_Preferences in flutter when I build apk and install我在构建 apk 并安装时有一个关于在颤振中使用 Shared_Preferences 的问题
【发布时间】:2021-01-08 06:44:55
【问题描述】:

您好,我在 Flutter 中使用 Shared_Preferences 时遇到问题。

下载并执行应用程序发布的 apk 时,Shared_Preferences 库中出现'Missingpluginexception'

所以为了解决这个问题,'SharedPreferences.setMockInitialValues({});'被插入到主函数中。

然后,每次运行app,都会出现之前通过Shared_Preferences保存的值没有被记住和重置的问题。

在找问题的时候,看到了在MainActivity.java中添加一些代码的解决方案,但是我的项目没有这个,只有MainActivity.kt存在。

在这种情况下如何解决问题?

这是'MainActivity.kt'

package com.example.mryr

import io.flutter.embedding.android.FlutterActivity
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {
}

【问题讨论】:

    标签: android flutter dart sharedpreferences


    【解决方案1】:

    您应该检查您在项目中使用的是最新版本。 必须实例化 SharePreferences 插件才能使用它。

    要保存该值,您必须定义一个密钥,当您想要恢复它时,您可以使用该密钥获取该值。 这是您的page 上的示例。

    _incrementCounter() async {
      SharedPreferences prefs = await SharedPreferences.getInstance();
      int counter = (prefs.getInt('counter') ?? 0) + 1;
      print('Pressed $counter times.');
      await prefs.setInt('counter', counter);
    }
    

    【讨论】:

      【解决方案2】:

      我以前从未接触过 Java 或 Kotlin 文件来使用 Shared_Preferences。只需确保您在 pubspec.yaml 中有最新版本作为依赖项,并且每次要使用它时,都需要在函数中创建它的实例,例如: SharedPreferences preferences = await SharedPreferences.getInstance();

      一个小例子:

        /// Save your values using shared preferences
        _valueSaver(int value) async {
          SharedPreferences preferences = await SharedPreferences.getInstance();
          /// you may use setInt, setString, setBool, or setDouble to save anything you need
          preferences.setInt('myKeyName', value);
        }
        
        //Retrieve the values in a new function/class/wherever you need
        _valueGetter () async {
          SharedPreferences preferences = await SharedPreferences.getInstance();
          //Then use get<whatever you saved> to retrieve
          int value2 = preferences.getInt('myKeyName');
        }
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-13
        • 2021-08-20
        • 2021-08-08
        • 2022-01-11
        • 2022-10-08
        • 2023-03-23
        相关资源
        最近更新 更多