1

我对 Flutter 很陌生,目前,我正在编写一个应用程序,该应用程序需要将键值对存储到磁盘并在每次应用程序打开时读取它。

我基于this document,使用共享首选项包,它工作正常。但是,调试并不容易,我习惯了web开发,和类似的想法,localStorage可以使用几乎任何浏览器(例如Chrome)在运行时轻松访问和编辑,这个特性使得开发和调试变得容易。

所以我的问题是,在 Flutter 开发中是否存在一些等价物,我可以轻松地编辑共享偏好存储?最需要的功能之一是清除共享存储中的所有内容,这样我就可以重复运行一个干净的程序并调试.

现在我只能通过编写类似的功能代码preferences.clear()并运行一次来​​做到这一点,这很痛苦。

我正在使用 VSCode + Android AVD 进行 Flutter 开发。

谢谢!

4

2 回答 2

0

所以我的问题是,在 Flutter 开发中是否存在一些等价物,我可以轻松地编辑共享偏好存储?

是的,您可以通过设置的键编辑SharedPreferences值,

prefs.Set{anytype}(key,value); // will be used to set and update if key not found it will create else if found it will update to the same key.
updateSharedKeyVal(String prefKey, String prefValue) async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    prefs.setString(prefKey, prefValue);
    // you can save or set value to persistent storage in the background
    //prefs.setInt(prefKey, prefValue);
    //prefs.setBool(prefKey, prefValue);
    //prefs.setDouble(prefKey, prefValue);
}

updateSharedKeyVal("my_key_name","my_updated_value");

To Clear,

clearSharedPreference() async {
   SharedPreferences prefs = await SharedPreferences.getInstance();
   prefs.clear();
}
于 2021-12-22T05:45:51.000 回答
0

我找到了一种解决方法,直接修改Android虚拟机中的文件:转到Android View -> Tool Windows -> device file explorer。

在这里,您将看到虚拟电话设备上的所有文件。

导航到您的应用程序文件夹,通常位于 data/data/com.example.yourprojectname

在 shared_prefs 文件夹中,有一个 XML 文件包含所有本地键值对,您可以直接修改它,也可以在这里删除它。

PS:在现阶段,如果 Flutter 应用有大量基于本地(SQLite 和共享偏好)的功能,Android Studio 是一个比 VSCode 更好的开发工具,可以更好地检查虚拟设备。

于 2021-12-23T06:04:31.123 回答