您的位置:首页 > 编程语言 > Java开发

在Eclipse或者ADT中使用ButterKnifeZelezny,Android组件初始化从此变得简单易懂!!!!

2015-09-12 17:21 288 查看


一、起因

想必使用AndroidStudio做开发并且使用ButterKnife的朋友们肯定听说过ButterKnifeZelezny这个组件吧,它可以一键从 布局文件中 生成对于的 View 声明和 ButterKnife 注解。

详情请看图:



真是太方便了!!!!一键生成啊有木有!!!!脱离苦海啊有木有!!!!

但是等等,我到现在还是不习惯用AndroidStudio,虽然会用但是正式开发项目,还是更加喜欢Eclipse的开发方式,于是我就在想,Eclipse有没有这样的插件呢?

显然,我想多了。

不过既然没有,那就自己做一个吧。


二、思路

俗话说“解铃还须系铃人”,既然要思路,自然就是从ButterKnifeZelezny来了,在我看来ButterKnifeZelezny主要就是几个步骤

1.解析XML

2.分析组件

3.生成ButterKnife注解

那么,我可不可以利用批处理和J***A文件结合的方式做一个批处理文件,只要把布局文件拖入批处理文件中就可以解析出这个布局文件中有哪些组件设置了ID属性,并把这些组件和ID提取出来,最后利用字符串拼装技术把它组合成我要的写法,然后写入到系统的黏贴板中,最后由用户CTRL+V 黏贴到指定的Activity中去就可以了?

我看行!


三、开整

思路已经有了,剩下的就是开始做了,首先当然要解决的是XML解析问题。

基本上不用想太多,利用DOM4J解析就可以了。

先建立一个Java Project

然后添加工具类

LayoutUtil.java(解析布局文件的工具类)

既然可以解析XML,那么下一步要做什么呢?当然是编写拼接字符串的工具类了,这个类也是生成ButterKnife注解格式的核心类,如果你想做别的方式的写法或者原生的写法,修改这个类就可以了。

SpellUtil.java

解析也有了,拼接也有了,剩下的要做什么呢?

当然就是把拼接好的字符串复制到黏贴板上了,还是个工具类。

ClipBoard.java

OK,万事俱备,剩下的就是要写bat文件和调用的Main方法入口了。

也非常简单

CreateLayooutXml.java

到此为止,Java方面要做的事情已经做完了,注意:

这句话的意思就是编译的时候,这参数需要从批处理文件中传入,传入的内容其实就是布局文件的路径。

剩下的事情就是要写一个批处理文件,然后可以传入文件路径,可以执行CreateLayoutXml.java中的Main函数就可以了。

ButterKnife_Jia.bat

好了,很好,基本上我们已经完成了这个工具的全部编码工作,这个工具的文件工程结构是这样的:



看上图,lib中放的是dom4j.jar,util中放置的是.class文件,bat文件放置在最外边。

然后开始执行bat文件



OK,批处理文件执行到这步了,等待你传入一个布局文件,只要从你的eclipse里的工程中的layout文件夹下随便拖拽一个xml到bat文件中,并按下回车就可以了,接着你就会看到



如上图所示,你的ButterKnife的写法的注解已经生成了,并且已经在你的黏贴板中了,还等什么呢,找到对应的Activity,Ctrl+V吧!!!!

下边是我Ctrl+V的哦:

@InjectView(R.id.loc_btn)

Button loc_btn;

@InjectView(R.id.loc_info)

TextView loc_info;

demo及文档下载地址: http://download.csdn.net/detail/androidstarjack/8958389

四、总结

其实这个小工具没什么技术难点,关键的地方还是思路和J***A的基本功,相信大家看完之后,也可以写出很多类似这样的小组件,加油!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: