0
点赞
收藏
分享

微信扫一扫

Android获取Flutter使用shared_prefences保存的信息

陆佃 2021-09-28 阅读 39

1. 查看shared_preferences安卓端的源代码

通过shared_preferences: “0.5.7”源代码可以知道,Flutter使用了channel将信息保存在SharedPreferences的文件中,shared_preferences在Android端保存的文件名为FlutterSharedPreferences 。

2.在Android端写代码进行查询FlutterSharedPreferences里面的数据

Flutter保存数据的代码如下:
下面保存一个key为cookie的字符串(把cookie保存着sp中)

 SharedPreferences sp = await SharedPreferences.getInstance();
sp.setString("cookie", res.headers['set-cookie']);

3.Android端获取数据

代码如下:

String SHARED_PREFERENCES_NAME = "FlutterSharedPreferences";
SharedPreferences sp = getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
String cookie = sp.getString("cookie","");

运行代码时发现获取的cookie一直为空,明明写的都对,按道理不应该为空的!!!

4.打开Android Studio的Device File Explorer直接查看保存的xml文件

发现shared_preferences在保存数据的时候在KEY的前面都加了一个flutter.,所以把代码改成如下:

String SHARED_PREFERENCES_NAME = “FlutterSharedPreferences”;
SharedPreferences sp = getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
String cookie = sp.getString(“flutter.cookie”,””);
举报

相关推荐

0 条评论