如何从Java代码访问在flutter中创建的共享首选项?

时间:2019-07-12 09:08:03

标签: android flutter

我在flutter中创建了一个SharedPreferences,我想在我的项目的android native代码中使用它。我该怎么办?

5 个答案:

答案 0 :(得分:6)

将此添加到您的代码中。它将起作用。

SharedPreferences mPrefs = context.getSharedPreferences("FlutterSharedPreferences", context.MODE_PRIVATE);
String value = mPrefs.getString("flutter." + "YourSharedpreferencekey", "");

答案 1 :(得分:4)

对于这里的菜鸟,

import android.content.SharedPreferences
...
var PRIVATE_MODE = 0
val mPrefs = getSharedPreferences("FlutterSharedPreferences", PRIVATE_MODE)
mPrefs.getString("flutter." + "key", "")

答案 2 :(得分:2)

一步一步

第一颤振声部分

在这里分配一个值

Future<SharedPreferences> _prefs = SharedPreferences.getInstance();

final SharedPreferences prefs = await _prefs;
  await prefs.setString("SharedPrefKey", definition)

然后您就可以随心所欲地使用它了

String stringFromShared;

Future<SharedPreferences> _prefs = SharedPreferences.getInstance();

stringFromShared = prefs.getString("SharedPrefKey");

第二个Android部分

private SharedPreferences sharedPreferences;


sharedPreferences = getSharedPreferences("FlutterSharedPreferences", Context.MODE_PRIVATE);
    sharedPreferences.getString("flutter." + "SharedPrefKey", "");

这里的关键是前缀“ flutter”的使用。

答案 3 :(得分:1)

Dart sharedPreference使用native java code,这意味着它们使用相同的sharedPreferences,您可以通过从本地代码(Java或Kotlin)中调用sharedPreferences来访问Android中的sharedPreferences键。

答案 4 :(得分:0)

您正在寻找EventChannels

Flutter具有Event channel支持,可用于将Flutter代码与本机代码连接。

这是颤振团队如何实施此操作的官方example

articleSeamus Venass可能会对您有所帮助。

以下答案也可以帮助您。 https://stackoverflow.com/a/49308193/7652758