[flutter] shared_preferences를 사용하여 사용자가 앱에서 마지막으로 수행한 작업을 저장하는 방법은?

많은 앱에서 사용자가 마지막에 수행한 작업을 기억하고 사용자 경험을 향상시키기 위해 이 정보를 저장한다. shared_preferences 패키지를 사용하면 사용자의 로컬 디바이스에 간단한 키-값 형태의 데이터를 저장할 수 있다. 이제 Flutter 앱에서 shared_preferences 패키지를 사용하여 사용자가 앱에서 마지막으로 수행한 작업을 저장하는 방법을 알아보자.

1. shared_preferences 패키지 추가

먼저, pubspec.yaml 파일의 dependencies에 shared_preferences 패키지를 추가한다.

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.8

이제 터미널에서 flutter pub get을 실행하여 패키지를 다운로드하고 설치한다.

2. SharedPreferences 인스턴스 생성

SharedPreferences 인스턴스를 생성하고 사용자가 수행한 작업을 저장하기 위한 키를 정의한다.

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

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  late SharedPreferences _prefs;
  final String _lastActionKey = 'last_action';

  @override
  void initState() {
    super.initState();
    _initPreferences();
  }

  Future<void> _initPreferences() async {
    _prefs = await SharedPreferences.getInstance();
  }

  // 나머지 코드 작성
}

3. 사용자 작업 저장

이제 사용자가 앱에서 작업을 수행할 때마다 해당 작업을 SharedPreferences에 저장한다.

void _saveLastAction(String action) {
  _prefs.setString(_lastActionKey, action);
}

4. 저장된 작업 불러오기

앱을 다시 시작할 때, 저장된 작업을 불러와서 사용자에게 보여준다.

String _getLastAction() {
  return _prefs.getString(_lastActionKey) ?? 'No action performed yet';
}

이제 위의 단계를 따라가면서 shared_preferences 패키지를 사용하여 사용자가 앱에서 수행한 마지막 작업을 저장하고 불러올 수 있다. 이를 통해 앱의 사용자 경험을 개선할 수 있다.

참고 자료

부족한 점이 있으면 언제든지 말씀해주세요.