正如 Android 文档所述:“活动是用户可以做的单一的、专注的事情。”
然而,使用 Fragments,我们将能够在Reto Meier 建议的同一个 Activity 中做许多“事情” 。他的建议是用同一 Activity 中的内容片段替换选择片段(“在我们的代码中,这会产生两难”一节)。
可以说我的应用程序“有点”复杂,有很多活动,有一个复杂的导航树,并且在设计时考虑了“用户可以做的单一、集中的事情”原则。
可以说现在我必须使其适应片段和大屏幕......而且我不想创建第二个应用程序,在一个应用程序中也没有两个完全不同的逻辑(一个用于手机,另一个用于表格)。
我应该有一个 Activity 来管理所有应用程序片段和片段事务吗?就像上面的 Retro Meier 建议一样。这是推荐的路径吗?从而打破活动的“用户可以做的单一、专注的事情”原则?
还是我错过了什么?我希望 ;)
顺便说一句,我认为 Fragments 看起来很棒,但从我目前所见,只有当您从头开始创建应用程序时。因为让应用程序与手机和平板电脑兼容看起来有点乏味。希望是错的:)
Dianne Hackborn 已经回答(感谢链接 mgv):
您可以将整个应用程序放在一个活动中,在该活动中随着片段结构的状态变化而更改
因此,Activity 成为一种容器,您可以在其中插入 Fragment。我喜欢这种方法,但是......在我的应用程序中,有大约 30 种不同的操作可用,每个操作都需要执行大约 2 到 4 个屏幕步骤(表单和选择列表),它们都不同,并且还有导航限制。它适用于活动,每个活动都处理一个屏幕/步骤行为。
因此,为了移植到 Fragments,我应该将每个屏幕逻辑移动到 Fragments,并将活动用作每个操作的容器。因此,让活动作为管理每个操作的片段之间导航的活动,对吗?看起来适应长时间的应用程序会很痛苦。:(
当前的 Activity 定义应该会有所改变。:)