문제

XML 파일에 선호도가있는 Android 응용 프로그램이 있습니다. 이제 전체 선호도 화면을 표시하는 대신 코드를 사용하여 환경 설정 중 하나를 설정하고 싶습니다. 어떻게해야합니까?

도움이 되었습니까?

해결책

나는 당신이 당신의 응용 프로그램의 선호도를 참조하고 안드로이드 폰 설정이 아닌 선호도에 따라 가정합니다.

응용 프로그램의 실행간에 환경 설정을 저장하려면 다음을 수행해야합니다.

  1. shareedpreferences 객체를 만듭니다

    SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
    

    String N 선호도를 식별하고 두 번째 인수는 액세스 할 모드입니다.

  2. 편집기 개체를 인스턴스화합니다

    SharedPreferences.Editor editor = settings.edit();
    

    참고 : settings.editor.edit ()를 시도하지 마십시오. 이것은 지속적인 객체가 만들어지지 않으며 아래 코드는 작동하지 않습니다.

  3. 버퍼에 선호도를 작성하십시오

    editor.put...(String, value)
    

    수많은 퍼팅 함수, putstring, putboolean 등이 있습니다. 문자열은 키 ( "버전", "Good Run")이며 값은 값 ( "1.5.2", true)입니다.

  4. 버퍼를 플러시하십시오

    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);
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top