안녕하세요. 안드로이드 어플 개발 중 궁금한 사항이 있어 질문 드립니다.
* 현상
* 먼저 SharedPreferences에 LoginType과 LoginState 값이 들어있는 상태입니다.
Push 수신 시 LoginType과 LoginState 값을 가져와서 처리를 하려고 하는데, 둘중 하나의 값만 출력되고 다른 하나의 값은 0이 리턴이 되고 있는 상태입니다.
저 두개의 값은 앱 실행 시 로그인이 완료되면 값을 저장하도록 되어 있습니다.
테스트 시에는 정상동작하지만 사용 중 가끔 문제가 발생합니다.
우선 값을 읽고 쓸때 모드는 MODE_PRIVATE 을 사용합니다.
어플 실행 시 getSharedPreferences 리턴 값을 static 변수에 넣고 메인 엑티비티와 GCMBaseIntentService 에서 같은 변수로 사용하고 있습니다.
질문1: MODE_PRIVATE 를 사용할 때 context에 따라 Read/Write 시 누락되거나 엎어지는 경우가 있나요? 그렇다면 Push 수신 시 IntentService에서 새로 getSharedPreferences으로 값을 받아 처리를 해야하는 건가요?
질문2: Preferences 값을 저장하기 위해 static 변수에 SharedPreferences 값과 Editor 값을 저장 후, 다른 엑티비티에서 이 변수를 가져다 쓰는 방식이 옳은 방식인가요?
설명이 제대로 되었을지 모르겠네요 ㅡㅡ;;
고수님들 혹 이런 현상을 보신적이 있으신지요?
조언 부탁드릴게요..