list - Flutter - 如何将 List<Uint8List> 放入共享首选项?

标签 list flutter dart sharedpreferences uint8list

我有一个 Unit8List 列表,其中存储了多个图像的数据。我想与其他事件共享列表,以便其他事件可以使用该列表来显示图像。那么如何使用 SharedPreferences 进行分享?或者有什么方法可以用来传递具有 Unit8List 对象的列表?

最佳答案

您可以使用以下代码将您的 Uint8List 本质上“转换”为 String,然后可以轻松地将其存储在 SharedPreferencessetString SharePreferences 类的方法:

String s = String.fromCharCodes(inputAsUint8List);

然后转换回来

var outputAsUint8List = Uint8List.fromList(s.codeUnits);

归功于 Günter Zöchbauer用于字符串转换。

或者(正如 Richard Heap 建议的那样),您可以使用 base64 对您的数据进行编码

String s = base64.encode(inputAsList);

dart:convert 库中以提高安全性,尽管这会增加用于存储字符串的空间量。

关于list - Flutter - 如何将 List<Uint8List> 放入共享首选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63019132/

相关文章:

c# - 如何循环遍历列表的一部分而另一部分保持不变

python - 使用列表理解将元组解包到函数中

flutter - 我怎样才能在两个子列之间居中一个小部件?

flutter - 如何知道返回值是否是 future

python - 追加到行/列长度未知的 python 中的二维列表

string - 在 MATLAB 中,您可以将字符串视为列表中的一个对象吗?

android - 如何解决无效的 keystore 格式?

android - 是否可以在 Flutter 中创建自定义快速设置磁贴?

flutter :检查列表中是否已存在对象

firebase - flutter :[cloud_firestore/unknown] NoSuchMethodError: invalid member on null: 'includeMetadataChanges' (Flutter Web)