마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

application 을 상속받아 싱글톤으로 만들면??

0 추천

사용하는데 문제는 없을까요

인터넷에 찾아봐도 어플리케이션클래스랑 싱글톤을 같이 쓰는 경우는 없던데

 

public class DefinesApplication extends Application

{

private static final DefinesApplication sharedState = new DefinesApplication();

 

public static DefinesApplication getSharedstate()

{

return sharedState;

}

 

이런 방식이 잘움직여 줄까요??? 불안해서 ㅎ 

  (11,920 포인트) 님이 2013년 7월 25일 질문

2개의 답변

+1 추천
 
채택된 답변
Application 객체는 임의로 만들어서 쓰면 안됩니다.

안드로이드 플랫폼에서 생성해 준 것을 받아서 사용해야 합니다.

참고로 Application 객체는 사실상 이미 싱글톤에 가깝기 때문에 굳이 위처럼 할 필요가 없습니다.
익명사용자 님이 2013년 7월 25일 답변
 님이 2013년 7월 26일 채택됨
임의로 만들어서 menifest에서 얘로 사용하겠다고 선언만 해주면 됩니다.
원래 Application 자체를 기본으로 만들어주지는 않는데요.
제가 글을 모호하게 썼네요.
임의로 만들지 말라는 것은
private static final DefinesApplication sharedState = new DefinesApplication();
처럼 객체를 직접 생성하면 안된다는 뜻입니다.
Application 을 상속받은 클래스를 따로 정의하는 것은 아무 문제 없습니다.
옷 친절한 답변 감사합니다. 도움이 되었어요

근데 위와 같이 해도 잘저장되고 불러오던데 임의로 객체를 만들면
문제가 생기는건가요???
+1 추천
전 항상 싱글톤으로 사용하고 있는데.. 별 문제 없네요..

그런데 직접 생성했네요..

AndroidManifest에 설정해주면 자동 생성되지 않나요?

 

전 아래처럼 사용하고 있습니다.

 

private static MyApplication instance;

 

onCreate()에서

instance = this;
isul (7,920 포인트) 님이 2013년 7월 25일 답변
옷 감사합니다. 이런 사용법은 몰라서 ㅎㅎ

많이 배워갑니다  요렇게도 써봐야겠어요

근데
private static MyApplication instance;

 

onCreate()에서

instance = this;

애는 각엑티비티에서 선언해 주어야 하나요?
한분밖에 채택이 안되네요..;;ㅈㅅ
먼저 답주신분 채택드릴께요 감사합니다,
아 어플리케이션 안의 온크레이트에서 설정해서 사용하는군요
감사합니다.
...