내 앱 내의 모든 클래스에서 환경 설정에 액세스 할 수 있도록 환경 설정을 저장하려고합니다. 하지만 사용자 로그인 데이터가 포함될 것이므로 내 앱 외부에서 액세스해서는 안됩니다.내 앱에 비공개로 환경 설정을 저장하지만 모든 클래스에서 액세스 할 수 있습니다.
Android 설명서에서 MODE_PRIVATE
은 그렇게해야한다는 것을 이해했습니다. 하지만 MODE_PRIVATE를 사용하면 내가 만든 클래스 내에서 환경 설정에만 액세스 할 수 있습니다.
Class1.java :
....
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editPrefs = prefs.edit();
editPrefs.putString("myPref", "myValue");
editPrefs.commit();
...
Class2.java :
...
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
String myString = prefs.getString("myPref", " ");
...
나는 그것을 만든 같은 클래스 내에서 getString
를 호출 할 경우,이 후에도 (myValue
을 반환 응용 프로그램을 닫고 다시 넣지 않고).
같은 앱에서 다른 클래스의 getString
을 호출하면 ""을 반환합니다.
감사합니다.
때문에 ** 컨텍스트 ** 문제. 'final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences (ctx);'** ctx **와 동일한 Context를 전달한다. (아마도'getApplicationContext()'에서 찾을 수있다). –