Android UI开发是否适合特定的设计模式?

时间:2010-02-23 19:20:32

标签: android model-view-controller design-patterns mvp

Android平台是否适合特定风格的UI编程,如MVC或MVP?我的大部分UI体验都是在一个非常旧的嵌入式设备上使用意大利面条代码,或者是在带有MVP的GWT中,所以我不知道从哪里开始。

2 个答案:

答案 0 :(得分:14)

MVC模式或多或少预先构建到android中。

您有三层包含:

  • 模型您的数据类,内容提供商等包装所有数据。
  • 控制器将您的所有活动视为控制器类。不要在它们中做任何看起来像业务逻辑或数据持久性的事情。只需对模型或用户的事件做出反应,然后将它们转发到正确的图层。
  • 视图活动通常称为视图,因为最接近视图的是java代码。但在我看来,Android中的视图层主要是用xml定义的。您可以在xml中定义按钮,图像,状态更改等,然后通过“活动”将其与应用程序连接。

要实现这些图层的基本分离,需遵循一些简单的规则。

  • 仅在xml中定义您的UI 如果有,请自己实例化视图 没有其他方法可以实现某些目标, 不要改变图形状态 代码中的视图,例如不 如果改变按钮的背景 按钮被停用,或者 如果按钮是字体的颜色 点击,通过有状态完成所有这些 drawables和xml中的选择器。
  • 不要进行任何数据保存或逻辑操作 你的活动课程。打电话给额外 为此目的的模型类。这个 将使您的活动清洁 短
  • 如果您想改变您的数据,请考虑 关于完整的 控制器改变模型 - >模型 通知控制器有关更改 - >控制器改变UI循环而不是控制器 更改模型和UI 直接因为其他观察者 可能不会通知模式。

答案 1 :(得分:2)

我不知道Android在UI开发本身是否适合特定的设计模式,如果它有帮助,你当然可以使用特定的模式。

如有疑问,您可以查看标准User Interface Guidelines,了解针对特定互动的指导原则。