试图了解我的 android 应用程序生命周期的最佳实践,以及活动如何融入其中。
例如,我有一个主要活动,有点像我的应用程序的“家”。但是,在启动时,我“可能”需要运行几个活动,具体取决于几种情况,其中一个是应用程序第一次运行。
将这些“启动”/家务活动从我的“家庭”活动中调用是最佳做法吗?或者应用程序应该从“家务”活动开始,完成工作,然后完成()并开始“家庭”活动?
感谢您对此的建议,
-- Ĵ
试图了解我的 android 应用程序生命周期的最佳实践,以及活动如何融入其中。
例如,我有一个主要活动,有点像我的应用程序的“家”。但是,在启动时,我“可能”需要运行几个活动,具体取决于几种情况,其中一个是应用程序第一次运行。
将这些“启动”/家务活动从我的“家庭”活动中调用是最佳做法吗?或者应用程序应该从“家务”活动开始,完成工作,然后完成()并开始“家庭”活动?
感谢您对此的建议,
-- Ĵ
为了最好的用户体验(和更简洁的代码),你真的不应该链接活动。
对于您描述的场景(首次启动时需要特定的选项布局),一个好的最佳实践是在第一次创建“主页”活动时设置 SharedPreference 。在同一个Activity.onCreate()
调用中,您应该根据保存的值来决定您的 UI 将显示什么(例如,将适当的 View 的可见性设置为View.GONE
或完全选择不同的 layout.xml)。
作为额外的奖励:您可以使用应用程序的版本号(例如,)重载假设的“已打开”SharedPreference,LastOpenedVersion
以便能够在用户下次打开您的“主页”活动时向用户显示更改日志升级。
一种可能性是从启动屏幕Activity
(而不是“家庭”屏幕)开始,然后确定下一步要启动什么。
您还应该考虑是否需要通过Activity
. 如果它不是用户与之交互的东西,那么您可以将该功能移动到Service
运行单独线程的中。
我会将您设置LAUNCHER
<intent-filter>
在用户最有可能从他们的主屏幕进入的任何地方。据推测,这将是你的“家”活动。
在onCreate()
那个活动中,确定是否需要一些其他活动(例如,“首次运行”),然后调用startActivity()
它。当用户从那里(或者你finish()
那个新的活动)按下返回时,控制将返回到你的“家”活动。