android layout Java代码生成器_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > android layout Java代码生成器

android layout Java代码生成器

 2014/10/3 9:16:38  dydytd3400  程序员俱乐部  我要评论(0)
  • 摘要:通过freemaker将写好的androidlayout文件生成对应的java代码,主要生成Activity和Fragment两类,这样可以减少很多开发中的机械操作,再也不用一一对应的把layout文件中View标签copy到java代码中了。详细思路:读取指定路径下的layout文件,根据layout文件命名规则生成对应Activity或者Fragment的Java类,并将布局文件中对应的View标签生成该Java类的属性对象,且根据View标签的id属性生成该属性的变量名
  • 标签:android Java 代码

  通过freemaker将写好的android layout文件生成对应的java代码,主要生成Activity 和 Fragment两类,这样可以减少很多开发中的机械操作,再也不用一一对应的把layout文件中View标签copy到java代码中了。

?

详细思路

  读取指定路径下的layout文件,根据layout文件命名规则生成对应Activity或者Fragment的Java类,并将布局文件中对应的 View标签生成该Java类的属性对象,且根据View标签的id属性生成该属性的变量名。

?

该项目下的 layout文件的命名规则如下:

  hello_word_activity.xml,该布局文件则会生成一个 HelloWordActivity.java文件,且继承于RoboFragmentActivity(用于roboguice框架,不习惯该框架的变更模版就行了)

  main_fragment.xml,对应该布局文件则会生成MainFragment.java文件,并继承于RoboFragment(同上)

?

  java文件中会根据配置生成对应的一些package引入和基础的代码,接下来则根据layout文件中的标签属性生成对应的Java属性对象,规则如下:

?

class="xml"><TextView andorid:id=”@id+/hello_word_text”/>

?

对应生成如下java代码:

?

import android.widget.TextView ;//这段引入代码是在文件头部分,这里只是为了简便,就没加上类名等代码

@InjectView(R.id.hello_word_text)

private TextView mHelloWordText;

?

  每个layout文件中,只有写了 android:id=”@id+/”这一属性的标签才会在对应java类中声明对应变量

?

  对象的变量名的生成规则也可自行定义,详情参考代码中NameGenerater这一抽象类,其中很多生成规则的东西都可以在这里实现其抽象方法,在CodeBuilder的代码中的defaultNameGenerater对象算是一个比较详尽的列子。

?

  该项目是一个个人项目,该例子仅提供了一个思路,很多地方考虑得并不周全,写得也不够完善,欢迎大家讨论并共同完善他。

?

项目开放git仓库地址:https://git.oschina.net/eleaf/android-layout2code-builder.git

?

转载请注明作者:楼若生 并附上原文链接:http://dzlg.iteye.com/admin/blogs/2124556

上一篇: VS2012 的MVC4实例 下一篇: 没有下一篇了!
发表评论
用户名: 匿名