Конструктор подкласса приложения Android не вызывается - PullRequest
2 голосов
/ 22 апреля 2011

В моем приложении Android есть класс, который подклассирует объект AndroidApplication. В документах говорится:

public void onCreate ()

С тех пор: Уровень API 1 Вызывается, когда приложение запускается, прежде чем любой другие объекты приложения были создано. Реализации должны быть как максимально быстро (например, используя ленивая инициализация состояния) с время, проведенное в этой функции напрямую влияет на производительность начало первой деятельности, услуги, или получатель в процессе. если ты переопределите этот метод, обязательно

вызовите super.onCreate ().

Я установил точку останова на конструкторе моего подкласса, и когда я запускаю свое приложение, оно никогда не достигается. Естественно, когда я вызываю метод getInstance () подкласса из другого кода, он возвращает NULL, поскольку переменная экземпляра (предполагается) инициализируется при вызове конструктора.

Может кто-нибудь сказать мне, что не так? Из документов я бы предположил, что мне не нужно сам создавать экземпляр подкласса AndroidApplication или нет? Должен ли я как-то изменить свой файл манифеста, чтобы добавить подкласс AndroidApplication, и если да, то как?

- Рошлер

Ответы [ 2 ]

6 голосов
/ 22 апреля 2011

Я публикую ответ здесь для других. Да, вам нужно добавить имя вашего подкласса объекта Application в манифест Android. Для пользователей Eclipse самый простой способ сделать это - открыть файл AndroidManifest.xml, выбрать вкладку «Приложение» в редакторе манифеста и использовать кнопку «Обзор» рядом с полем Имя , чтобы найти объект приложения Android. имя подкласса и выберите его. Файл манифеста будет обновлен должным образом, чтобы зарегистрировать его. Я просто сделал это, и это сработало.

1 голос
/ 16 мая 2011

У меня была проблема не иметь. перед моим именем класса приложения. Должно быть: андроид: имя = "MyApp"

, поскольку класс MyApp находится в пакете, определенном в манифесте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...