[flutter] shared_preferences 를 사용하여 사용자가 선택한 날씨 정보를 저장하는 방법은 무엇인가요?

개요

Flutter 앱을 개발할 때 사용자가 선택한 설정 정보를 기기에 영구적으로 저장하고 싶을 수 있습니다. 이러한 경우에 shared_preferences 패키지를 사용하여 간단하게 데이터를 관리할 수 있습니다.

이 글에서는 shared_preferences 패키지를 사용하여 사용자가 선택한 날씨 정보를 저장하는 방법에 대해 알아보겠습니다.

shared_preferences 패키지 추가

먼저, pubspec.yaml 파일에 shared_preferences 패키지를 추가해야 합니다.

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.8

이미 flutter 패키지는 추가되어 있기 때문에, shared_preferences: ^2.0.8을 추가해줍니다. 그리고 터미널에서 flutter pub get 명령을 실행하여 패키지를 다운로드 받습니다.

사용자 선택한 날씨 정보 저장

  1. shared_preferences 패키지를 import 합니다.

    import 'package:shared_preferences/shared_preferences.dart';
    
  2. 사용자가 선택한 날씨 정보를 저장하는 함수를 만듭니다.

    saveWeather(String weather) async {
      SharedPreferences prefs = await SharedPreferences.getInstance();
      await prefs.setString('weather', weather);
    }
    

    위의 코드에서 weather는 사용자가 선택한 날씨 정보를 나타내는 값입니다. 이 함수를 호출하여 사용자가 날씨를 선택할 때마다 해당 정보가 저장됩니다.

  3. 저장된 날씨 정보를 불러오는 함수를 만듭니다.

    Future<String?> getWeather() async {
      SharedPreferences prefs = await SharedPreferences.getInstance();
      return prefs.getString('weather');
    }
    

    이 함수를 호출하면 저장된 날씨 정보를 가져올 수 있습니다. null일 수도 있으므로, 반환 타입을 String?로 설정했습니다.

사용 예시

void main() {
  // 날씨 정보 저장
  saveWeather('Sunny');

  // 날씨 정보 불러오기
  getWeather().then((weather) {
    print(weather); // Sunny
  });
}

위의 예시에서는 날씨 정보를 ‘Sunny’로 저장한 후, 다시 불러와 출력하고 있습니다.

결론

shared_preferences 패키지를 사용하여 Flutter 앱에서 사용자가 선택한 날씨 정보를 저장할 수 있습니다. 이를 통해 애플리케이션의 설정 정보를 영구적으로 유지할 수 있습니다.

더 자세한 내용은 shared_preferences 패키지의 공식 문서를 참고하시기 바랍니다.