[flutter] get_storage를 이용하여 플러터 앱에서 사용자가 선택한 테마 색상을 저장하는 방법을 알려주세요.

이번 포스트에서는 get_storage 패키지를 사용하여 플러터 앱에서 사용자가 선택한 테마 색상을 저장하는 방법에 대해 알아보겠습니다.

get_storage 패키지란?

get_storage는 플러터에서 간단하게 로컬 데이터를 저장하고 관리할 수 있는 패키지입니다. 이 패키지를 사용하면 간편하게 사용자 설정, 테마 색상, 로컬 캐시 등을 저장할 수 있습니다.

사용자 선택한 테마 색상 저장하기

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

dependencies:
  get_storage: ^2.0.3

다음으로, main.dart 파일에서 아래와 같이 GetStorage를 초기화합니다.

import 'package:flutter/material.dart';
import 'package:get_storage/get_storage.dart';

void main() async {
  await GetStorage.init();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Theme Color',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
        // 사용자가 저장한 테마 색상을 불러옵니다.
        primaryColor: Color(int.parse(GetStorage().read('themeColor') ?? '0xFF2196F3')),
      ),
      home: MyHomePage(),
    );
  }
}

마지막으로, 사용자가 테마 색상을 변경할 때마다 해당 색상을 저장합니다.

// 사용자가 색상을 선택하고 저장하는 부분
void _saveThemeColor(Color color) {
  GetStorage().write('themeColor', color.value.toString());
}

이렇게 하면 사용자가 선택한 테마 색상이 로컬에 저장되고, 앱을 다시 시작해도 해당 색상이 유지됩니다.

마무리

이렇게 get_storage를 사용하여 플러터 앱에서 사용자가 선택한 테마 색상을 저장하는 방법에 대해 알아보았습니다. 이를 통해 사용자가 맞춤 설정한 테마 색상을 계속 유지할 수 있게 되었습니다.

더 많은 기능을 사용해보고 싶다면 get_storage 공식 문서를 참고하시기 바랍니다.