#flutter #dart
Вопрос:
Я использую flutter_secure_storage в своем приложении Flutter…
Я сохраняю данные в виде пары ключ-значение вместе с ним. Он принимает значение типа String следующим образом:
await storage.write(key: 'currentUserID', value: 'userid');
и я читаю это так:
currentUserID = (await storage.read(key: 'currentUserID'));
но currentUserID
это просто строка!
Что делать, если у меня есть список строк… есть ли какой-либо способ сохранить их все в хранилище?
То, что мне нужно, это как если бы у меня было:
List<String> listViewerBuilderString = ['a1','a2','a3']
Что мне нужно сделать, так это вызвать массив в = сохраненный массив в хранилище примерно так:
List<String> listViewerBuilderString = (await storage.read(key: 'listOfItems'));
Возможно ли это вообще? Или есть лучший способ сделать это?
Ответ №1:
Это может быть достигнуто с помощью сериализации JSON следующим образом:
void myFunction() async {
const storage = FlutterSecureStorage();
List<String> listviewerbulderstring = ['a1','a2','a3'];
await storage.write(key: 'listofitems', value: jsonEncode(listviewerbulderstring));
String? stringofitems = await storage.read(key: 'listofitems');
List<dynamic> listofitems = jsonDecode(stringofitems!);
print(listFromJson);
}