1. 程式人生 > >Android studio外掛開發

Android studio外掛開發

前言

使用Android studio或者idea開發的朋友肯定都安裝了許多外掛,比如我們常用的GsonFormat、ButterKnife等,那麼我們如何編寫自己的外掛呢,當然也可以釋出到官網所有人都可以查詢到你開發的外掛,那麼我們這邊文章為大家講解Android studio外掛開發之外掛開發helloworld。

1.下載開發工具

開發studio外掛我們使用的工具是idea,還沒有idea的朋友,可移步之idea官網http://www.jetbrains.com/,下載完成直接安裝即可。

2.新建專案

開啟idea,新建專案,選擇IntelliJ Platform Plugin,第一次新建需要設定sdk的位置,選擇位置即可

點選Next,輸入專案名稱,點選finish等待專案建立完成

專案建立完成後,目錄結構如下所示

接下來,我們主要看plugin.xml中的內容

id即為外掛的id

name為外掛的名稱

version為外掛的版本號

vendor中的內容為你的郵箱以及公司名稱、官網等

這些資訊在使用者下載外掛時都會展示給使用者的

第二部分 如圖

description即為外掛的描述,也就是外掛時幹什麼的,change-notes時產檢更新說明

第三部分 如圖

extensions即為產檢的擴充套件註冊

action就是動作註冊,也就是說我們安裝完這個外掛後,在哪裡使用快捷鍵是什麼,在哪個選單下

3.新建Action

右擊src目錄選擇新建(建議先新建包在包內新建action避免出現null的錯誤),選中action(idea版本不同action的位置可能不同),我使用的是2016,如下圖:

之後填寫先關配置資訊,groups這裡選擇的是code,也就是外掛出現在code選單下

設定快捷鍵的時候,儘可能不和常用的快捷鍵衝突,我的設定如下圖所示:

設定完成後點選ok

我們首先在Action中的程式碼中編寫如下程式碼,讓選中文字之後彈出dialo,程式碼如下:

@Override
public void actionPerformed(AnActionEvent e) {
    // TODO: insert action logic here
    // 獲取選中內容
    final Editor mEditor = e.getData(PlatformDataKeys.EDITOR);
    showDialog(mEditor, "這是一個測試外掛", 5);
}

public static void showDialog(final Editor editor, final String result, final int time) {
    ApplicationManager.getApplication().invokeLater(new Runnable() {
        public void run() {
            JBPopupFactory factory = JBPopupFactory.getInstance();
            factory.createHtmlTextBalloonBuilder(result, null, new JBColor(new Color(116, 214, 238), new Color(76, 112, 117)), null)
                    .setFadeoutTime(time * 1000)
                    .createBalloon()
                    .show(factory.guessBestPopupLocation(editor), Balloon.Position.below);
        }
    });
}

接下來我們點選run按鈕,會自動開啟一個新的idea視窗,我們在生成的新的idea視窗中,選中code選單,我們看到在第一行有一個hello的按鈕就是我們的外掛。

我們選中點選hello,可以看到彈出一個小框框,顯示出了資訊,那麼說明helloworld這個外掛就測試成功了,圖下圖所示:

4.生成jar外掛

我們可以將外掛生成jar

點選build,選中生成外掛,如下圖所示

之後我們可以看到專案目錄下生成了hello.jar,我們在android中選擇plugins選單,選擇本地安裝外掛選擇生成的jar,就可以在android studio中使用我們的外掛了。

那麼我們釋出我們的外掛讓所有使用者都可以使用呢,我們繼續往下看。

5.釋出外掛

釋出外掛可以參照官方文件

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

此外,大家肯定也好奇為什麼彈出框那樣寫,其實他也是有自己的一套開發api的,可根據自己需求自行檢視

像一些翻譯或者是已經有的外掛就沒必要按部就班的模仿了,如果大家在開發途中,突然想到如果該有一款**外掛該多好啊,那麼可以和我取得聯絡,讓我們一起創造更加便捷的外掛。

歡迎關注技術公眾號,微訊號搜尋ColorfulCode 程式碼男人

分享技術文章,投稿分享,不限技術種類,不限技術深度,讓更多人因為分享而受益。