안드로이드 개발 질문/답변
(글 수 45,052)
public class MyApplication extends Application {
private SingleChatMng sucMng = null;
private MultiChatMng mucMng = null;
private String result = "초기값";
@Override
public void onCreate() {
Log.e("MyApplication", "//////////////////// MyApplication ////////////////////");
super.onCreate();
}
public SingleChatMng getSucMng() {
return sucMng;
}
public MultiChatMng getMucMng() {
return mucMng;
}
public void connect(String host, int port, String service) {
if ( sucMng == null ) {
Log.e("result", "++++++++++++++++++++++ result 변신전: " + result);
Log.e("MyApplication", "++++++++++++++++++++++ MyApplication ++++++++++++++++++++++");
sucMng = SingleChatMng.getInstance(host, port, service);
mucMng = MultiChatMng.getInstance(host, port, service);
result = "변신";
Log.e("result", "++++++++++++++++++++++ result 변신후: " + result);
}
}
이런식으로 코드가 되어있는데
부팅시 서비스를 바로 실행 시킬려고 브로드캐스트 리시버를 통해서 서비스를 실행하면서 여기 안에 있는 sucMng 를 사용합니다.
그리고 서비스실행후 액티비티가 실행이 되는데 계속 저기안에 Application 안의 변수 sucMng가 초기화 되버립니다. 왜그런간가요?



