[flutter] shared_preferences 를 사용하여 사용자가 참여한 그룹 목록을 저장하는 방법은 무엇인가요?
  1. shared_preferences 패키지 추가하기 먼저, pubspec.yaml 파일에 shared_preferences 패키지를 추가해야 합니다.
dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.6
  1. SharedPreference 인스턴스 생성하기 사용자가 참여한 그룹 목록을 저장할 때 shared_preferences를 사용하기 위해 SharedPreference 인스턴스를 생성해야 합니다. 이는 앱 전체에서 사용할 수 있는 싱글톤 인스턴스입니다.
import 'package:shared_preferences/shared_preferences.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  SharedPreferences prefs = await SharedPreferences.getInstance();
  runApp(MyApp(prefs));
}

class MyApp extends StatelessWidget {
  final SharedPreferences prefs;

  MyApp(this.prefs);

  @override
  Widget build(BuildContext context) {
    // 앱 시작 시, prefs 인스턴스를 MyApp으로 전달합니다.
    return MaterialApp(
      home: MyHomePage(prefs),
    );
  }
}
  1. 그룹 목록 저장하기 사용자가 그룹에 참여할 때마다 그룹 목록을 저장해야 합니다. 저장할 때는 List 형태로 저장할 수 있습니다. 아래 코드는 그룹 목록에 새로운 그룹을 추가하는 예시입니다.
void addGroup(String groupName, SharedPreferences prefs) {
  List<String> groupList = prefs.getStringList('group_list');
  if (groupList == null) {
    groupList = [];
  }
  groupList.add(groupName);
  prefs.setStringList('group_list', groupList);
}
  1. 그룹 목록 불러오기 저장된 그룹 목록을 불러오기 위해서는 getStringList 메서드를 사용합니다. 이 메서드는 저장된 값이 없을 경우 null을 반환합니다.
List<String> getGroupList(SharedPreferences prefs) {
  return prefs.getStringList('group_list');
}
  1. 예시 사용법 아래는 저장된 그룹 목록을 출력하는 예시입니다.
void printGroupList(SharedPreferences prefs) {
  List<String> groupList = getGroupList(prefs);
  if (groupList != null) {
    for (String groupName in groupList) {
      print(groupName);
    }
  }
}

이제 shared_preferences를 사용하여 사용자가 참여한 그룹 목록을 저장할 수 있습니다. 이 방법을 활용하여 그룹 목록을 저장하고 가져오는 등 다양한 용도로 사용할 수 있습니다.

참고: shared_preferences 패키지 문서