Android에서 "애플리케이션 설정"을 수행하는 가장 좋은 방법은 무엇입니까? [닫은]
Android 애플리케이션에 대한 일부 애플리케이션 설정 (예 : API의 URL 및 테스트를위한 일부 설정)을 저장하고 싶습니다.
저는 주로 .NET 개발자로 일 app.config
하기 때문에이 목적으로 파일을 사용하는 데 익숙합니다 . Android에서이를 수행하는 좋은 방법은 무엇입니까?
많은 응용 프로그램은 특정 응용 프로그램 또는 활동의 설정에서 사용자 기본 설정을 캡처하는 방법을 제공 할 수 있습니다. 이를 지원하기 위해 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의 데이터 저장소 게시물을 확인하세요 .
참고 URL : https://stackoverflow.com/questions/3570690/whats-the-best-way-to-do-application-settings-in-android
'developer tip' 카테고리의 다른 글
SVN 저장소 하나 또는 여러 개? (0) | 2020.08.13 |
---|---|
Ember.js 애플리케이션을 설계하는 방법 (0) | 2020.08.13 |
Spring @Configuration 클래스 이해 (0) | 2020.08.13 |
공통 데이터 구조를 가진 오픈 소스 C 라이브러리가 있습니까? (0) | 2020.08.13 |
Angular JavaScript 코드를 디버깅하는 방법 (0) | 2020.08.13 |