Android에서 데이터를 지속적으로 만들기
내 응용 프로그램에는 다음 번에 응용 프로그램을 시작할 때 사용할 수있는 몇 가지 응용 프로그램 특정 설정이 있습니다.
즉, 애플리케이션주기의 세션에서 데이터를 사용할 수 있기를 원합니다.
이것은 데이터베이스 (sqlite)를 사용하지 않고 달성 할 수 있습니까?
많은 응용 프로그램은 특정 응용 프로그램 또는 활동의 설정에서 사용자 기본 설정을 캡처하는 방법을 제공 할 수 있습니다. 이를 지원하기 위해 Android는 간단한 API 세트를 제공합니다.
기본 설정은 일반적으로 이름 값 쌍입니다. 애플리케이션의 다양한 활동에서 "공유 기본 설정"으로 저장할 수 있습니다 (현재 프로세스간에 공유 할 수 없음). 또는 특정 활동에 저장해야하는 항목 일 수 있습니다.
공유 기본 설정 : 공유 기본 설정은 응용 프로그램의 모든 구성 요소 (활동, 서비스 등)에서 사용할 수 있습니다.
활동 처리 환경 설정 : 이러한 환경 설정은 활동에서만 사용할 수 있으며 애플리케이션의 다른 구성 요소에서 사용할 수 없습니다.
공유 기본 설정 :
공유 된 기본 설정은 클래스 getSharedPreferences
메서드의 도움으로 관리됩니다 Context
. 기본 설정은 사용자 정의 파일 (1) 또는 기본 파일 (2) 일 수있는 파일에 저장됩니다.
(1) 파일 이름을 지정하려고 할 때 인스턴스를 얻는 방법은 다음과 같습니다.
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
기본 설정의 작동 모드입니다. 기본 모드이며 생성 된 파일은 호출 응용 프로그램에서만 액세스 할 수 있습니다. 지원되는 다른 두 가지 모드는 MODE_WORLD_READABLE
및 MODE_WORLD_WRITEABLE
. MODE_WORLD_READABLE
다른 응용 프로그램 에서는 생성 된 파일을 읽을 수 있지만 수정할 수는 없습니다. MODE_WORLD_WRITEABLE
다른 응용 프로그램의 경우 생성 된 파일에 대한 쓰기 권한도 있습니다.
(2) 권장되는 방법 은 파일 이름을 지정하지 않고 기본 모드로 사용하는 것입니다.
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
마지막으로 환경 설정 인스턴스가 있으면 다음은 환경 설정 에서 저장된 값 을 검색하는 방법입니다 .
int storedPreference = preferences.getInt("storedInt", 0);
기본 설정 파일 개체에 값 을 저장 하려면 SharedPreference.Editor
사용되어야합니다. 클래스 Editor
의 중첩 인터페이스입니다 SharedPreference
.
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Editor는 remove()
및 clear()
파일에서 기본 설정 값을 삭제하는 방법도 지원 합니다.
활동 기본 설정 :
공유 기본 설정은 다른 응용 프로그램 구성 요소에서 사용할 수 있습니다. 그러나 다른 구성 요소와 기본 설정을 공유 할 필요가없고 활동 개인 기본 설정을 원하는 경우. getPreferences()
활동 방법의 도움으로 그렇게 할 수 있습니다 . 이 getPreference
메서드는 getSharedPreferences()
기본 설정 파일 이름에 대한 활동 클래스 이름과 함께 메서드를 사용합니다 .
다음은 환경 설정을 가져 오는 코드입니다.
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
값을 저장하는 코드도 공유 환경 설정의 경우와 동일합니다.
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
데이터베이스에 활동 상태를 저장하는 것과 같은 다른 방법을 사용할 수도 있습니다. 참고 Android에는 android.preference
. 패키지는 애플리케이션 기본 설정 UI를 구현하는 클래스를 정의합니다.
더 많은 예제를 보려면 개발자 사이트에서 Android의 데이터 저장소 게시물을 확인하세요 .
공유 기본 설정을 사용해야합니다.
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
prefs.edit().putString("my_pref", "my_value").commit();
그리고 그것을 검색하려면 :
String value = prefs.getString("my_pref", "default Value");
이러한 기본 설정은 지속적이며 기본 설정 활동과도 통합됩니다.
참고 URL : https://stackoverflow.com/questions/3310066/making-data-persistent-in-android
'development' 카테고리의 다른 글
포인터 산술 (0) | 2020.12.11 |
---|---|
Jersey를 사용하여 전체 REST 요청 본문을 얻는 방법은 무엇입니까? (0) | 2020.12.11 |
백분율 기호 앞에 선행 공백없이 C # String.Format '{0 : p0}'사용 (0) | 2020.12.11 |
스윙 프로그램의 기본 글꼴 설정 (0) | 2020.12.11 |
Composer : 최소 안정성 수준이 다른 필수 패키지 (0) | 2020.12.11 |