androidstudio_3分钟教会你Android Studio插件开发!

androidstudio_3分钟教会你Android Studio插件开发!_第1张图片

作者:在寻找雪见的景天

博客:https://www.jianshu.com/p/6b4028f9e764

前言

由于我英语很烂,写代码的时候需要用英文命名,有些单词不知道,就只能切换到浏览器打开网页搜索,再拿到英文单词。这样每次都要切换出去,很麻烦,于是,就想着开发一个Android studio插件,在里面就能完成翻译工作。上网搜了搜Android studio插件开发教程,记录一下。

效果图

androidstudio_3分钟教会你Android Studio插件开发!_第2张图片

androidstudio_3分钟教会你Android Studio插件开发!_第3张图片

androidstudio_3分钟教会你Android Studio插件开发!_第4张图片

如图所示,功能很简单:


1、点击Android studio 项目面板上的Tools里面的“翻译插件”
2、在弹出的对话框,填上需要翻译的内容,点击ok
3、就会弹出翻译结果弹框,复制翻译结果就好啦。

开始动手吧

1、下载工具

首先安装IntelliJ IDEA
下载网址:https://www.jetbrains.com/idea/

2、创建项目

安装完成后,新建一个项目,如下图:

androidstudio_3分钟教会你Android Studio插件开发!_第5张图片

点击next创建成功后,就会显示下面这个文件,里面是会报错的,要你修改了,才会显示正常,按照下面这样配置就行,类似 AndroidManifest 清单文件。

androidstudio_3分钟教会你Android Studio插件开发!_第6张图片

id:相当于安卓的包名
name:会显示在Android studio插件列表

version:版本号
vendor:用户信息
description:插件描述信息,这里要求字数的,所以写多点,不然会一直报错。

3、新建Action

先在src目录,创建一个包,然后选择包,右键新建一个Action,如下图:

androidstudio_3分钟教会你Android Studio插件开发!_第7张图片

androidstudio_3分钟教会你Android Studio插件开发!_第8张图片

Action ID:代表该Action的唯一id
Class Name:Action名字,类名啦
Name:这个会显示在菜单项那个标题
Description:描述

Groups:里面选择ToolsMenu(Tools),意思就是在Tools那个菜单栏。
Anchor:右边那个,选择First,就是在菜单栏的第一个位置
Keyboard Shortcuts:设置快捷键,根据你需要的设置,不要和别人重复就好

4、完善逻辑功能

新建完,就开始写代码啦,代码很简单,直接在上面注释了,看代码吧:

public class Translate extends AnAction {
      

   @Override
   public void actionPerformed(AnActionEvent e) {
       //弹出一个输入框,并获取输入框的内容
       String text = Messages.showInputDialog("请输入要翻译的内容",
          "提示", Messages.getQuestionIcon());
          
       if (text != null) {
       //网络请求,这个接口是百度翻译的,直接用
       HttpUtils.doGetAsyn("https://fanyi.baidu.com/transapi?from=auto&to=auto&query="
                     + text, new HttpUtils.CallBack() {
                     
                    
     public void onRequestComplete(String result) {
     
         //请求成功后,用gson解析数据出来。
         DataModel dataModel = new Gson().fromJson(result, DataModel.class);
         //这个回调是线程里面的,所以要加个方法,不然会报错
         ApplicationManager.getApplication().invokeLater(new Runnable() {
         @Override
         public void run() {
         //弹出翻译结果对话框
         if (dataModel.getData().size() > 0) {
         
             Messages.showInputDialog(text + "===>", "翻译结果",
             Messages.getInformationIcon(),
             dataModel.getData().get(0).getDst(), null);
             
                           }
                       }
                   });
               }
           });
       }
   }
}

那整个功能就完成啦,HttpUtils 类,是网上搜的。DataModel 类,是翻译的请求结果,用gson解析的。
整个工程就这样:

androidstudio_3分钟教会你Android Studio插件开发!_第9张图片

5、编译运行

androidstudio_3分钟教会你Android Studio插件开发!_第10张图片

完成了,就点击右上角这个运行符号,这个时候,他会重新打开一个IDEA界面,随便新建一个项目,这个时候,Tools那里就会“翻译插件”了。

6、插件打包

运行没问题后,就是打包了,然后给Android studio那边使用

androidstudio_3分钟教会你Android Studio插件开发!_第11张图片

点击上面图的选项,会在项目目录生成一个 jar文件

7、在Android studio 安装插件

androidstudio_3分钟教会你Android Studio插件开发!_第12张图片

打开设置,点击 Install plugin from disk ,然后选择刚刚打包出来的那个jar。确定后,重启Android studio 就可以啦。

8、发布插件

如果想把这个插件发布给其他人用,参考下面这个地址:
http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/publishing_plugin.html

看完这篇文章,有没有想法做其他插件呢?有想法就干吧,逻辑想清楚,其他的就搜索去实现。

附上这个翻译插件,你们可以下载安装到Android studio 使用。

地址:http://bmob-cdn-15734.b0.upaiyun.com/2018/11/26/df3a63f9403821368090400110a1717c.jar

近期文章:

  • @老板,我的年终奖发货了吗?

  • 嫁给程序员,我后悔了!

  • 听说你还不会Socket编程!

今日问题:

大家的英文水平如何呢?

打卡格式:

打卡 X 天,答:xxx 。

androidstudio_3分钟教会你Android Studio插件开发!_第13张图片

androidstudio_3分钟教会你Android Studio插件开发!_第14张图片

你可能感兴趣的:(androidstudio)