반응형
FileSystem
- 앱별로 내부저장소가 패키지별로 따로 관리가 되고 있고, 아무도 접근하지 못하는 공간.
- 패키지가 지워지면 자동으로 지워진다~
- 외부저장소인데 패키지 이름과 똑같이만들면 삭제될 때 같이 저장된다.
- 똑같이 외부저장소
- 똑같이 외부저장소
내부저장소
- 이 앱만 사용하기 때문에 권한체크 안해도 됨
외부저장소
- 외부저장소는 다른 것들을 같이 건드리지 못하도록 권한체크 필수
- 사용자로 하여금 권한을 줄건지 말건지 설정해야 함
- 데이터를 지워도 외부저장소에는 데이터가 남아있다.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> // 외부저장소 권한 설정
<application android:requestLegacyExternalStorage="true"> // 이전버전 저장소 권한 설정
// 외부저장소/임의의디렉토리 생성
// => 앱을 삭제해도 데이터는 남아있다.
String dirPath = external.getAbsolutePath()+"/myApp";
// 외부저장소/android/data/앱의 패키지 명으로 디렉토리 생성
// => 앱 삭제하면 데이터가 같이 삭제된다.
String dirPath = external.getAbsolutePath();
exam1
- 권한 체크는 액티비티
- 저장버튼을 눌렀을때
- 권한 이 설정 된 경우 : Toast("권한설정 완료");
- 권한 이 설정안된 경우 : Toast("권한설정하세요");
exam2
아래와 같이 단순한 형식의 메모장을 작성하세요.
레이아웃 - 버튼 세 개와 EditText(종류는 디자인 창에서 적절한 것을 찾아서 하세요)
기능 1 : Write와 Read기능을 구현하세요.
모두 외부저장소에서 액세스 하도록 구현하세요
BufferedReader와 FileWriter를 이용하세요
EditText에 입력한 파일을 외부 저장소 디렉토리에 /mynote라는 폴더를
만들고 오늘날짜_memo.txt로 저장하세요
ex) 4월10일 -> 20200410_memo.txt
기능 2 : 퍼미션에 대한 처리를 하세요
- READ / WRITE에 대한 퍼미션을 모두 한 꺼번에 처리되도록 구현하세요.
20-04-11 토
안드로이드에서 데이터 저장하기
- 내 앱에 저장하는 데이터는 앱을 지우면 데이터가 삭제 => 내부저장소 사용
1. Shared & Preference
설정용
2. Sqlite
- DBHelper
데이트베이스가 업데이트 되거나, DB를 처음 생성하거나
반응형
'안드로이드 프로그래밍 > [ Android Framework ]' 카테고리의 다른 글
[ Android ] 07. 부분 화면전환을 위한 Fragment (0) | 2020.08.12 |
---|---|
[ Android ] 06. 안드로이드에서 Map(지도) 이용하기 (0) | 2020.08.12 |
[ Android ] 04. Permission 설정하기 (0) | 2020.08.12 |
[ Android ] 03. 화면전환을 위한 Intent (0) | 2020.08.12 |
[ Android ] 02. 사용자정의 adapter와 layout inflation (2) | 2020.08.11 |