[flutter] shared_preferences 를 사용하여 사용자가 참여한 그룹 목록을 저장하는 방법은 무엇인가요?
- shared_preferences 패키지 추가하기 먼저, pubspec.yaml 파일에 shared_preferences 패키지를 추가해야 합니다.
dependencies:
flutter:
sdk: flutter
shared_preferences: ^2.0.6
- 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),
);
}
}
- 그룹 목록 저장하기
사용자가 그룹에 참여할 때마다 그룹 목록을 저장해야 합니다. 저장할 때는 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);
}
- 그룹 목록 불러오기 저장된 그룹 목록을 불러오기 위해서는 getStringList 메서드를 사용합니다. 이 메서드는 저장된 값이 없을 경우 null을 반환합니다.
List<String> getGroupList(SharedPreferences prefs) {
return prefs.getStringList('group_list');
}
- 예시 사용법 아래는 저장된 그룹 목록을 출력하는 예시입니다.
void printGroupList(SharedPreferences prefs) {
List<String> groupList = getGroupList(prefs);
if (groupList != null) {
for (String groupName in groupList) {
print(groupName);
}
}
}
이제 shared_preferences를 사용하여 사용자가 참여한 그룹 목록을 저장할 수 있습니다. 이 방법을 활용하여 그룹 목록을 저장하고 가져오는 등 다양한 용도로 사용할 수 있습니다.