android studio 插件開發(fā)

android studio 插件開發(fā)

起因

去年公司開始上新項目,正好android在架構這方面的討論也開始多了起來,于是mvp架構模型就進入我們技術選擇方案里面,mvp有很多好處,但是有一個非常麻煩的地方是代碼量很大,寫一個頁面需要寫很多接口類回調。所以當時就想寫一個插件用代碼來生成,但是迫于項目緊急一直沒有研究。最近公司項目不是很緊,所以抽空搞了下.

過程

剛開始選擇方案,我是準備拿python寫,因為之前也接觸過,寫過一點小程序,所以還算比較順手,但是寫了一半之后,感覺用python和androidstudio結合不是很緊密,通過了解,開發(fā)android studio的插件也是用java,所以就再次換成開發(fā)android studio的方式。

由于android studio是用的IntelliJ IDEA的開源版本做的,所以開發(fā)android studio的插件 ,其實就是開發(fā)IntelliJ IDEA的插件,所以IntelliJ IDEA是必須的,可以在官網去下載社區(qū)免費開源版本。

下載好之后,新建項目

選擇sdk 里面的jdk的目錄。這樣就新建好了一個插件工程

里面有如下兩個重要的目錄

其中plugin文件中主要進行一些插件配置,比如說插件名字,插件的官網,當然一些按鈕之類的也是在這里面配置

<idea-plugin version="2">
  <id>com.gaotenglife.create</id>
  <name>MVP_CODE_CREATOR</name>
  <version>1.0</version>
  <vendor email="gaotengxuelang@gmail.com" url="http://www.gaotenglife.com">xuelang</vendor>
  <description>
    幫助生成mvp框架代碼
  </description>
  <change-notes><![CDATA[
      Add change notes here.<br>
      <em>most HTML tags may be used</em>
    ]]>
  </change-notes>
  <idea-version since-build="141.0"/>
  <extensions defaultExtensionNs="com.intellij">
  </extensions>
  <actions>
    <group id="MvpPlugin.SampleMenu" text="_MvpTools" description="tools">
      <add-to-group group-id="MainMenu" anchor="last"  />
      <action id="MvpPlugin.CreateFileAction" class="CreateMVPFiles" text="CreateFiles" description="createfiles" />
    </group>
  </actions>
  <application-components>
  </application-components>
</idea-plugin>

上面大概一看就能懂,下面一塊就主要用來定義點擊事件,其中的class代表點擊事件的類

<actions>
    <group id="MvpPlugin.SampleMenu" text="_MvpTools" description="tools">
      <add-to-group group-id="MainMenu" anchor="last"  />
      <action id="MvpPlugin.CreateFileAction" class="CreateMVPFiles" text="CreateFiles" description="createfiles" />
    </group>
  </actions>

同時我們在src目錄下新建一個java類,繼承自AnAction

public class CreateMVPFiles extends AnAction {
    @Override
    public void actionPerformed(AnActionEvent event) {
        project = event.getData(PlatformDataKeys.PROJECT);
        packagebase = readPackageName();
        initSelectView();
        project.getProjectFilePath();
    }
}

其中actionPerformed方法就是點擊響應的方法.

接下來主要就是java swing的一些界面操作了,比如你可以新建jframe jdialog
等等。這樣簡單的入門插件你就能開發(fā)了。

下面是我寫的項目的源代碼地址
MvpCodeCreator插件代碼地址

個人網站:www.gaotenglife.com

轉載請注明出處http://www.cnblogs.com/gaoteng/p/5684076.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容