본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
학교의 모든 지식. SMwiki
검색
검색
보이기
로그인
개인 도구
로그인
로그아웃한 편집자를 위한 문서
더 알아보기
기여
토론
플러터:데이터 저장(간단한 데이터)
편집하기
문서
토론
한국어
읽기
편집
원본 편집
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
편집
원본 편집
역사 보기
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
파일 올리기
문서 정보
보이기
사이드바로 이동
숨기기
Sam
(
토론
|
기여
)
님의 2025년 11월 26일 (수) 02:10 판
(
차이
)
← 이전 판
|
최신판
(
차이
) |
다음 판 →
(
차이
)
경고: 이 문서의 오래된 판을 편집하고 있습니다.
이것을 게시하면, 이 판 이후로 바뀐 모든 편집이 사라집니다.
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
{{플러터}} == 개요 == Flutter에서 화면을 이동하거나 앱을 재시작해도 데이터를 유지하려면 상태 관리와 로컬 저장 방법을 이해해야 한다. Hive는 **빠르고 강력한 로컬 데이터베이스**로, 여러 개의 데이터나 구조화된 모델을 저장하기에 적합하다. SharedPreferences보다 성능이 뛰어나고, 대량 데이터(수백~수천 개) 저장에도 안정적이다. === Hive의 특징 === * 매우 빠름 (binary 기반) * 리스트, Map, 객체까지 저장 가능 * 앱 재시작 후에도 유지됨 * 오프라인 DB 역할 수행 * iOS/Android 모두 지원 == Hive 저장 위치 == {| class="wikitable" |+ !운영체제 !설명 !비고 |- |안드로이드 |/data/data/'''<패키지명>'''/files/hive/ | * 앱만 접근 가능 * 파일 앱에서 보이지 않음 * 앱 삭제 시 데이터도 삭제됨 * 앱 종료/재부팅해도 유지됨 |- |iOS |Application/<UUID>/Documents/hive/ | * 앱 내부 전용 저장 공간 * 앱 종료 후에도 유지 * 앱 삭제 시 같이 삭제 |} == Hive로 데이터 유지하기 == 숫자, 문자열, 리스트, 객체 등 다양한 구조를 저장 가능. === 준비 === <syntaxhighlight lang="yaml"> dependencies: hive: ^2.2.3 hive_flutter: ^1.1.0 dev_dependencies: hive_generator: ^2.0.0 build_runner: ^2.4.0 </syntaxhighlight> === 초기화 === App 시작 시 Hive 초기화 필요. <syntaxhighlight lang="dart"> void main() async { WidgetsFlutterBinding.ensureInitialized(); await Hive.initFlutter(); await Hive.openBox('decibelBox'); runApp(MyApp()); } </syntaxhighlight> === 저장하기 === <syntaxhighlight lang="dart"> var box = Hive.box('decibelBox'); box.put('decibel', 85.0); </syntaxhighlight> * `'decibel'` key에 85 저장 * Hive는 binary 저장 형식이라 빠르고 안정적임 === 불러오기 === <syntaxhighlight lang="dart"> var box = Hive.box('decibelBox'); double decibel = box.get('decibel', defaultValue: 0.0); </syntaxhighlight> == 왜 Hive를 사용하는가? == === SharedPreferences 단점 === * 단순 key-value만 저장 가능 * XML 기반 → 속도 느림 * 데이터가 많아지면 성능 급격히 저하 * 구조화된 데이터 저장 어려움 === Hive 장점 === * 구조화된 데이터 저장 가능 (클래스 형태도 저장) * 수백~수천 개 데이터 저장해도 빠름 * 로컬 DB처럼 사용 가능 * 대량 데이터 + 리스트 + 정렬/삭제 필요할 때 적합 == 결론 == * 단순 앱 설정값 → SharedPreferences 가능 * 여러 개의 기록, 리스트, 구조화된 데이터 → **Hive 사용이 정답**
요약:
학교의 모든 지식. SMwiki에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
학교의 모든 지식. SMwiki:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
이 문서에 포함된 문서:
틀:플러터
(
편집
)
검색
검색
플러터:데이터 저장(간단한 데이터)
편집하기
새 주제