Лучшие методы поток активности в приложениях Android
-
16-10-2019 - |
Вопрос
Попытка понять передовую практику для жизненного цикла моего приложения Android и того, как вписывается в это действия.
Например, у меня есть основное занятие, своего рода «дом» моего применения. Но при запуске есть несколько видов деятельности, которые мне, возможно, нужно работать, в зависимости от нескольких случаев, один из которых заключается в том, что это первый раз, когда приложение будет запущено.
Является ли лучшая практика называть эти «стартап»/домашние мероприятия из моего «домашнего» деятельности? Или приложение должно начинаться с «домохозяйства», выполнять работу, затем завершить () и начать деятельность «дома»?
Спасибо за совет по этому поводу,
- J.
Решение
Я бы установил твой LAUNCHER
<intent-filter>
На том, что пользователь, скорее всего, захочет перейти на свой домашний экран. Предположительно, это будет ваша «домашняя» деятельность.
В onCreate()
Из этой деятельности, сделайте определение, если есть какое-то другое действие, которое необходимо (например, «Первый заряд»), и вызовите startActivity()
в теме. Когда пользователь нажимает оттуда (или вы finish()
Это новое действие), контроль вернется к вашему «домашней» деятельности.
Другие советы
Для лучшего пользовательского опыта (и более чистого кода) вы действительно не должны цепорить занятия.
Хорошей лучшей практикой для сценария, который вы описываете (нуждающийся в определенной планировке вариантов на первом запуске) является установление SharedPreference в первый раз, когда создается «домашнее» деятельность. В то же самое Activity.onCreate()
Позвоните вам, вы должны принять решение о том, что ваш пользовательский интерфейс отобразит на основе этого сохраненного значения (например, либо установите наглядность соответствующего представления на View.GONE
Или выберите другой макет.xml вообще).
В качестве дополнительного бонуса: вы можете перегрузить гипотетический «был открыт» SharedPreerference с номером версии приложения (например, LastOpenedVersion
) иметь возможность представить пользователю журнал изменений в следующий раз, когда они откроют ваше «домашнее» деятельность после обновления.
Одна возможность состоит в том, чтобы начать с экрана брызги Activity
(а не «домашний»), который затем определяет, что запустить дальше.
Вы также должны рассмотреть, необходимо ли выполнить ваш стартап/ведение дома с помощью Activity
. Анкет Если это не то, с чем пользователь взаимодействует, то вы можете перенести эту функциональность в Service
Это запускает отдельный поток.