繁体   English   中英

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

[英]Managing multiple activities in android application

我有一个Android应用程序,有许多活动。 我通过在其代码中创建一个Intent对象来渲染上一个活动。 我认为这种代码很糟糕。 是否有任何“好”方法在应用程序中实施活动管理,最佳实践?

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

  1. 创建DashBoard并根据特定仪表板选项单击启动活动
  2. 按照标签栏设计

关于仪表板:

在此输入图像描述

您可以从此处获取仪表板的示例。

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

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

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

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

[返回C] < - > D < - > A < - > 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都只调用设置TitleBar的next和prev按钮来启动创建的Intent,如:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM