기획자의 앱 도전기 #5 - 로컬 저장

2025. 8. 31. 20:32·개발/[Flutter]

앱을 만드려고 할 때, 데이터를 저장해야 하지만 DB를 쓸 생각은 아직 없다.
(API도 만들어야 하고... 비용도 많이 나가고...)

 

그럼 어떤 방법이 있을까 하다가 shared_preferences라는 패키지가 있었다.

 

1️⃣ shared_preferences 패키지

shared_preferences 패키지란, 주로 사용자가 설정한 값, 앱 상태, 간단한 캐시 데이터 등을 로컬에 저장할 때 사용된다.

흔히 로그인 상태나 테마, 설정 값을 저장하는 데 많이 사용하는 패키지라고 한다.

 

단점이라고 하면, 로컬에 저장하다보니 앱을 삭제하면 데이터도 함께 삭제된다는 것이다.

 

 

2️⃣ shared_preferences 패키지 사용준비

1. 먼저 pubspec.yaml에 dependencies를 추가하고 터미널에 "flutter pub get"을 명령한다.

dependencies:
  shared_preferences: ^2.2.0 //사용할 버전 기입

 

 

2. 설치가 되었다면 사용할 dart 파일에서 import 시킨다.

import 'package:shared_preferences/shared_preferences.dart';

 

여기까지 빨간 줄 없이 되었다면 문제 없이 사용이 가능하다.

 

3️⃣ shared_preferences 패키지 설명

먼저, 데이터를 핸들링할 때 흔히들 말하는 CRUD에 대해서 설명하겠다.

Create, Read, Update, Delete의 앞 문자만 따서 만든 용어라 해야하나... 여튼 크게 이 4가지 동작으로 데이터는 핸들링 된다.

그럼 Shared_preferences 에서 CRUD를 하는 함수를 알아보자.

 

우선 인스턴스를 받아오자.

final prefs = await SharedPreferences.getInstance();
구분 함수
Create, Update prefs.setString(String key, String value )
prefs.setInt(String key, int value )
prefs.setBool(String key, bool value)
prefs.setStringList(String key, List<String> value)
Read prefs.getString(String key, String value )
prefs.getInt(String key, int value )
prefs.getBool(String key, bool value)
prefs.getStringList(String key, List value)
Delete prefs.remove(String key) : 특정 키 값 삭제
prefs.clear() : 모든 데이터 삭제

 

이걸 이용해서 간단한 메모장 앱 화면을 구성해보았다.

결과는 재밌당.

 

4️⃣ 마무리

이제 어느정도 구성은 알겠으니까, 어떤 앱을 만들지 상위 기획을 해야할 듯하다.

언제나 똑같지만 상위 기획을 하는 과정은 너무 귀찮다.

'개발 > [Flutter]' 카테고리의 다른 글

기획자의 앱 도전기 #6 - 바텀시트 만들기  (0) 2025.09.28
기획자의 앱 도전기 #4 - 화면 이동  (2) 2025.08.17
기획자의 앱 도전기 #3 - Flutter UI 구조 이해하기  (1) 2025.07.20
기획자의 앱 도전기 #2 - Flutter 기본 구성 요소  (0) 2025.07.06
기획자의 앱 도전기 #1 – Flutter 환경 세팅부터 시작!  (0) 2025.06.21
'개발/[Flutter]' 카테고리의 다른 글
  • 기획자의 앱 도전기 #6 - 바텀시트 만들기
  • 기획자의 앱 도전기 #4 - 화면 이동
  • 기획자의 앱 도전기 #3 - Flutter UI 구조 이해하기
  • 기획자의 앱 도전기 #2 - Flutter 기본 구성 요소
Lee-jam
Lee-jam
나는 분명 기획자인데 왜 개발 공부를 하고 있는걸까...
  • Lee-jam
    JamiUp는 사회생활
    Lee-jam
  • 전체
    오늘
    어제
    • 분류 전체보기 (47)
      • 기획 (17)
        • 개념 (5)
        • 인사이트 (9)
        • Figma (1)
      • 개발 (9)
        • [Python] (3)
        • [Flutter] (6)
      • 데이터 분석 (2)
      • 제로베이스 (11)
        • 스터디노트 (11)
      • 회사에서 살아남기 (2)
      • [정보처리기사] (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    데이터 분석
    이직
    세균무기가 알려주는 서비스 기획의 모든 것
    플러터 공부
    답답해서 내가 뛴다
    pmf
    서비스기획
    서비스기획자
    기획자
    기획 인사이트
    Flutter
    서비스 기획자
    기획인사이트
    다섯 번째 걸음
    기획
    5주차
    제로베이스
    두번째 걸음
    기획자의 앱 도전기
    서비스 기획
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Lee-jam
기획자의 앱 도전기 #5 - 로컬 저장
상단으로

티스토리툴바