Android设计应用程序流程

时间:2009-11-13 09:36:42

标签: android

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

2 个答案:

答案 0 :(得分:5)

我建议您使用与另一个屏幕(与其相关的外观和数据)显着不同的每个“屏幕”新活动。这使您可以更轻松地进行控制,并且您不必使用大量变量来处理代码以定义不同的状态。使用不同的活动,您通常不必担心在不受欢迎或甚至未定义的状态下运行。

要在活动之间交换数据,您可以使用putExtra()将“简单”数据添加到INTENT,或者对于更复杂的数据,您可以扩展Application并将该实例用作单例,然后您可以通过(MyApplication)getApplication();

访问

答案 1 :(得分:4)

真的希望远离单一活动的想法。这实际上是来自java模型1 Web应用程序日的反模式,称为“魔术servlet”。我想在这里它将被称为“魔术活动”。用户与之交互的每个逻辑“屏幕”应该是Activity类的实例。

基于用户交互修改单个用户界面元素是很好的,只要它只是一个或两个元素,或者只是屏幕的一部分,但在大多数情况下,你应该寻找将事情分解为自己的理由活动,不寻找将事情保持在一起的理由。从长远来看,它将使您的代码更易于维护和理解。