Android获取Flutter使用shared_prefenc

作者: 今日Android | 来源:发表于2020-12-01 20:21 被阅读0次

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”,””);

本文在开源项目:https://github.com/Android-Alvin/Android-LearningNotes 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...

相关文章

网友评论

    本文标题:Android获取Flutter使用shared_prefenc

    本文链接:https://www.haomeiwen.com/subject/lvfewktx.html