XML布局文件在Activity自动生成代码(三)终结篇
2012-04-12 16:17
471 查看
昨天晚上加班搞到很晚,中午才赶到公司来上班,做程序员真是累呀~~。好了,报怨完了直接进入正题。上一篇我们介绍完SAX解析,可能现在有人会说,讲了这么多没有实际的效果,看完了看懂了也转化不了战斗力。好了在这一篇我会终结这一系列的文章,并提供完整的代码和演示,到时候我相信大家会有所收获。
因为最后会提供完整工程的下载,所以在讲解过程中我不会将整块代码都贴出来。
首先来看一下数据Model ,WidgetInfo类:
逐一说明一下,idName为控件名称不能多说,type为控件类型即Button、TextView等等类型。输出内容和排序等级不是很好懂,还是按照惯例举一个例子:
若程序自动生成的其中一条代码为: private Button testButton;
那么其WidgetInfo对象的content就为以上内容,而level为0,我们希望它排在第一区域,即控件的声明区域。
其它情况可以类推,不再赘述。
其实难点都已经介绍的差不过了,具体的代码还是大家下载自己看吧,下面我们看一下程序的运行效果:
测试XML:
注意:我将该测试文档放在桌面,所以在代码中声明它的路径为C:/Documents and Settings/Administrator/桌面/test.xml,所以大家在运行该工程的时候注意修改路径,
不然的话会报错的。
运行效果截图:
当然,该程序支持自动生成代码的控件类型不仅仅只有TextView和Button两种,而是16种控件类型(具体情况请看源码)。大家觉得不够可以自己修改源程序,继续优化。
看到这里大家应该可以明白了,就是在开发Activity的时候我们只要先配置好对应的XML文件,那么在Activity中控件的声明、控件句柄的赋值、Button控件注册监听器以及监听器 处理框架的代码都自动生成了,这样就会减少我们书写代码的量,从而提高开发效率。
总结:有人说过产品的优化是没有终点的,这句话同样适用于程序。其实这个程序还有许多需要优化的地方,还是不够自动化。如果我们能将这个功能做成插件,像字段的 get/set方法能在代码页面中自动生成的话就更自动化了(插件开发技术我还没接触过~~)。这一系类的文章只是抛砖引玉,相信你们能比我做的更好。
下载地址:http://files.cnblogs.com/pengwei1988/XMLParse.rar
因为最后会提供完整工程的下载,所以在讲解过程中我不会将整块代码都贴出来。
首先来看一下数据Model ,WidgetInfo类:
/** * 控件id名称 */ private String idName; /** * 控件类型 */ private String type; /** * 输出内容 */ private String content; /** * 排序优先级,数值低的排在前面 */ private int level;
逐一说明一下,idName为控件名称不能多说,type为控件类型即Button、TextView等等类型。输出内容和排序等级不是很好懂,还是按照惯例举一个例子:
若程序自动生成的其中一条代码为: private Button testButton;
那么其WidgetInfo对象的content就为以上内容,而level为0,我们希望它排在第一区域,即控件的声明区域。
其它情况可以类推,不再赘述。
其实难点都已经介绍的差不过了,具体的代码还是大家下载自己看吧,下面我们看一下程序的运行效果:
测试XML:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/testButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button" /> <TextView android:id="@+id/testTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="TextView" android:textSize="40dp"/> </LinearLayout>
注意:我将该测试文档放在桌面,所以在代码中声明它的路径为C:/Documents and Settings/Administrator/桌面/test.xml,所以大家在运行该工程的时候注意修改路径,
不然的话会报错的。
运行效果截图:
当然,该程序支持自动生成代码的控件类型不仅仅只有TextView和Button两种,而是16种控件类型(具体情况请看源码)。大家觉得不够可以自己修改源程序,继续优化。
看到这里大家应该可以明白了,就是在开发Activity的时候我们只要先配置好对应的XML文件,那么在Activity中控件的声明、控件句柄的赋值、Button控件注册监听器以及监听器 处理框架的代码都自动生成了,这样就会减少我们书写代码的量,从而提高开发效率。
总结:有人说过产品的优化是没有终点的,这句话同样适用于程序。其实这个程序还有许多需要优化的地方,还是不够自动化。如果我们能将这个功能做成插件,像字段的 get/set方法能在代码页面中自动生成的话就更自动化了(插件开发技术我还没接触过~~)。这一系类的文章只是抛砖引玉,相信你们能比我做的更好。
下载地址:http://files.cnblogs.com/pengwei1988/XMLParse.rar
相关文章推荐
- XML布局文件在Activity自动生成代码(一)
- XML布局文件在Activity自动生成代码(二)SAX 解析
- android findview 自动生成工具 xml布局文件自动转换类模板代码工具
- 代码自动生成(二)数据库表字段生成mybaties 映射配置文件**mapper.xml
- Android Studio XML布局文件设置代码自动补齐快捷键
- Android 解决升级到SDK4.4.2后Eclipse不自动生成Activity和xml布局的问题
- XML形式的配置文件解析框架以及自动代码生成(一)
- Android Studio插件-自动根据布局生成Activity等代码(插件代码开源)
- Android Studio插件-自动根据布局生成Activity等代码(插件代码开源)
- Android学习笔记_31_通过后台代码生成View对象以及动态加载XML布局文件到LinearLayout
- Android Studio插件-自动根据布局生成Activity等代码(开源)
- 【Android】Android Layout Binder——根据layout布局文件自动生成findViewById的java代码的神器
- Android eclipse ADT 布局文件 XML 代码全自动补全
- [Android实例] Android Studio插件-自动根据布局生成Activity等代码1.4 (开源)(申明:来源于网络)
- Android studio3.1的XML布局文件没有自动提示不全代码功能
- Android Studio插件LayoutCreator在Activity/Fragment中自动生成findViewById等布局相关初始化代码 或者在Adapter中自动生成ViewHolder
- Android学习笔记_31_通过后台代码生成View对象以及动态加载XML布局文件到LinearLayout
- 基于web的全景漫游自动生成加编辑平台的技术实现(三)----krpano主XML文件
- VScode中自定义用户代码片段(C user snippet)自动生成C语言头文件排除重复包含
- Android xml 文件代码自动提示