[Flutter] SharedPref 모듈화

fanthasium·2023년 11월 30일
0

일단은 아묻따 코드

import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shared_preferences/shared_preferences.dart';
part 'shared_preference.g.dart';

(keepAlive: true)
class SharedPref extends _$SharedPref {
  
  SharedPreferencesService build() {
    return SharedPreferencesService();
  }
}

class SharedPreferencesService {
  late SharedPreferences _prefs;

  SharedPreferencesService() {
    _init();
  }

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

  Future<void> setString(String key, String value) async {
    await _prefs.setString(key, value);
  }

  String getString(String key) {
    return _prefs.getString(key) ?? '';
  }
}

기존에 RiverPod으로 만들었던 코드를 riverPod_annotation을 사용함에 따라 변경하였다.

안드로이드 스튜디오를 할 때 SharedPref를 사용하기 위해선 context를 계속 받아와 매번의 activity마다 초기화 하여 사용했는데 그 때마다 생성되는 새로운 객체 비효율적이라 생각 돼 모듈화가 필요함을 느껴 해당형태로 구현

profile
디그다 디그다 (끙챠끙챠)

0개의 댓글