Android- 코드에서 선호도를 설정하는 방법
-
23-08-2019 - |
문제
XML 파일에 선호도가있는 Android 응용 프로그램이 있습니다. 이제 전체 선호도 화면을 표시하는 대신 코드를 사용하여 환경 설정 중 하나를 설정하고 싶습니다. 어떻게해야합니까?
해결책
나는 당신이 당신의 응용 프로그램의 선호도를 참조하고 안드로이드 폰 설정이 아닌 선호도에 따라 가정합니다.
응용 프로그램의 실행간에 환경 설정을 저장하려면 다음을 수행해야합니다.
shareedpreferences 객체를 만듭니다
SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
String N 선호도를 식별하고 두 번째 인수는 액세스 할 모드입니다.
편집기 개체를 인스턴스화합니다
SharedPreferences.Editor editor = settings.edit();
참고 : settings.editor.edit ()를 시도하지 마십시오. 이것은 지속적인 객체가 만들어지지 않으며 아래 코드는 작동하지 않습니다.
버퍼에 선호도를 작성하십시오
editor.put...(String, value)
수많은 퍼팅 함수, putstring, putboolean 등이 있습니다. 문자열은 키 ( "버전", "Good Run")이며 값은 값 ( "1.5.2", true)입니다.
버퍼를 플러시하십시오
editor.commit();
이것은 실제로 당신이 선호도에 넣는 것을 씁니다. 이 라인 앞에 앱이 충돌하면 환경 설정이 작성되지 않습니다. 문서화 된 버그도 있습니다 : Commit ()는 성공 또는 실패를 나타내는 부울을 반환해야합니다. 마지막으로 나는 항상 false를 반환했다는 점을 확인했습니다.
이러한 환경 설정은 전화에 저장되며 응용 프로그램에만 액세스 할 수 있습니다.
더 많은 문서가 있습니다 여기
다른 팁
나는 이것을 시도했지만 작동하지 않았다 :
SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
대신 시도해보십시오.
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
아래 코드를 사용하여 SharedPreferences에 무언가를 저장할 수 있습니다.
public static void save(String valueKey, String value) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(context);
SharedPreferences.Editor edit = prefs.edit();
edit.putString(valueKey, value);
edit.commit();
}
선호도를 읽으려면 :
public static String read(String valueKey, String valueDefault) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(context);
return prefs.getString(valueKey, valueDefault);
}