반응형
지금 만들고 있는 가계부 앱에는 백업 기능이 없습니다. 해서 앱내의 sqlite 파일을 기기내로 옮겨서 백업 기능을 구현 중입니다.
처음 해보는 기능이라 개념이 잘 안잡혀서 이리저리 헤매고 있네요..
그래서 이럴 땐 가장 작은 개념부터 공부하는게 좋은 것 같습니다.
path_provider, path 패키지는 앱을 만들 때 무조건 써야 하는 패키지 중 하나 인 것 같습니다.
기기 내부의 데이터 위치와 여러 편의 기능을 제공 해줍니다.
path_provider
- 애플리케이션 문서 디렉터리 액세스: getApplicationDocumentsDirectory() 함수를 사용하여 앱의 문서 디렉터리 경로에 액세스할 수 있습니다. 이 디렉터리에는 앱에서 생성된 사용자 데이터 및 파일이 포함됩니다. 예를 들어 데이터베이스 파일이나 설정 파일을 여기에 저장할 수 있습니다.
- 임시 디렉터리 액세스: getTemporaryDirectory() 함수를 사용하여 임시 파일이나 캐시 파일을 저장할 임시 디렉터리의 경로에 액세스할 수 있습니다. 이 디렉터리에 저장된 파일은 앱이 종료될 때 자동으로 삭제됩니다.
- 외부 저장소 액세스: getExternalStorageDirectory() 함수를 사용하여 외부 저장소(기기의 외부 저장소 또는 SD 카드)에 액세스할 수 있는 디렉터리의 경로를 얻을 수 있습니다. Android에서만 사용할 수 있습니다.
- 캐시 디렉터리 액세스: getTemporaryDirectory() 함수와 비슷하지만 일반적으로 앱에 대한 캐시 파일을 저장하는 데 사용됩니다. 이 디렉터리에 저장된 파일은 시스템이 필요에 따라 자동으로 삭제할 수 있습니다.
path
- 경로 조작: join() 함수를 사용하여 여러 구성 요소로 경로를 조인할 수 있습니다. 이렇게 하면 플랫폼에 따라 적절한 경로 구분자가 사용됩니다.
- 경로 분석: basename(), dirname(), extension() 등의 함수를 사용하여 경로의 기본 이름, 디렉토리 이름 및 확장자를 추출할 수 있습니다.
- 상대 경로 및 절대 경로: normalize() 함수를 사용하여 상대 경로를 절대 경로로 변환할 수 있습니다.
- 플랫폼 간 호환성: separator 상수를 사용하여 플랫폼에 따라 경로 구분자를 확인할 수 있습니다.
위 두 패키지를 이용해서 현재 사용하고 있는 가계부 백업 기능을 만들었습니다.
후.. IOS 는 잘 작동하는데 안드로이드는 해당 폴더에 파일이 없다고 오류가 뜨네요 ^^;;
기기 마다 저장되는 폴더가 달라서 기기마다 코드를 다르게 짜야 하는 것 같습니다.
내일은 안드로이드를 작업해야겠습니다.
728x90
반응형
'Flutter-플러터' 카테고리의 다른 글
Flutter- Api 받아오는 방법 / 병렬과 직렬 (0) | 2024.08.19 |
---|---|
공공API 사용할 때 한글 깨짐 (0) | 2024.06.18 |
음식점 사장님 장부 앱 Test Code 3 : LinkedHasMap (1) | 2023.11.24 |
Flutter - Gap - SizedBox (0) | 2023.11.07 |
Flutter - supabase (0) | 2023.11.06 |