Android之GUI层浅析--开发者角度

面子上的事情是很重要的。同时面子上的事情也很麻烦。

 

时下,嵌入式的GUI部分被市场和媒体热炒。GUI一下成为了焦点,特别是在电子消费类的产品手机上,更加受到重视。的确,面子上的事情是很重要。同时面子上的事情也是很麻烦的。

将GUI上的控件布局以资源文件的方式保存成XML文件。这个绝对不能算是新构思,新技术。有很多GUI模块很久以前就是这样做的了。比如libglade项目。libglade是一个老项目了,它允许用户读取一个XML文件(.glade文件)来动态地创建GUI。

如此做的好处,无非下面几点:

 

1. MVC模式

将view部分作为一个资源文件独立分离出去,整个工程模块划分更清晰。

 

2.方便修改维护

GUI应用里面,面子上的事是最容易变化的部分之一。估计所有做过应用的程序员都感受过不停地修改界面之苦。我就见面同事被要求修改修改界面上某个控件的位置,是作左移几个像素,还是靠右放置点?人人对界面上的事情都有自己的不同看法。每次修改代码后,重新编译整个工程,发布到开发板上看效果。这其中的工作很大一部分是多余的,不必要的。整个过程重复太多,极大的浪费了开发者的精力和时间。同时带来精神上的厌倦感。libglade的优点里面很可爱的一条就是,修改界面不需要重新编译工程,直接替换原来的.glade文件到开发板子上就OK了。

 

3. 所见即所得

这里的WYSIWYG主要是写给开发者看的。试想下,如果一个开发者从头开始写一个GUI界面。为了看下效果,修改代码,编译,然后送到开发板上,运行。这个完整过程。要被重复多少次才可以达到最后自己满意的效果?如果开发者能在自己的开发环境下就可以看见自己所编写的GUI应用的界面不是很好吗?有的说使用模拟器就好了啊。其实,已经有很多成熟的工具来解析负责layout的XML文件,从而在PC上就能创建出GUI,显示给开发者看了。比如和libglade配套使用的GUI开发工具glade。在安装了glade的PC上可以直接使用这个工具查看.glade(实际就是一个XML文件)所能创建的GUI界面了。

 

 

这个就是glade工具了,有点历史了,在android之前就有了

 

 

同样的,android也有一个类似glade的GUI开发工具。这个工具的功能就是在PC上解析负责layout的XML文件并显示GUI界面。直到开发者满意后,再把这个XML文件复制到相关的android应用的指定目录下就可以了。这个工具项目的名称是DroidDraw。同时,android还有大量关于GUI方面的配套的开发工具集。这些工具极大的加快了android应用的开发速度。(虽然,我觉得DroidDraw绘制的GUI在PC上显示的时候过于丑陋,呵呵)

 

 

android的droiddraw工具

 

说到缺点,这样的GUI框架也是有缺点的。解析那个xml文件是需要有额外的资源消耗的。不过android做了大量的相关的优化,最大程度的消除了一些影响。

android的第三方应用的开发者是幸福的,呵呵!过来的人有比较的,就都有体会。至少android面子上的事情不用太担心了。但是请注意其中的设计思想和原理,你发现了什么新的东西了吗?阳光下没有什么新鲜的事物。

 

 

参考

 

1.http://www.droiddraw.org
2.http://library.gnome.org/devel/libglade
3.http://glade.gnome.org

 

顺便说下,libglade项目已经处于out阶段了。目前的GTK已经有了替代的方案。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值