Android Studio插件开发

作者: JuliusL | 来源:发表于2017-06-05 12:49 被阅读76次

一、需求分析:

目的为了不写重复的代码,整个MVP模式下的建包,建类过程十分繁琐,模版代码又十分固定,变化的部分的只有几个单词而已,这些代码毫无技术含量,所以就想着写个插件自动生成,变化的部分(如:类名关键字,请求的接口名等等)就用配置文件的方式导入(json格式,规则自定),以后这里还可以改进为变化的单词用表单的形式手动填写,因为目前对IntelliJ IDEA的GUI部分掌握不足,所以暂时没实现该功能。

二、插件展示:

使用效果.gif 。
github:https://github.com/liujia95/android-intellij-plugin-generate-mvp-code

三、开发过程:

开发工具:IntelliJ IDEA。

步骤一:新建项目。

1、File->New Project,然后按照下图操作。
2、点击next。
3、填写项目路径后点击finish即可。


新建项目.png

步骤二:了解项目结构。

新建项目后的项目结构如下:


项目结构.png

1、plugin.xml:项目的配置说明文件,相当于Android项目中的AndroidManifest.xml,负责一些Action、Extension等等已经项目版本信息、作者的注册和声明。
2、res:就是实现插件的关键代码。

<idea-plugin version="2">
  <id>com.your.company.unique.plugin.id</id><!--插件ID,自定义,如果要上传到Plugins仓库不能有重复ID -->
  <name>Plugin display name here</name><!--插件名称-->
  <version>1.0</version>
  <vendor email="support@yourcompany.com" url="http://www.yourcompany.com">YourCompany</vendor><!--邮箱和网址,上传到Plugins仓库会在你的插件界面显示 -->

  <!-- 你的插件的简介,同样是显示在Plugins仓库信息界面 -->
  <description><![CDATA[
      Enter short description for your plugin here.<br>
      <em>most HTML tags may be used</em>
    ]]></description>

  <!-- 版本更新信息-->
  <change-notes><![CDATA[
      Add change notes here.<br>
      <em>most HTML tags may be used</em>
    ]]>
  </change-notes>

  <!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/build_number_ranges.html for description -->
  <idea-version since-build="141.0"/>

<!--产品选择,后文会提 -->
  <!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
       on how to target different products -->
  <!-- uncomment to enable plugin in all products
  <depends>com.intellij.modules.lang</depends>
  -->

<!--扩展组件注册 要是用到applicationConfigurable即项目配置等就在这里注册-->
<extensions defaultExtensionNs="com.intellij">
<!-- Add your extensions here -->
</extensions>

<!--Action注册,比如在某个菜单下增加一个按钮就要在这注册 -->
  <actions>
    <!-- Add your actions here -->
  </actions>

</idea-plugin>

步骤三:编写一个菜单选项(创建一个Action)。

1、新建包:右键点击res,New——> package。
2、在包下面:New——>Action。
3、填写配置信息。

Action配置说明.png

4、点击OK后会自动生成一个TestAction.Java的类:

public class TestAction extends AnAction { 
  @Override 
  public void actionPerformed(AnActionEvent e) { 
     // TODO: insert action logic here
     //点击菜单Edit的test后会跳进这个方法
  }
}

4、可以看到在plugin.xml的actions元素下多了刚才选择和配置的内容。

<actions>
  <!-- Add your actions here -->
  <action id="Test.ID" class="TestAction" text="test" description="test test ">
    <add-to-group group-id="MainMenu" anchor="first"/>
    <keyboard-shortcut keymap="$default" first-keystroke="alt T"/>
  </action>
</actions>

步骤四:写核心代码:

内容比较多,这一步骤待写。

步骤五:插件打包到本地并安装插件:

1、Build——>Prepare Plugin Module 'XXX' For Deployment生成一个.jar包。
2、打开Android Studio。
3、Preferences -> Plugins -> Install plugin from disk找到.jar包的位置。

注:

整套模版只适用于该项目的架构体系。

相关文章

网友评论

    本文标题:Android Studio插件开发

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