[flutter] shared_preferences를 통해 앱에서 사용자가 입력한 검색 기록을 저장하는 방법은?

Flutter 앱에서 사용자가 입력한 검색 기록을 저장하고 나중에 해당 기록을 검색 기능에 사용할 수 있는 방법을 알아보겠습니다. shared_preferences 패키지를 사용하여 간단하게 이를 구현할 수 있습니다.

1. shared_preferences 패키지 추가

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

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.8

그리고 패키지를 가져와서 사용할 Dart 파일에 import를 추가합니다.

import 'package:shared_preferences/shared_preferences.dart';

2. 검색 기록 저장하기

사용자가 검색한 내용을 입력할 때마다, shared_preferences를 사용하여 해당 내용을 저장합니다.

void saveSearchHistory(String query) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  List<String> history = prefs.getStringList('searchHistory') ?? [];
  history.add(query);
  prefs.setStringList('searchHistory', history);
}

위 코드에서 saveSearchHistory 함수는 사용자가 입력한 검색어를 SharedPreferences에 저장하는 방법을 보여줍니다. 기존 검색 기록 목록을 가져와 새로운 검색어를 추가한 후, 다시 저장하는 방식입니다.

3. 검색 기록 불러오기

검색 기록을 불러와서 화면에 표시하는 방법은 다음과 같습니다.

Future<List<String>> getSearchHistory() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  return prefs.getStringList('searchHistory') ?? [];
}

위 코드는 SharedPreferences에서 저장된 검색 기록을 불러오는 함수로, getSearchHistory 함수를 통해 저장된 검색 기록을 가져올 수 있습니다.

마무리

이제 Flutter 앱에서 사용자의 검색 기록을 shared_preferences를 통해 저장하고 불러오는 방법을 알아보았습니다. 이를 응용하여 사용자 경험을 개선하고 다양한 기능을 구현할 수 있을 것입니다.

참고 문헌: shared_preferences Documentation

이제 사용자의 검색 기록을 쉽게 저장하고, 나중에 활용할 수 있을 것입니다. 추가로 필요한 기능이나 확장은 이 예시를 활용하여 구현할 수 있습니다.