[flutter] shared_preferences 를 사용하여 사용자가 선택한 사진 앱을 저장하는 방법은 무엇인가요?

Flutter에서는 shared_preferences 패키지를 사용하여 사용자의 환경 설정과 기타 데이터를 단순하게 저장하고 검색할 수 있습니다. 이를 이용하여 사용자가 선택한 사진 앱을 저장하는 방법을 알아보겠습니다.

1. shared_preferences 패키지 추가하기

먼저 shared_preferences 패키지를 pubspec.yaml 파일에 추가해야 합니다. dependencies 섹션에 다음과 같이 추가해주세요:

dependencies:
  shared_preferences: ^2.0.8

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

2. 사용자가 선택한 사진 앱 저장하기

다음으로, 사용자가 선택한 사진 앱을 저장하기 위해 SharedPreferences 인스턴스를 생성하고 사용자가 선택한 앱을 SharedPreferences에 저장하는 코드를 작성해야 합니다. 예를 들어, SharedPreferencesselectedPhotoApp 키를 사용하여 사용자가 선택한 앱을 저장하려면 다음과 같이 할 수 있습니다:

import 'package:shared_preferences/shared_preferences.dart';

void saveSelectedPhotoApp(String selectedApp) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  await prefs.setString('selectedPhotoApp', selectedApp);
}

3. 저장된 사용자 사진 앱 불러오기

사용자가 선택한 사진 앱을 불러오기 위해서는 SharedPreferences에서 해당 값을 검색해야 합니다. 다음은 SharedPreferences에서 selectedPhotoApp 값을 불러오는 코드입니다:

import 'package:shared_preferences/shared_preferences.dart';

Future<String?> getSelectedPhotoApp() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  return prefs.getString('selectedPhotoApp');
}

위의 코드에서 getSelectedPhotoApp() 함수는 선택된 앱의 이름(String)을 반환하거나 null 값을 반환합니다.

4. 사용 예시

이제 saveSelectedPhotoApp() 함수를 사용하여 사용자가 선택한 앱을 저장하고, getSelectedPhotoApp() 함수를 사용하여 저장된 앱을 불러와서 사용할 수 있습니다. 다음은 사용 예시입니다:

void main() async {
  await saveSelectedPhotoApp('Photos');
  
  String? selectedApp = await getSelectedPhotoApp();
  print('Selected photo app: $selectedApp');
}

위의 예시에서 'Photos'는 사용자가 선택한 사진 앱의 이름입니다.

이제 selectedApp 변수에는 사용자가 선택한 앱의 이름이 저장되어 출력됩니다.

참고 자료