美文网首页Android开发Android技术知识Android知识
Android 复杂界面开发实践之 ViewController

Android 复杂界面开发实践之 ViewController

作者: 大侠咕咚 | 来源:发表于2016-11-14 13:24 被阅读1114次

    ViewController 是一种界面开发组件化的实现方式,利用它可以将一些复杂的 UI 界面开发组件化, 从而更好的组织代码结构,从而提高开发效率,降低维护成本。

    不同于 Fragment ,ViewController 更加小巧、灵活、易控制,代码也超级简单,目前只有一个不到 100 行的类。

    目前项目已经开源,项目地址:ViewController

    介绍

    关于 ViewControler 这种思想的介绍,也可以查看上一篇文章,Android 复杂界面开发实践之 ViewController: 前言

    在日常开发中,当我们看到如下的 UI 原型时,在实际编码实现过程中,通常我们会把所有的布局先用 xml 实现,然后在 Activity 中编写所有的 UI 操作逻辑。

    这里,稍微思考下,这种方式的开发会有什么弊端。

    所有的 UI 元素都需要定义在同一个类中,所有的 UI 逻辑操作也都发生在同一个类里,在加上一些业务逻辑,这个界面的代码会在不断迭代的过程中越来越难保持 clean .

    但是使用 ViewController 这种思想后,你可以把页面逻辑按 UI 块做拆分,进行组件化开发,最后在 Activity 中只需要把组件进行组合即可。

    下面是一张 ViewController 示意图,如下所示。


    如上图所示,现在把界面拆分为了四个 ViewController,每个ViewController 管理自己的一组View 集合,这样就巧妙的把原本需要写在 Activity 代码分发到了不同的 ViewController 中去。

    至于代码如何分发,可以查看项目主页 Readme,或者直接看源码。

    使用

    具体如何使用,请移步项目主页,那里有详细的介绍,因为代码很简短,如果有兴趣,建议直接看源码。

    适合 ViewController 的情形

    首先,不是所有的界面都适合用此种方式去开发,一些界面从设计之初就是浑然一体的,咱们没法做拆分,就没法使用,当然也没必要使用。

    但是比如示例中的房屋详情设计,就特别适合使用 ViewController,因为他可以很容易的让我们去划分程序概念上的块。

    如上所述,在合适的地方使用 ViewController,优点就显而易见。

    优点

    • 界面开发组件化,解决 Activity/Fragment 中 UI 代码臃肿问题。
    • 灵活的 UI 开发,同一组件可在多处复用,从而做到代码重用。
    • 易维护,开发简单。

    作者

    个人主页:咕咚
    新浪微博:大侠咕咚

    相关文章

      网友评论

      • d7f21c6da5e2:很不错的方式,简单有效
      • jiushiwo:我写了大百行的activity都感觉臃肿,绝对换这个
      • qiujuer:我倒是更加倾向于功能上去划分View。比如说一个APP中很多地方都需要用到评论数的显示和阅读数,此时可以把这样一个小部分进行封装然后使用,达到高度可重用的目的。
        qiujuer: @qiujuer 当然,对于一个界面的设计上还应该与接口结合思考,比如接口请求会来的数据本身是一整个整体此时不应该过多划分开。如果一个接口回来数据中有很多不同节点或者一个界面是由多个请求得到的数据那么是比较适合这样的情况的。
      • 哎吆喂轩:好好好

      本文标题:Android 复杂界面开发实践之 ViewController

      本文链接:https://www.haomeiwen.com/subject/raehpttx.html