我有一个包含许多活动的Android应用程序。 我通过在其代码中创建Intent对象来从上一个活动渲染下一个活动。 我认为这种代码很糟糕。 有没有“好”的方法来实现应用程序中的活动管理,最佳实践?
我有一个包含许多活动的Android应用程序。 我通过在其代码中创建Intent对象来从上一个活动渲染下一个活动。 我认为这种代码很糟糕。 有没有“好”的方法来实现应用程序中的活动管理,最佳实践?
实际上,作为Android开发人员,我们遵循一些标准做法:
关于仪表板:
你可以从这里获取Dashboard示例。
关于TabBar: 为什么我更喜欢Dashboard而不是Tabbar?只是因为在Dashboard中实现活动管理真的非常容易,而在选项卡布局中,我们必须实现ActivityGroup概念,相比之下难以处理。
描述 资源路径 位置 类型 Android 需要编译器兼容级别为 5.0 或 6.0。找到了“1.7”。请使用 Android 工具 > 修复项目属性。 DashboardDemo 第一行 Android ADT 问题 项目“DashboardDemo”缺少所需的源文件夹:“gen” DashboardDemo 构建路径构建路径问题 在解决构建路径错误之前,无法构建该项目 DashboardDemo 未知 Java 问题
- Nick Kahn过去,我有一个应用程序,其中有4个视图,我希望能够循环浏览:
[返回 C] <-> D <-> A <-> B <-> C <-> [前往 D]
我应该指出,这4个活动都有一个共同的标题栏控件,上面有下一个/上一个按钮。
我创建了一个名为ActivityOrderer的类,它具有Class的静态列表和两个函数next和prev。例如,next执行以下操作:
public static Class<?> nextActivityClass(Class<?> current) {
int currentIndex = _orderedActivities.indexOf(current);
int nextIndex = (currentIndex + 1) % _orderedActivities.size();
return _orderedActivities.get(nextIndex);
}
现在,我创建的每个Activity都会调用设置TitleBar的下一个和上一个按钮来启动创建的Intent:
_titleBar.setNextIntent(new Intent(this, ActivityOrderer.nextActivityClass(getClass())));
Android中的活动(Activity)被设计为彼此之间非常解耦。这部分体现在使用“意图(Intent)”启动活动的概念上。甚至听起来都不是很具体。
如果您对这种范式感到不舒服,可以考虑使用片段(Fragments)
或活动组(ActivityGroups)
。虽然我通常不建议这样做,但您也可以编写自己的活动管理器(Activity Manager),将意图(Intent)封装起来,使启动和管理活动更加明确。