У меня есть приложение, которое воспроизводит звук. Есть список звуков, и я показываю его в списке. Таким образом, пользователь может щелкнуть список и воспроизвести звук. И я добавил раздел «Избранное». И это работает нормально. Но когда пользователь закрывает приложение, оно исчезает. Я пытался использовать SharedPrefences, но мне это не удалось. Потому что мне нужно сохранить весь список, и я не знаю, как это сделать.
Когда я закрываю приложение, весь мой список «избранного» исчезает.
Я просто поделюсь всеми кодами для лучшего понимания:
Вот объяснение с картинками:
Поскольку список сохраненных песен представляет собой список строк, вы можете использовать метод setStringList() из SharedPrefences. Если вы хотите сохранить список, используйте:
final prefs = await SharedPreferences.getInstance();
await prefs.setStringList('savedSounds', savedSounds);
Затем, когда приложение запускается, вы загружаете песни, используя:
final prefs = await SharedPreferences.getInstance();
savedSounds = prefs.getStringList('savedSounds') ?? [];
Затем вы можете использовать цикл for, чтобы также получить сохраненные индексы, хотя я бы рекомендовал вам попробовать использовать только один список сохраненных песен.
for(int i = 0; i < savedSounds.length; i++){
if(soundList[i] == savedSounds[i]){
savedIndex.add(i.toString());
}
}
Вы можете использовать пакет SQFlite для локального хранения элементов списка. Вот пакет: https://pub.dev/packages/sqflite