Android应用程序中活动流程的最佳实践

时间:2011-01-21 14:41:23

标签: android android-activity activity-lifecycle

尝试了解我的Android应用程序生命周期的最佳实践,以及活动如何适应它。

例如,我有一个主要活动,类似于我的应用程序的“主页”。但是,在启动时,我可能需要运行一些活动,具体取决于几种情况,一种是应用程序第一次运行。

最佳做法是从我的“家庭”活动中调用这些“启动”/家务活动吗?或者应用程序应该以“管家”活动开始,完成工作,然后完成()并开始“主页”活动?

感谢您的建议,

- J

3 个答案:

答案 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()该新活动)时,控件将返回到您的“主页”活动。