2011-04-21 2 views
2

AndroidApplication 객체의 하위 클래스 인 Android 애플리케이션에 클래스가 있습니다. 문서는 말 :Android 애플리케이션 하위 클래스 생성자가 호출되지 않음

공공 무효에서 onCreate()를

때문에 다음 응용 프로그램을 시작할 때 어떤 다른 응용 프로그램 객체하기 전에, 호출 API 레벨 1 생성 을이었다. 구현되어야로서 빠른 가능한 때문에이 함수 에 소요되는 시간 (상태 초기화 지연을 사용하여 예를 들면)에 직접 충돌하는 과정에서 처음 활동, 서비스 또는 수신기를 시작 성능. 이이 메서드를 재정의하는 경우

super.onCreate()를 호출해야합니다.

내 하위 클래스의 생성자에 중단 점을 배치했는데 응용 프로그램을 실행할 때 절대 도달하지 않았습니다. 당연히 하위 클래스의 getInstance() 메서드를 다른 코드에서 호출하면 생성자가 호출 될 때 인스턴스 변수가 초기화되기 때문에 NULL을 반환합니다.

아무도 저에게 잘못을 말할 수 있습니까? 문서에서 AndroidApplication 하위 클래스의 인스턴스를 직접 만들지 않아도된다고 가정합니까? 그렇지 않습니까? 내 manifest 파일을 어떻게 든 AndroidApplication 하위 클래스를 추가하도록 수정해야합니까? 그렇다면 어떻게해야합니까?

- roschler

+0

yor 코드를 표시 할 수 있습니까? –

+0

감사합니다. –

+0

또한 Manifest에서 Application 클래스를 선언 했습니까? –

답변

6

다른 사람들의 답변을 게시하고 있습니다. 예, Application 객체 하위 클래스의 이름을 Android 매니페스트에 추가해야합니다. Eclipse 사용자의 경우 가장 쉬운 방법은 AndroidManifest.xml 파일을 열고 매니페스트 편집기에서 애플리케이션 탭을 선택한 다음 이름 입력란 옆에있는 찾아보기 버튼을 사용하여 Android 애플리케이션 객체 하위 클래스 이름을 찾는 것입니다 그것을 선택하십시오. 매니페스트 파일이 제대로 업데이트되어 등록됩니다. 방금 했어.

+0

감사합니다. 이 덕분에 실수로 ** android : ** name = "MyApp"대신 manifest에 name = "MyApp"를 넣었고 내 생성자가 호출되지 않은 이유가 궁금했습니다. –

1

나는 문제가 생겼다. 내 응용 프로그램 클래스 이름 앞에. MyApp 클래스가 매니페스트에 정의 된 패키지에 있기 때문에 android : name = ". MyApp"

이어야합니다.

관련 문제