美文网首页程序员Android开发经验谈Android知识
手把手教你开发Android studio翻译插件

手把手教你开发Android studio翻译插件

作者: 在寻找雪见的景天 | 来源:发表于2018-11-26 20:03 被阅读32次

    前言

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

    效果图

    点击Android studio工具面板
    输入要翻译的内容
    就能得出翻译结果

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

    开始动手吧

    1、下载工具

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

    2、创建项目

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



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


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

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

    3、新建Action

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



    配置Action信息

    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解析的。
    整个工程就这样:


    image.png
    5、编译运行
    image.png

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

    6、插件打包

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


    image.png

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

    7、在Android studio 安装插件
    image.png

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

    8、发布插件

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

    最后说几句

    看完这篇文章,有没有想法做其他插件呢?有想法就干吧,逻辑想清楚,其他的就搜索去实现。
    附上这个翻译插件,你们可以下载安装到Android studio 使用。
    地址:Translate.jar

    相关文章

      网友评论

        本文标题:手把手教你开发Android studio翻译插件

        本文链接:https://www.haomeiwen.com/subject/pbciqqtx.html