[flutter] shared_preferences를 사용하여 앱에서 사용자가 입력한 검색 기록을 삭제하는 방법은?

어플리케이션에서 사용자의 검색 기록을 관리하고 싶을 때, shared_preferences 패키지를 사용하여 데이터를 저장하고, 삭제하는 것이 유용합니다. 이 튜토리얼에서는 Flutter에서 shared_preferences를 사용하여 사용자의 입력 검색 기록을 삭제하는 방법을 알아봅니다.

shared_preferences란?

shared_preferences는 간단한 key-value 형태의 로컬 데이터를 안드로이드와 iOS의 SharedPreferences에 저장할 수 있도록 해주는 Flutter 패키지입니다.

사용자의 입력 검색 기록 삭제하기

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

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.8

이제 패키지를 가져와서 입력 검색 기록을 삭제하는 함수를 만들어보겠습니다:

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

class SearchHistoryManager {
  static const _searchHistoryKey = 'searchHistory';

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

  static Future<void clearSearchHistory() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    prefs.remove(_searchHistoryKey);
  }
}

위 코드에서 SearchHistoryManager 클래스에는 getSearchHistoryclearSearchHistory 두 가지 함수가 있습니다. getSearchHistory 함수는 사용자의 검색 기록을 가져오고, clearSearchHistory 함수는 검색 기록을 삭제합니다.

이제, 삭제 버튼이 있는 화면을 구성하여 clearSearchHistory 함수를 호출하면 해당 검색 기록들이 삭제됩니다:

FlatButton(
  onPressed: () {
    SearchHistoryManager.clearSearchHistory();
    // 추가적인 상태 업데이트나 다른 동작 수행
  },
  child: Text('검색 기록 삭제'),
),

이와 같이 shared_preferences 패키지를 사용하여 Flutter 어플리케이션에서 사용자의 입력 검색 기록을 삭제할 수 있습니다.

더 자세한 내용은 shared_preferences 패키지 문서를 참고하세요.