当前位置: 首页 > 面试题库 >

如何在Android端访问Flutter共享首选项(使用Java)

郤仰岳
2023-03-14
问题内容

我在dart中具有以下功能来设置特定的布尔首选项值。

_switchPersistentNotifications() {
  setState(() {
    isPersistentNotificationEnabled = !isPersistentNotificationEnabled;
  });
  widget.preferences.setBool(
      "isPersistentNotificationEnabled", isPersistentNotificationEnabled);
}

此功能设置isPersistentNotificationEnabled首选项的值。

现在在本机android端,我应该使用此共享的首选项值。到目前为止,这是我所做的。

SharedPreferences preferences =
                    PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
                // check if the state change notification is to be shown
                if (preferences.getBoolean("flutter.isStateChangeNotificationEnabled", false)) {
                    showConnectionStateChangeNotification();
                }

而且if条件永远不会被评估为真。我还尝试使用下面的代码打印所有现有的首选项值。

Map<String, ?> allEntries = preferences.getAll();
            for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
                Log.d("map values", entry.getKey() + ": " + entry.getValue().toString());
            }

并且仅显示Android创建的值(使用java)。

非常感谢您对使用偏好值的任何帮助。谢谢。


问题答案:

抱歉,这个答案来晚了,刚从github的flutter中得到了答案。

您可以做到的是:

SharedPreferences prefs = getSharedPreferences("FlutterSharedPreferences", MODE_PRIVATE);

然后,如果您想阅读例如“ myValue”键,则必须添加“ flutter”。字首:

String value = prefs.getString("flutter."+key, null);


 类似资料:
  • 问题内容: 我在这个.java文件中有一个SharedPreference;在底部,您可以看到我将值保存到SharedPreferences GB_PREFERENCES_BENCH和GB_PREFERENCES_FLIES。如何在其他活动中使用这些值?请参阅第二个代码示例以了解如何使用它。 这是我要使用的方式;(特别是在on create方法中,将TextView的文本设置为SharePrefe

  • 对于下面的代码,我正在尝试检索共享的首选项,我认为它保存正确,但当我回到登录屏幕时,所有的数据都消失了。我需要它留在我回到这个屏幕上。所以我在个人资料页面上输入姓名、年龄和id到三个单独的行中。然后按下save按钮,然后按下action Bar上的back转到前面的页面。当我回到个人资料页面时,我的信息应该还在那里,但它没有任何帮助?

  • 非常感谢您的光临,我正在为学校开发一个应用程序,我遇到了另一个问题。该应用程序的主要思想是跟踪您的卡路里,我希望它能节省卡路里,所以当应用程序关闭时,它仍然会记住他们。我已经忙了一段时间了,现在尝试使用SavedPreferences,但我总是出现错误。我希望有人能帮我。 } 我可能做了很多明显的愚蠢的事情,但我真的弄不明白。 多谢!

  • 更新崩溃日志:

  • 我正在使用共享首选项为我的应用程序存储某些值。我想看看我的手机上实际存储信息的文件。我在Eclipse上找到了很多实现这一点的方法,但我正在Android Studio上调试。我的手机有根了。我读到拥有root访问权限对读取这些类型的文件很重要。如果没有办法,那么我将查找如何通过我的程序访问信息,然后输出到日志猫。希望,虽然,我可以直接在电话上查看文件,因为它要简单得多。多谢了。

  • 你好,我正在尝试保存一个共享首选项的主题。当用户点击某个主题的按钮时,我希望该主题被设置为默认并保存,所以当他们重新打开应用程序时,它仍然是那个新主题。

  • 问题内容: 如何确保UTF8用于共享首选项菜单?我有一个android偏好设置菜单,除其他外,该菜单允许用户设置其名称。 我需要知道如何将共享首选项中存储的数据转换为UTF8格式 在res / xml文件夹中一个名为settings的文件中,首选项菜单使用utf8编码以xml布局,如下所示: 处理这个的类是 我假设该设置 将确保文本将以UTF8格式编码,但这并非总是如此。我正在获得各种格式的价值。

  • 我的首选项活动显示了几个列表首选项。在启动此活动的类中,我监听SharedReferences上的任何更改,并使用getString(String键,String默认值)获取所选选项。 当我检索这个字符串时,我需要根据它是什么字符串执行某些操作。但是,我该如何使用字符串呢。如果是int,我可以使用switch case,但是我该怎么处理字符串呢? 除了使用if-else和String还有其他方法吗