我有一个 Unit8List 列表,其中存储了多个图像的数据。我想与其他事件共享列表,以便其他事件可以使用该列表来显示图像。那么如何使用 SharedPreferences 进行分享?或者有什么方法可以用来传递具有 Unit8List 对象的列表?
最佳答案
您可以使用以下代码将您的 Uint8List
本质上“转换”为 String
,然后可以轻松地将其存储在 SharedPreferences
中setString
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/