방법은 여러가지가 있습니다만..
Shared Preference 자체에 관련한 각종 read / write 함수들을 구현한 클래스를 별도로 만들어서 static함수로 가져다 쓰는 편이 가장 편합니다.
단, 해당 read/write를 수행하는 static 함수들을 사용할때 첫부분에 공통 initialize하는 함수를 타도록 합니다.
//클래스 변수
static SharedPreferences pref;
//공통 init 함수
init(Context context) {
PreferenceManager.getDefaultSharedPreferences(context);
}
read(Context ctx) {
init(ctx);
//read동작
}
와 같이 말이죠..
어렵지 않습니다-
이때 가져다 쓰는 곳이 액티비티가 아닌데 Context는 어찌 매개변수로 넘기나요? 라고 혹시 의문이 드신다면
Application을 상속받은 최상위 실행 클래스를 어플에 구현하시면 됩니다.
보통 Manifest에 Main액티비티이전에 더 먼저 실행하게 하는 .java를 정의할 수 있습니다. 이 .java 클래스는 액티비티를 상속
하지 않은 녀석이죠.. 거기서 static 변수로 Context를 공통으로 하나 만들어 놓고 Non Activity클래스에서 Context를 가져다
쓰면 됩니다~