안녕하세요.. 안드로이드 초보 개발자 입니다.
이번에 제가 OAuth인증 기반 으로 어플을 하나 만들고 있는데요.
인증을 받으면 AccessToken 과 AccessTokenSecret 이 나오는데 이걸 파일, DB에 쓰자니 귀찮고..;;; 그래서 Application 클래스를 상속받고 그 안에 필드로 token, tokenSecret을 선언하여 발급 받으면 해당 영역에 저장하고 있습니다.
그렇게 해서 다른 액티비티에서 Application에서 값을 잘 가져오고 있습니다...
그런데 문제가 발생한 것이 백그라운드 프로세스( Service를 상속한 백그라운드 서비스)에서 Application 영역의 데이터를 가져오지 못하더라구요.
다른 액티비티들에서는 값을 잘 가져오는데 이상하게 백그라운드 서비스에서만 값을 못가져오고, 초기 값만 가져오더라구요..
그래서 혹시나 해서 서비스에서와 액티비티에서 각각의 Application을 toString 으로 찍어보니 같은 인스턴스가 아니더라구요.
즉 액티비티에서 사용하는 Application 과 Service에서 사용하는 Application영역이 달라서 Activiy에서 아무리 set을 해줘도 Service영역에서 가져다 쓰지 못하는 거더라구요..
저는 이 application이라는게 싱글 톤으로 하나만 생성되는줄 알았는데 그것도 아닌가 보네요..;;
혹시 이문제를 해결할 수 있는 방법이 있을까 하고 이렇게 글을 남깁니다.
아무쪼록 고수 님들의 좋은 답변 기다리고 있겠습니다/...ㅜㅜ




자문 자답입니다...;;;
Service에 대해서 더 알아 보니 manifest 파일에 service 등록을
<service android:name="TestService" android:process=":remote"/>
라고 설정 하면 android:process 설정 때문에 어플리케이션의 프로세스와 서비스의 프로세스가 두개가 떠서 데이터 공유가 어렵다고 하다네요..;;
혹시 저처럼 삽 푸시는 분이 계실까봐 해결 방법 올리고 갑니다^^