Program Tip

Flutter를 사용하여 어떻게 로컬 저장소에 저장할 수 있습니까?

programtip 2020. 11. 4. 08:18
반응형

Flutter를 사용하여 어떻게 로컬 저장소에 저장할 수 있습니까?


Android에서 세션간에 정보를 유지하려는 경우 SharedPreferences를 사용하거나 SQLite 데이터베이스를 만들거나 장치에 파일을 쓰고 나중에 읽을 수 있다는 것을 알고 있습니다.

Flutter를 사용하여 이와 같은 데이터를 저장하고 복원하는 방법이 있습니까? 아니면 서비스 예제 와 같이 Android 및 iOS 용 장치 별 코드를 작성해야 합니까?


몇 가지 옵션이 있습니다.


나중에 참조하고 싶은 작은 값을 저장하려는 상황에있는 경우. 그런 다음 shared_preferences를 사용하여 데이터를 키-값 데이터로 저장해야합니다.

하지만 대용량 데이터를 저장하려면 SQLITE를 사용해야합니다.

그러나 언제든지 오프라인에서 사용할 수있는 firebase 데이터베이스를 사용할 수 있습니다.

로컬 스토리지에 대해 이야기하고 있으므로 항상 디스크에 파일을 읽고 쓸 수 있습니다.

기타 솔루션 :


Flutter의 공식 플러그인에서 공유 환경 설정사용할 수 있습니다 . https://github.com/flutter/plugins/tree/master/packages/shared_preferences

Android 용 공유 기본 설정, iOS 용 NSUserDefaults를 사용합니다.


API 토큰이나 로그인 데이터 (비밀번호가 아님)와 같은 간단한 값만 저장해야하는 경우 다음을 사용했습니다.

import 'package:shared_preferences/shared_preferences.dart';

asyncFunc() async { // Async func to handle Futures easier; or use Future.then
  SharedPreferences prefs = await SharedPreferences.getInstance();
}
...

// Set
prefs.setString('apiToken', token);

// Get
String token = prefs.getString('apiToken');

// Remove
prefs.remove('apiToken');

shared_preferencespubspec.yaml 종속성 을 추가 하는 것을 잊지 마십시오 (간격 형식 유지).

dependencies:

  shared_preferences: any

많은 양의 데이터를 로컬 저장소에 저장하려면 sqflite 라이브러리를 사용할 수 있습니다. 설정이 매우 쉽고 개인적으로 일부 테스트 프로젝트에 사용했으며 잘 작동합니다.

https://github.com/tekartik/sqflite 튜토리얼-https: //proandroiddev.com/flutter-bookshelf-app-part-2-personal-notes-and-database-integration-a3b47a84c57

클라우드에 데이터를 저장하려면 firebase를 사용할 수 있습니다. 구글이 제공하는 탄탄한 서비스입니다.

https://firebase.google.com/docs/flutter/setup

참고 URL : https://stackoverflow.com/questions/41369633/how-can-i-save-to-local-storage-using-flutter

반응형