Today I Learned

23년 7월 12일 TIL

jjjkh 2023. 7. 12. 21:12
Flutter의 SharedPreferences
  • 플러터 앱에서 장치(단말기)에 데이터를 로컬로 저장하는 기능을 구현합니다. 저장된 데이터를 불러오고 삭제도 가능해서 메모장과 같은 기능을 구현할 수 있습니다. 
  • Android, iOS, wed, windows 등에서 사용 가능합니다. (공식 사이트에서 확인 가능합니다.)
  • SharedPreferences는  int, double, Booleans, String, List<Strin>과 같은 단순 데이터를 저장하는데 적합하지만 필요에 따라 앞의 형식으로 변환하여 사용할 수 있습니다.
  • 데이터는 앱을 내부 저장소에 저장되기 때문에 앱을 제거하면 데이터 값은 모두 사라지게 됩니다.
SharedPreferences 사용하기
  • SharedPreferences 패키지를 추가해준다

 

  • 인스턴스 생성해준다.
SharedPreferences sp = await SharedPreferences.getInstance();

인스턴스를 생성하여 getInstance 메서드를 호출하여 인스턴스를 가져옵니다.

getInstance는 비동기식이여서 앞에 async 메소드에서 await를 사용합니다.

 

  • 데이터 쓰기
await sp.setString('testKey', 'setter test');

데이터를 쓰기 위해 데이터 타입 별로 몇 가지 setter 메소드가 있습니다. 위에서는 string 형식이기 때문에 setString을 사용했습니다.

또한 setter 계열은 비동기식이므로 await를 사용이 필요합니다.

 

  • 데이터 읽기
String testString  = sp.getString();

값을 읽기위한 getter 또한 데이터 타입별로 존재합니다. 위의 데이터 쓰기에서는 string 형식을 사용해서 데이터가 쓰여서 getString을 사용하여 불러와줍니다. getter는 비동기식이 아니므로 await가 필요없습니다.

 

  • 데이터 삭제
bool isDeleted = await sp.remove('testKey');

값을 삭제하려면 remove메서드를 사용할 수 있습니다.  이 메서드는 비동기식으로 await가 사용됩니다.

'Today I Learned' 카테고리의 다른 글

23년 7월 17일 TIL  (0) 2023.07.17
23년 7월 14일 TIL  (0) 2023.07.14
23년 7월 13일 TIL  (0) 2023.07.13
23년 7월 11일 TIL  (0) 2023.07.11
23년 7월 10일 TIL  (0) 2023.07.10