管理Android应用程序中的多个活动

时间:2011-11-10 05:04:09

标签: android android-activity

我有一个包含许多活动的android应用程序。我通过在其代码中创建一个Intent对象来渲染上一个活动。我认为这种代码很糟糕。有什么"好"在应用程序中实施活动管理的方法,最佳实践?

3 个答案:

答案 0 :(得分:4)

实际上,我们安卓开发人员遵循一些标准做法:

  1. 根据特定的信息中心选项单击
  2. 创建DashBoard并启动活动
  3. 按照标签栏设计
  4. 关于信息中心:

    enter image description here

    您可以从here获取信息中心的示例。

    关于TabBar: 与Tabbar相比,为什么我更喜欢Dashboard?仅仅因为在标签布局中实现活动管理非常容易,而在标签布局中我们必须实现ActivityGroup概念,与Dashboard布局相比,实际上非常难以处理。

答案 1 :(得分:0)

Android中的活动旨在彼此非常分离。启动具有“意图”的活动的想法部分地表明了这一点。它听起来甚至不具体。

如果您对此范例感到不舒服,可以尝试使用FragmentsActivityGroups。虽然我通常不建议这样做,但您可以编写自己的活动管理器来包装Intents,并使活动的启动和管理更加明确。

答案 2 :(得分:0)

在过去,我有一个应用程序有4个视图,我希望能够循环:

  

[返回C]< - > D< - > B - C - [D]旁边

我应该指出,4个活动中的每个活动都有一个共同的标题栏控件,上面有下一个/上一个按钮。

我创建了一个名为ActivityOrderer的类,它有一个Class的静态列表和两个函数,next和prev。例如,接下来做了这个:

public static Class<?> nextActivityClass(Class<?> current) {
    int currentIndex = _orderedActivities.indexOf(current);
    int nextIndex = (currentIndex + 1) % _orderedActivities.size();
    return _orderedActivities.get(nextIndex);
}

现在,我创建的每个Activity都会调用set TitleBar的next和prev按钮来启动Intent,如下所示:

_titleBar.setNextIntent(new Intent(this, ActivityOrderer.nextActivityClass(getClass())));