это нормально, я определяю статический объект приложения внутри пользовательского класса приложения для ссылки в Android? - PullRequest
0 голосов
/ 23 февраля 2012

Моя проблема в том, что у меня есть несколько асинхронных задач, которым нужен мой пользовательский объект Application для вызова некоторых функций.Каждый раз, когда я хочу создать асинхронную задачу, мне приходилось передавать в нее объект приложения или текущий контекст.

Я думаю, что, если я сделаю объект приложения статическим.

классMyApp расширяет приложение {

статическое приложение MyApp;

public onCreate () {app = this;}

}

Тогда я могу получить этот глобальный объект приложения (MyApp.app) без необходимости передавать контекст.

это нормально?любой риск?

1 Ответ

0 голосов
/ 23 февраля 2012

Тебе на самом деле не нужно этого делать, просто создайте подкласс Application и объявите свое собственное приложение в манифесте.

<Application
    android:name="blah.YourApplication">
</Application>

затем для доступа к нему вам просто нужен экземпляр Activity или Service для getApplication () и приведения его к вашему классу "YourApplication".

Поскольку вы хотите получить доступ к «YourApplication» в подклассе AsyncTask, вы должны передать службу или действие, запустившее AsyncTask, в ваш подкласс «AsyncTask», чтобы вы могли получить доступ к «YourApplication» внутри.

...