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

5

我在Flutter中创建了SharedPreferences,现在想在我的项目中的Android原生代码中使用它。我该怎么做?


1
请问您能否详细解释一下? - Lakhwinder Singh
1
像这样 https://developer.android.com/training/data-storage/shared-preferences - Basi
1
请问您能否添加一些您的代码? - Hardik Chauhan
我在我的Dart文件中创建了sharedPreferences。我有一个位于主文件夹中的Java文件中的函数,它运行一个服务。我想在Android中访问那个sharedPreferences键。 - jepbura
4个回答

11
将此代码添加到您的代码中,它将起作用。
SharedPreferences mPrefs = context.getSharedPreferences("FlutterSharedPreferences", context.MODE_PRIVATE);
String value = mPrefs.getString("flutter." + "YourSharedpreferencekey", "");

7

对于新手来说,

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

3

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


3

逐步指南

第一步 Flutter 部分

这里您可以分配一个值

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

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

那么你可以在Flutter中任何需要的地方使用它。

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."


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接