尝试了解我的Android应用程序生命周期的最佳实践,以及活动如何适应它。
例如,我有一个主要活动,类似于我的应用程序的“主页”。但是,在启动时,我可能需要运行一些活动,具体取决于几种情况,一种是应用程序第一次运行。
最佳做法是从我的“家庭”活动中调用这些“启动”/家务活动吗?或者应用程序应该以“管家”活动开始,完成工作,然后完成()并开始“主页”活动?
感谢您的建议,
- J
答案 0 :(得分:3)
为了获得最佳用户体验(以及更干净的代码),您真的不应该将活动链接起来。
您描述的场景(在首次启动时需要特定的选项布局)的最佳实践是在第一次创建“Home”活动时设置SharedPreference。在同一个Activity.onCreate()
调用中,您应该根据保存的值来确定UI将显示的内容(例如,将适当的View的可见性设置为View.GONE
或者选择不同的layout.xml)。
作为一个额外的好处:您可以使用应用程序的版本号(例如LastOpenedVersion
)重载假设的“已打开”SharedPreference,以便下次他们能够向用户显示更改日志升级后打开“主页”活动。
答案 1 :(得分:2)
一种可能性是从启动画面Activity
开始(而不是“主页”),然后确定下一个要启动的内容。
您还应该考虑是否需要通过Activity
来完成您的启动/管家。如果它不是用户与之交互的内容,那么您可以将该功能移动到运行单独线程的Service
。
答案 2 :(得分:2)
我会将LAUNCHER
<intent-filter>
设置为用户最有可能从主屏幕转到的内容。据推测,那将是你的“家”活动。
在该活动的onCreate()
中,确定是否存在其他需要的活动(例如,“首次运行”),并在其上调用startActivity()
。当用户从那里按下BACK(或者您finish()
该新活动)时,控件将返回到您的“主页”活动。