플러터 GetX에서 스토리지 완벽 가이드 (초보자용)

2024. 6. 7. 10:12Flutter/Flutter Programming

반응형
Flutter 앱 개발에서 스토리지 기능은 사용자 데이터를 저장하고 관리하는 데 필수적인 역할을 합니다.
GetX는 GetStorage 클래스를 제공하여 로컬 스토리지에 데이터를 간편하고 안전하게 저장하고 가져올 수 있도록 도와줍니다.

이 블로그 게시글에서는 Flutter GetX에서 스토리지를 사용하는 방법에 대해 초보자가 쉽게 이해할 수 있도록 단계별로 안내합니다.

 

1. GetStorage 기본 개념

 

GetStorage는 NoSQL 데이터베이스인 Hive를 기반으로 하는 로컬 스토리지 라이브러리입니다.

 

2. GetStorage 사용법

import 'package:get_storage/get_storage.dart';

final storage = GetStorage();

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String? userName;

  @override
  void initState() {
    super.initState();
    userName = storage.read('userName');
  }

  void saveUserName(String name) {
    storage.write('userName', name);
    setState(() {
      userName = name;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('GetStorage Example'),
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Text('User Name: $userName'),
          TextField(
            decoration: InputDecoration(labelText: 'Enter User Name'),
            onChanged: (value) {
              saveUserName(value);
            },
          ),
        ],
      ),
    );
  }
}
 

설명

  • GetStorage 인스턴스를 생성합니다.
  • read() 메서드를 사용하여 저장된 데이터를 읽습니다.
  • write() 메서드를 사용하여 데이터를 저장합니다.

3. 저장 가능한 데이터 유형

 

GetStorage는 다양한 유형의 데이터를 저장할 수 있습니다.

  • 기본 데이터 유형: int, String, bool, double 등
  • Map: 키-값 쌍으로 구성된 데이터
  • List: 데이터 목록

4. 데이터 삭제

 
storage.remove('userName');
 

5. 모든 데이터 삭제

storage.erase();
 

6. GetStorage 사용 예시

  • 사용자 설정 저장
  • 사용자 인증 정보 저장
  • 앱 캐시 저장
  • 오프라인 데이터 저장

7. GetStorage vs SharedPreferences

 

GetStorage와 SharedPreferences는 모두 로컬 스토리지에 데이터를 저장하는 데 사용되는 Flutter 라이브러리입니다.

하지만 다음과 같은 차이점이 있습니다.

  • GetStorage
    • Hive 데이터베이스를 기반으로 함
    • 동기식 및 비동기식 작업 지원
    • 다양한 데이터 유형 지원
    • 사용하기 쉽고 간편
  • SharedPreference:
    • 파일 기반 스토리지 사용
    • 동기식 작업만 지원
    • 기본 데이터 유형만 지원
    • GetStorage보다 느리고 복잡

8. 추가 정보:

9. 결론

 

GetX는 GetStorage 클래스를 통해 Flutter 앱 개발에서 로컬 스토리지를 간편하고 효율적으로 사용할 수 있도록 합니다.

초보자라도 쉽게 이해하고 사용할 수 있으며, 다양한 기능을 통해 앱의 기능을 확장하고 사용자 경험을 향상시킬 수 있습니다.

이 블로그 게시글을 통해 Flutter GetX에서 스토리지를 사용하는 방법에 대한 기본 개념과 실제 사용 예시를 이해하셨기를 바랍니다.

더 궁금한 점이나 알아보고 싶은 기능이 있다면 언제든지 댓글 남겨주세요!

 

10. 추가 자료

11. GetX 활용

 

GetX는 스토리지 외에도 다양한 기능을 제공합니다.

  • 상태 관리: Provider 패키지와 호환되는 간편하고 효율적인 상태 관리 기능을 제공합니다.
  • 라우팅 및 네비게이션: 다양한 네비게이션 스타일과 네비게이션 가드를 사용하여 앱의 라우팅 및 네비게이션을 간편하게 구현할 수 있도록 합니다.
  • Dependency injection: 앱의 코드를 더욱 모듈화하고 테스트 가능하게 하는 dependency injection 기능을 제공합니다.
  • 테마 및 언어: 앱의 테마 및 언어를 쉽게 변경할 수 있도록 합니다.

GetX는 Flutter 앱 개발에서 다양한 기능을 제공하는 강력한 도구입니다.

GetX를 사용하여 앱 개발 과정을 간소화하고 코드 품질을 향상시킬 수 있습니다.

 

수발가족을 위한 일기장 “나비일기장”

 

https://play.google.com/store/apps/details?id=com.maccrey.navi_diary_release

 

비공개테스트를 위한 20명의 테스터모집 앱 "테스터 쉐어"

 

https://play.google.com/store/apps/details?id=com.maccrey.tester_share_release

반응형