【问题标题】:Best Practices for Activity Flow in Android ApplicationsAndroid 应用程序中活动流的最佳实践
【发布时间】:2011-01-21 14:41:22
【问题描述】:

试图了解我的 android 应用程序生命周期的最佳实践,以及活动如何融入其中。

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

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

感谢您对此的建议,

--J

【问题讨论】:

    标签: android android-activity activity-lifecycle


    【解决方案1】:

    为了获得最佳用户体验(和更简洁的代码),您真的不应该链接活动。

    对于您描述的场景(在首次启动时需要特定的选项布局)的最佳实践是在第一次创建“主页”活动时设置 SharedPreference。在同一个 Activity.onCreate() 调用中,您应该根据保存的值来决定您的 UI 将显示什么(例如,将适当的 View 的可见性设置为 View.GONE 或完全选择不同的 layout.xml)。

    额外的好处:您可以使用应用程序的版本号(例如,LastOpenedVersion)重载假设的“已打开”SharedPreference,以便能够在用户下次打开您的升级后的“主页”活动。

    【讨论】:

      【解决方案2】:

      我会将您的LAUNCHER<intent-filter> 设置在用户最有可能从主屏幕访问的任何内容上。大概,这将是你的“家”活动。

      在该活动的onCreate() 中,确定是否需要其他活动(例如,“首次运行”),然后调用startActivity()。当用户从那里按下 BACK(或者你 finish() 那个新活动)时,控制将返回到你的“家”活动。

      【讨论】:

        【解决方案3】:

        一种可能性是从初始屏幕Activity(而不是“家庭”屏幕)开始,然后确定接下来要启动什么。

        您还应该考虑是否需要通过Activity 完成启动/管理工作。如果它不是用户与之交互的东西,那么您可以将该功能移至运行单独线程的Service

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-12-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多