Сохраните тексты списков данных, используя flutter_secure_storage… возможно ли это?

#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);    
}