[flutter] 플러터 Radio의 사용자 설정 관리 기능 개발

플러터 앱을 개발할 때, 사용자가 생성한 설정을 관리하고 저장하는 기능은 매우 중요합니다. 이를 위해 플러터의 Radio 위젯을 사용하여 라디오 버튼을 통해 사용자 설정을 조절하고, 이를 영구적으로 저장하는 방법에 대해 알아봅시다.

목표

  1. 사용자가 라디오 버튼을 선택하여 설정을 조절할 수 있는 기능 구현
  2. 영구적으로 설정 정보를 저장하고 불러오는 방법 이해

사용자 설정 관리 기능 개발

라디오 버튼을 통한 설정 조절

라디오 버튼은 다중 선택이 아닌 단일 항목을 선택할 때 사용합니다. 사용자의 설정을 단일 항목으로 제한하여 선택하도록 하기 위해 라디오 버튼을 사용합니다.

int selectedValue = 1;

Radio(
  value: 1,
  groupValue: selectedValue,
  onChanged: (int? value) {
    setState(() {
      selectedValue = value!;
    });
  },
),

위 코드에서, value는 라디오 버튼의 값으로서, 각 라디오 버튼마다 유일한 값을 가져야 합니다. 사용자가 라디오 버튼을 선택할 때, onChanged 콜백이 호출되어 setState를 통해 상태를 업데이트합니다. groupValue는 선택된 라디오 버튼의 값을 나타냅니다.

설정 정보 영구 저장

사용자가 설정한 정보를 영구적으로 저장하고 불러오기 위해 shared_preferences 패키지를 사용할 수 있습니다. 이 패키지는 키-값 쌍으로 데이터를 저장하고 불러올 수 있는 간단한 API를 제공합니다.

import 'package:shared_preferences/shared_preferences.dart';

void saveUserSetting(int selectedValue) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  await prefs.setInt('user_setting', selectedValue);
}

void loadUserSetting() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  int? userSetting = prefs.getInt('user_setting');
  if (userSetting != null) {
    setState(() {
      selectedValue = userSetting;
    });
  }
}

위 코드에서, saveUserSetting 함수는 사용자의 설정 값을 저장하고, loadUserSetting 함수는 저장된 설정 값을 불러와 selectedValue를 업데이트합니다.

결론

플러터의 Radio 위젯을 사용하여 사용자 설정을 관리하고, shared_preferences 패키지를 통해 설정 정보를 영구적으로 저장하는 방법에 대해 알아보았습니다. 이러한 기능을 통해 사용자는 앱을 통해 구체적인 설정을 조절할 수 있게 되며, 설정을 언제든지 불러와 활용할 수 있습니다.