[flutter] shared_preferences를 활용하여 사용자가 앱에서 마지막으로 읽은 게시물을 초기화하는 방법은?

앱의 사용자가 마지막으로 읽은 게시물을 저장하고, 나중에 다시 읽을 수 있도록 하는 것은 중요한 기능입니다. Flutter 앱에서는 shared_preferences 패키지를 사용하여 이를 구현할 수 있습니다. 이 패키지는 앱 데이터를 안전하게 저장하고 관리할 수 있게 해줍니다.

1. shared_preferences 패키지 추가하기

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

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.6

이후 터미널에서 flutter pub get 명령어를 실행하여 패키지를 다운로드합니다.

2. 마지막으로 읽은 게시물 저장하기

다음으로, 사용자가 마지막으로 읽은 게시물을 저장하는 코드를 작성합니다.

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

class LastReadPostScreen extends StatelessWidget {
  final int postId;

  LastReadPostScreen(this.postId);

  Future<void> saveLastReadPost(int postId) async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    await prefs.setInt('lastReadPost', postId);
  }

  @override
  Widget build(BuildContext context) {
    // 게시물 화면 구현
  }
}

위 코드에서 saveLastReadPost 함수는 사용자가 마지막으로 읽은 게시물의 ID를 저장하는 역할을 합니다.

3. 초기화 버튼 추가하기

마지막으로, 초기화 버튼을 추가하여 사용자가 마지막으로 읽은 게시물을 초기화할 수 있도록 합니다.

ElevatedButton(
  onPressed: () {
    clearLastReadPost();
  },
  child: Text('마지막으로 읽은 게시물 초기화'),
)

버튼이 클릭됐을 때 호출되는 clearLastReadPost 함수를 구현합니다.

Future<void> clearLastReadPost() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  await prefs.remove('lastReadPost');
}

결론

이제 사용자가 마지막으로 읽은 게시물을 초기화할 수 있는 버튼을 만들었습니다. 이를 통해 사용자 경험을 향상시키고, 앱의 유용성을 향상시킬 수 있게 됩니다.

위 방법은 사용자가 마지막으로 읽은 게시물을 초기화하는 간단한 예시이며, 실제 앱에 적용할 때에는 추가적인 예외 처리나 보안 고려사항을 고려해야 합니다.