프레퍼런스(Preference)
- 안드로이드에서 가장 간단한 데이터 저장 기법
- 키(key)와 값(value) 형식으로 기본형 데이터의 저장과 읽기 가능
- 기본형 데이터: 부울, 정수, 실수, 문자열, 문자열 집합
-데이터 저장 절차
- getSharedPreferences()로 SharedPreferences 객체 얻음
- SharedPreferences 객체는 edit()를 호출하여 SharedPreferences.Editor 객체를 얻음
- SharedPreferences.Editor 객체는 putBoolean(), putInt(), ...를 호출하여 키와 값을 전달
- SharedPreferences.Editor 객체는 apply() 또는 commit()를 호출하여 키와 값을 저장
파일처리
-내부 저장소(Internal Storage)
- 안드로이드 기기의 내장 메모리 영역
- /data 디렉터리 내부에 존재
- /data/data/패키지명 디렉터리
- 개별 앱의 전용 공간이며 다른 앱은 물론이고 기기 사용자도 임의 접근 불가
- 사용자가 기기에서 앱을 제거하면 /data/data/패키지명 디렉터리도 자동 삭제
-내부 저장소에 파일 생성 및 데이터 저장 절차
- openFileOutput()을 호출하여 표준 자바의 FileOutputStream 객체 얻기
FileOutputStream openFileOutput(String name, int mode)
- FileOutputStream 클래스의 write() 메서드로 데이터 저장
- FileOutputStream 클래스의 close() 메서드로 스트림 닫기
-내부 저장소에 파일 열고 데이터 읽는 절차
- openFileInput()을 호출하여 표준 자바의 FileInputStream 객체 얻기
FileInputStream openFileInput(String name)
- FileInputStream 클래스의 read() 메서드로 데이터 읽기
- FileInputStream 클래스의 close() 메서드로 스트림 닫기
-내부 저장소의 파일 삭제
boolean deleteFile(String name)
-외부 저장소(External Storage)
- 내부 저장소를 제외한 사용자 데이터 저장 공간
-외부 저장소 사용 절차
<uses-permission android:name="android.permission.READ_EXTERNAL_STORGAE"/>
<uses-permission android:name="android.permission.WRTIE_EXTERNAL_STORGAE"/>
String state = Environment.getExternalStorageState();
- 외부 저장소에 파일을 생성하여 데이터 저장 혹은, 기존 파일을 열어서 데이터 읽기