Android에서 세션 전반에 걸쳐 유지하려는 정보가 있으면 SharedPreferences를 사용하거나 SQLite 데이터베이스를 만들거나 장치에 파일을 쓰고 나중에 읽을 수 있다는 것을 알고 있습니다.
Flutter를 사용하여 이와 같은 데이터를 저장하고 복원하는 방법이 있습니까? 아니면 서비스 예제 와 같이 Android 및 iOS 용 장치 별 코드를 작성해야 합니까?
답변:
몇 가지 옵션이 있습니다.
나중에 참조하고 싶은 작은 값을 저장하려는 상황에있는 경우. 그런 다음 shared_preferences를 사용하여 데이터를 키-값 데이터로 저장해야합니다.
하지만 대용량 데이터를 저장하려면 SQLITE를 사용해야합니다.
그러나 언제든지 오프라인에서 사용할 수있는 firebase 데이터베이스를 사용할 수 있습니다.
로컬 스토리지에 대해 이야기하고 있으므로 항상 디스크에 파일을 읽고 쓸 수 있습니다.
기타 솔루션 :
sqflite
전화에만 저장합니다. firebase
백엔드에서 쿼리를 수행 할 수있는 중앙 데이터베이스에 동기화됩니다. 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_preferences
pubspec.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를 사용할 수 있습니다. 구글이 제공하는 탄탄한 서비스입니다.