[Android API 학습] 데이터 스토리 지 막 번역 (1)

원문 은 찾 아 보 세 요. http://developer.android.com.nyud.net/guide/topics/data/data-storage.html
 
데이터 저장 (데이터 저장)
Android 는 지속 적 인 응용 데 이 터 를 저장 하기 위해 여러 가지 선택 할 수 있 는 방법 을 제공 합 니 다.특정한 수 요 를 바탕 으로 해결 방안 을 선택 할 수 있 습 니 다. 예 를 들 어 데이터 가 개인 적 인 것 인지, 아니면 다른 응용 프로그램 (사용자 와) 에 공 개 된 것 인지, 그리고 데 이 터 를 저장 하 는 데 얼마나 큰 공간 이 필요 한 지 등 입 니 다.
 
선택 한 데이터 저장 방식 은 다음 과 같 습 니 다.
Shared Preferences
   공유 선 호
'키 - 값 쌍' 의 형식 으로 개인 적 인 기초 데 이 터 를 저장 합 니 다. 
Internal Storage
  내부 기억 장치
개인 데 이 터 를 장치 메모리 에 저장 하 다.
External Storage
  외부 기억 장치
공유 하 는 외부 메모리 에 공유 데 이 터 를 저장 합 니 다.
SQLite Databases
  SQLite 데이터베이스
개인 데이터베이스 로 구조 화 된 데 이 터 를 저장 하 다.
Network Connection
  네트워크 연결
자신의 서버 를 통 해 데 이 터 를 네트워크 에 저장 하 세 요.
Android 는 다른 프로그램 에 개인 데 이 터 를 노출 하 는 경 로 를 제공 합 니 다.
content provider 。콘 텐 츠 provider 는 프로그램 데 이 터 를 노출 하 는 read / write 인 터 페 이 스 를 선택 할 수 있 는 구성 요소 입 니 다. 도입 가능 한 모든 약속 을 따 릅 니 다.콘 텐 츠 provider 사용 에 대한 더 많은 정 보 는 찾 아 보 세 요.
Content Providers 문서
공유 환경 설정 사용 (공유 환경 설정 사용)
SharedPreferences 클래스 는 '키 - 값 쌍' 형식 으로 지속 적 인 기본 데 이 터 를 저장 하고 얻 을 수 있 도록 일반적인 프레임 워 크 를 제공 합 니 다.사용 할 수 있 습 니 다.
SharedPreferences 모든 기본 데 이 터 를 저장 합 니 다: boolean, float, int, long 과 String.이 데 이 터 는 크로스 사용자 대화 (프로그램 이 죽 더 라 도) 에 저 장 됩 니 다.
User Preferences
Shared preferences are not strictly for saving "user preferences," such as what ringtone a user has chosen. If you're interested in creating user preferences for your application, see PreferenceActivity , which provides an Activity framework for you to create user preferences, which will be automatically persisted (using shared preferences).
  애플 리 케 이 션 을 가 져 오 려 면
SharedPreference 대상 은 다음 과 같은 두 함수 중 하 나 를 사용 합 니 다.
getSharedPreferences() - 이름 으로 인식 할 선 호 하 는 파일 이 여러 개 필요 하 다 면 이 함 수 를 사용 하 십시오. 이름 은 첫 번 째 매개 변 수 를 통 해 설정 하 십시오.
getPreferences() - 만약 당신 의 Activity 가 선 호 하 는 파일 만 필요 하 다 면 이 함 수 를 사용 하 십시오.이것 은 당신 의 Activity 만 의 선 호 파일 이기 때문에 파일 이름 을 제공 할 필요 가 없습니다. 
 
기록 값:
1. edit() 함 수 를 호출 하여 SharedPreferences.Editor 대상 을 얻 습 니 다.
2. putBoolean(), putString() 등 함수 로 수 치 를 추가 합 니 다.
3. commit() 함 수 를 통 해 작업 을 제출 하고 확인 합 니 다.
  수치 읽 기, 사용
SharedPreferences 중의
getBoolean()
getString() 등 함수.
  이것 은 하나의 예 입 니 다. 계산기 의 버튼 음소 거 모드 에 선 호 하 는 것 을 저장 합 니 다.
public class Calc extends Activity {

	public static final String PREFS_NAME = "MyPrefsFile";

	@Override
	protected void onCreate(Bundle state) {
		super.onCreate(state);
		 . . .
		// Restore preferences
		SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
		boolean silent = settings.getBoolean("silentMode", false);
		setSilent(silent);
	}

	@Override
	protected void onStop() {
		super.onStop();
		// We need an Editor object to make preference changes.
		// All objects are from android.context.Context
		SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
		SharedPreferences.Editor editor = settings.edit();
		editor.putBoolean("silentMode", mSilentMode);
		// Commit the edits!
		editor.commit();
	}
}

내부 메모리 (Using the Internal Storage) 를 사용 하면 장치 의 내부 메모리 에 파일 을 직접 저장 할 수 있 습 니 다.기본적으로 내부 메모리 에 저 장 된 파일 은 응용 프로그램 에 개인 적 이 고 다른 응용 프로그램 에 접근 할 수 없습니다 (사용자 도 안 됩 니 다).사용자 가 응용 프로그램 을 마 운 트 해제 하면 이 파일 들 은 삭 제 됩 니 다.
  내부 메모리 에 개인 파일 을 만 들 고 기록 하려 면:
1. 파일 이름과 처리 모드 를 통 해 함수 호출 openFileOutput().돌아 온 것 은 대상 FileOutputStream 이다.
2. write() 함 수 를 사용 하여 파일 을 기록 합 니 다.
3. close() 함 수 를 사용 하여 흐름 을 닫 습 니 다.
 
For example:
String FILENAME = "hello_file";
String string = "hello world!";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close(); 

MODE_PRIVATE 파일 을 만 들 고 개인 적 으로 사용 할 것 입 니 다.다른 사용 가능 한 모드 는:
MODE_APPENDMODE_WORLD_READABLE MODE_WORLD_WRITEABLE
  내부 메모리 에서 파일 을 읽 으 려 면:
1. openFileInput() 함 수 를 호출 하고 파일 이름 을 전달 하여 읽 습 니 다.돌아 온 것 은 대상 FileInputStream 이다.
2. read() 함수 로 파일 의 바 이 트 를 읽 습 니 다.
3. 그리고 close() 함 수 를 사용 하여 흐름 을 닫 습 니 다.
알림: 컴 파일 할 때 정적 파일 을 응용 프로그램 에 저장 하려 면 프로젝트 의 res / raw / 에 파일 을 저장 하 십시오.  목록 아래.openRawResource() 함 수 를 사용 하면 R. raw. < filename > 자원 ID 를 전달 할 수 있 습 니 다.이 함 수 는 파일 을 읽 을 수 있 는 InputStream 대상 을 되 돌려 줍 니 다. (원본 파일 을 고 칠 수 없습니다.)
캐 시 파일 저장 (cache 파일 저장) 영구적 으로 저장 하 는 것 이 아니 라 데 이 터 를 캐 시 하려 면 사용 해 야 합 니 다.
getCacheDir()
내부 메모리 에 임시 캐 시 파일 을 저장 하 는 디 렉 터 리 를 엽 니 다.
File
대상
 
장치 의 내부 저장 공간 이 비교적 낮 을 때 안 드 로 이 드 는 이 캐 시 파일 을 삭제 하여 공간 을 되 찾 을 수 있 습 니 다.어쨌든, 너 는 시스템 에 의존 해서 너 를 위해 이 파일 들 을 비 워 서 는 안 된다.항상 스스로 캐 시 파일 을 유지 하고 1MB 와 같은 합 리 적 인 공간 소 모 를 유지 해 야 합 니 다.사용자 가 응용 프로그램 을 마 운 트 해제 하면 이 파일 들 은 삭 제 됩 니 다.
 
기타 유용 한 함수 (Other useful methods)getFilesDir()
내부 파일 에 저 장 된 시스템 디 렉 터 리 의 절대 경 로 를 가 져 옵 니 다.getDir()
내부 메모리 공간 에 존재 하 는 디 렉 터 리 를 만 들 거나 엽 니 다.deleteFile()
내부 메모리 에 저 장 된 파일 을 삭제 합 니 다.fileList()
현재 저 장 된 파일 의 배열 을 되 돌려 줍 니 다.

좋은 웹페이지 즐겨찾기