запускать задание при начале активности - PullRequest
0 голосов
/ 07 декабря 2011

Как я могу запустить асинхронную задачу при запуске действия? Есть около 7 действий, и мне нужно каждый раз запускать асинхронную задачу и отменять ее, когда действие умирает.

public MyApp extends Application{
    public void onCreate(){super.onCreate();}
}

Одним очевидным способом было бы включить его в каждый вид деятельности, но это не очень СУХОЙ. Есть ли другой путь? Если я добавлю его в приложение onCreate, то я не смогу выполнить Toast.makeText, поскольку, по-моему, никакая активность недоступна ...

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

Прежде всего ваш код использует onCreate -метод класса приложения. В общем, вам следует избегать делать что-то здесь, но используйте свой класс Activity. Вы должны понимать разницу между приложением и активностью и хорошо понимать жизненный цикл активности, поскольку это основы Android.

Для общих задач для всех видов деятельности вы должны создать свой собственный, вероятно, абстрактный BaseActivity, реализовать там общие / общие вещи и наследовать от этого класса. Но имейте в виду, что несколько действий могут быть созданы одновременно, поэтому правильные используемые обработчики действительно зависят от того, какое поведение вы хотите достичь. Опять же: поймите, как работает жизненный цикл андроида и как управляются действия, иначе у вас могут возникнуть проблемы.

0 голосов
/ 07 декабря 2011

Рассматривали ли вы создание службы для размещения вашей задачи и ее привязку в каждом из ваших действий 'OnCreate?

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