您的位置:首页 > 移动开发 > Android开发

自己编写Android Studio插件 别停留在用的程度了

2017-10-15 16:18 260 查看
相信大家在使用Android Studio的时候,或多或少的会使用一些插件,适当的配合插件可以帮助我们提升一定的开发效率,更加快乐。例如:

https://github.com/zzz40500/GsonFormat 可以帮助我们从Gson转化为实体类

https://github.com/avast/android-butterknife-zelezny 可以帮助我们更加方便的使用butterknife

https://github.com/Skykai521/ECTranslation 可以帮助在IDE里面完成英文->中文的翻译

有句话叫做授人以鱼不如授人以渔,不能一直跟随着别人的脚步去使用插件了,有必要去学习编写插件,当自己有好的创意的时候,就可以自己实现了。So,本文的内容是:

ok,其实编写插件并不难,官方也有详细的文档,所以你也可以选择直接阅读下文学习:

http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started.html

为了文章有一定的流畅性,决定以ECTranslation作为编写Android Studio插件的例子。

1、准备工作

首先需要安装IntelliJ IDEA

下载网址:https://www.jetbrains.com/idea/

下载好就可以了~~

然后安装,运行,点击create New Project:



按照上图进行选择,如果没有SDK,则点击New新建一个即可。

然后点击Next,输入项目名称选择位置,就可以点击finish了。

项目的结构如下:



src目录下主要用于存放我们编写的代码。

这样准备工作就结束了~~

2、编码

编码实际上核心的一个类叫做AnAction,可以直接选择NEW->Action,如下图:



然后填写一些相关信息:



需要填写的属性如下:

ActionID:代表该Action的唯一的ID,一般的格式为:pluginName.ID

ClassName:类名

Name:就是最终插件在菜单上的名称

Description:对这个Action的描述信息

然后往下,选择这个Action即将存在的位置:

我们选择的是EditMenu,右侧选择为first,即EditMenu下的第一个,效果如图:



再往下就是制定快捷键了~~

都填写完成就可以点击OK了。

点击ok之后,可以看到为我们生成了下类:



此外我们刚才填写的信息,也在plugin.xml中完成了注册,大家可以进去看一眼,actions的标签中,

当我们点击菜单的时候,就回触发
actionPerformed()
方法。

那么这么看,我们在这个方法中只要完成三件事:

获得当前选中的单词

调用相关API得到单词的意思通过一个类似于PopupWindow来显示

当然,为了尽快的测试,你可以先在里面弹一个对话框,例如如下:



预期效果是点击Tranlate菜单,或者按快捷键会弹出一个提示对话框。

那么点击Run:



然后它会默认启动一个新的IntelliJ IDEA的界面,你可以随便新建一个项目,进入以后,你会发现Edit下多了一个Translate菜单,点击即可弹出我们设定的对话框:



ok,测试通过就放心了~

继续刚才的功能性的API:

获得当前选中的单词

调用相关API得到单词的意思

通过一个类似于PopupWindow来显示

获得的选中的单词



是不是觉得API很陌生,恩,我也觉得很陌生,关于API这里介绍其实没什么意义,本文主要目的是让大家对自定义插件有个类helloworld的认识,至于插件里面的代码涉及到的API等到大家需要编写插件的时候,再详细学习就好了,现在就不要浪费精力记忆这些东西了。

上面的代码就是获得选中的文本,通过一个Editor,然后拿到SelectionModel,再拿到selectedText,从字面上还是蛮好理解的。

拿到选中的文本之后,应该就是去查询该单词的意思了,查询呢,ECTranslation用的是youdao的Open SDK,其实也很简单,就是拼接一个url,然后等着解析返回数据就好了。

部署插件

填写插件相关信息

打开项目文件的plugin.xml,如下图:



在里面填写id,name,version等。。。记得随便填一下~

然后,点击build->prepare plugin…,如下图:



会在项目的根目录生成一个jar,如图:



最后我们在androidStudio的plugin里面安装这个插件即可

上面的文章转载的是Hongyang大神的内容,作为自己实践以后的总结,方便在日后自己的查阅

具体内容链接:http://mp.weixin.qq.com/s/tW8AA4mRasL3UjRMuWB4rQ
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 插件