Страницы

Поиск по вопросам

пятница, 29 ноября 2019 г.

Как реализована единая точка входа в Android-приложение и есть ли она?

#java #android


В Java приложениях, как я понимаю, существует единая точка входа для всего приложения
в виде метода main, но этого метода нет в Android-приложениях. Как реализована единая
точка входа в Android-приложениях и есть ли она?
    


Ответы

Ответ 1



В андроид приложениях нет единой точки входа, как это делается например при помощи main(). Приложение может запускаться очень многими способами. Приложения, в зависимости от их функционала, могут состоять из разных компонент активити, сервисы. "Обычным" способом, конечно же является точка входа через main активити, но она не всегда может быть единственной. Запуск того или иного компонента зависит от событий которые происходят в системе и от того, может ли приложение эти события обработать. Например, сервис может "слушать" событие ACTION_BOOT_COMPLETED и обработав его запуститься сразу после загрузки операционной системы и т.п. Intent и BroadcastReceiver в плане выбора точки входа в приложение представляют довольно широкие возможности.

Ответ 2



Таки не соглашусь с @ЮрийСПб С точки зрения GUI точкой входа является Activity промаркированная/обозначенная в манифесте как: В случае того же receiver-а ACTION_BOOT_COMPLETED это будет onRecieve. В случае сервиса- метод onCreate. В общем случае можно указать в манифесте класс приложения: И отнаследовать приложения от Application или аналогичного public class App extends MultiDexApplication { @Override public void onCreate() { //ваши действия } }

Ответ 6



Нужно создать класс, наследующийся от класса Application. Переопределить в нем метод onCreate, не забыв вызвать метод родителя. Этот метод отработает первым при открытии приложения. В манифесте к тегу application нужно добавить параметр name с указанием вышеуказанного класса. public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); // делаем что-то } }

Комментариев нет:

Отправить комментарий