【问题标题】:Does Android UI development lend itself well to a particiular design pattern?Android UI 开发是否适合特定的设计模式?
【发布时间】:2010-02-23 19:20:32
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    你有三层,包括:

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

    要对这些层进行基本分离,需要遵循一些简单的规则。

    • 仅在 xml 中定义尽可能多的 UI 如果有的话,自己实例化视图 是没有其他方法可以实现某事, 不要改变图形状态 来自代码的视图,例如不 更改按钮的背景,如果 该按钮已停用,或 如果按钮是字体的颜色 点击,通过有状态来完成这一切 xml 中的可绘制对象和选择器。
    • 不要做任何数据保存或逻辑 你的活动课程。打电话给额外的 用于此目的的模型类。这 会让你的活动干净利落 短
    • 如果您想更改数据,请考虑 关于经历一个完整的 控制器更改模型 -> 模型 通知控制器有关更改 -> 控制器更改 UI 周期而不是拥有控制器 更改模型和 UI 直接因为其他观察者 的模式可能不会被通知。

    【讨论】:

      【解决方案2】:

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

      如有疑问,您可以查看标准 User Interface Guidelines,了解特定交互的准则。

      【讨论】:

        猜你喜欢
        • 2017-03-02
        • 1970-01-01
        • 2013-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-20
        相关资源
        最近更新 更多