安卓应用程序设计的应用流程

3

我正在创建一款Android应用程序,其中有许多不同的屏幕,用户可以使用按钮或列表在这些屏幕之间导航。设计整个应用程序的导航流程的最佳方法是什么?我应该将每个屏幕映射为视图或活动?可以使用一个活动和许多视图来设计整个Android应用程序,其中每个视图代表一个带有许多其他UI元素(按钮、列表、图像等)的屏幕吗?

2个回答

5
我建议对于每个与其他屏幕(在外观和相关数据方面)明显不同的“屏幕”,都使用一个新活动。这样可以更轻松地控制,而且您不必通过定义不同状态的大量变量来破坏代码。使用不同的活动,通常不必担心运行在不需要或甚至未定义状态下。
要在活动之间交换数据,您可以使用putExtra()将“简单”数据添加到INTENT中,或者对于更复杂的数据,您可以扩展Application并将该实例用作单例,然后可以通过(MyApplication)getApplication();访问它。

4
您真的应该避免使用单个活动(single activity)的想法。这实际上是从Java模型1 Web应用程序时代出现的反模式,称为“魔法servlet”。我想在这里它被称为“魔法活动(magic activity)”。用户与之交互的每个逻辑“屏幕”都应该是Activity类的一个实例。
根据用户交互修改单个用户界面元素是可以的,只要它只涉及一个或两个元素,或者仅涉及屏幕的一部分,但大多数情况下,您应该寻找将事物拆分为自己的活动的原因,而不是努力将它们放在一起。长远来看,这将使您的代码更易于维护和理解。

我同意这种观点。然而,当使用TabActivity时,视图可以是Activities或Views,即使内容显着更好。这是由于创建Activity所涉及的开销。 - Nate
抱歉,我的意思是“如果内容有明显的不同,而不是更好”。 :) - Nate

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接