###1.概述java
上一期咱們已經本身動手打造了一套IOC註解框架。如何才能像ButterKnife同樣自動給咱們生成代碼呢?因此咱們不得不去了解Android Studio的插件開發了。android
咱們在開發的過程當中對Android Studio的插件應該並不陌生,咱們也時經常使用到好比: GsonFormat:如今大多數服務端api都以json數據格式返回,而客戶端須要根據api接口生成相應的實體類,這個插件把這個過程自動化了。 LeakCanary:強烈推薦,幫助你在開發階段方便的檢測出內存泄露的問題,使用起來更簡單方便。git
你們能夠本身上網去了解不少不少好用的插件,可是在咱們的實際開發過程當中咱們確定碰到過這種狀況。項目的不少類裏面某些代碼咱們可能在版本迭代的時候須要修改,而修改的內容基本一致,這個時候是否是能夠寫一個插件自動修改代碼。舉一個最簡單的例子,拿Log打印日誌來講咱們在上線的時候確定要關閉Log打印是否是能夠寫一個插件把全部Log打印註釋掉,固然在實際的開發過程當中會有Log開關。 上一期咱們是由於以爲ButterKnife插件生成的代碼怪怪的,又不能動態的檢測網絡因此本身才會動手打造一套IOC註解框架,既然是本身挖的坑說什麼也要填上,那麼這一期咱們就本身來寫一個Android Studio的IOC註解生成插件配套咱們上一期的IOC註解框架。github
全部分享大綱:2017Android進階之路與你同行json
視頻講解地址:http://pan.baidu.com/s/1gf40cV5
###2.你好世界api
網上資料太多都是你好世界,找了好久也沒有視頻教程,估計不多有人本身寫大部分確定都是用的別人的。基於這個咱們仍是老老實實先來HelloWorld吧。 android studio的插件開發必須用IntelliJ IDEA,不能直接在android studio中直接開發,因此首先下載IntelliJ IDEA,(官網下載,直接下載社區版本就好。下載安裝就不講解了,一路下一步就ok。一樣,IntellJ IDEA 運行在java上,還須要在java sdk。固然你也能夠在視頻講解的雲盤裏面下載IntelliJ IDEA。bash
2.1 初次運行markdown
啓動 IntelliJ IDEA,首次啓動後出現以下界面,由於是新裝的IntelliJ IDEA,直接選擇最後一個,點擊Ok。我仍是貼個圖吧: 網絡
選擇界面風格,這個隨意了,我選擇白色,由於要視頻講解. 而後點擊Next:Default plugins。 框架
點擊 Next:Featured plugins。
點擊 Start using IntelliJ IDEA
點擊Create New Project,進入你好我也好世界
2.2 初建項目
選擇IntelliJ Platform Plugin,而後點擊右邊的New...按鈕,這個是要配置IntelliJ 的SDK
點擊New後,會彈出對話框,選擇OK,之後再新建項目就不要再幹這事了要否則提示你會蒙B在彈出的目錄選擇框中通常會自動選擇到你的jdk目錄,若是不是,請本身選擇jdk目錄,建議jdk版本用1.8以上的。
上一步ok之後會彈出選擇IntelliJ Platform Plun SDK的對話框,通常也會自動選擇對,ok就好
接着彈出Java SDK版本選擇,選擇1.8
返回到項目建立窗口,下一步,建立HelloWorld
點擊顏色不同的那個按鈕,若是很快能夠看到下面這個頁面說明你電腦很不錯,若是要等半天恭喜你該換電腦了,若是實在慢就耐心等一等。###3.初次掃盲
下面咱們就逐個進行介紹,一進來自動就會打開plugin.xml這個文件咱們就從這個開始。 3.1 plugin.xml
3.1 新建Action 其餘目錄就沒什麼好解釋的了,能夠本身大概去瀏覽一下,plugin.xml其實也就是配置一些信息而已,下面這個就比較重要了,咱們的插件代碼都是在src中有一種體現形式就是Action。那麼咱們來新建Action,在src上單擊右鍵 彈出菜單選擇New ---Action,建立一個動做。
彈出New Action配置窗口,進行配置
點擊OK,能夠看到在plugin.xml的 action節,多了剛纔選擇和配置的內容,同時打開一個叫.java的文件,就是咱們動做的主文件,咱們暫時在文件中添加一個消息框顯示代碼(你好世界)
public class HelloWorld extends AnAction { @Override public void actionPerformed(AnActionEvent e) { // 獲取選中內容 final Editor mEditor = e.getData(PlatformDataKeys.EDITOR); showPopupBalloon(mEditor, "你好世界", 5); } /** * 顯示dialog * * @param editor * @param result 內容 * @param time 顯示時間,單位秒 */ public static void showPopupBalloon(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); } }); } } 複製代碼
如今千萬別糾結代碼,確定蒙B由於不少人估計看不懂,如今只須要知道他是彈出一個你好世界的框框就行。接下來咱們能夠點擊右上角的綠色三角run起來,大體的效果就是會從新啓動IDE在code菜單裏面會出現一個選項,點擊會彈出一個你好世界的框框。我這裏就直接生成插件算了,由於最終是要運行到Android Studio裏面。
3.2 生成插件Plugin 點擊Build選擇 Prepare Plugin Moudule....打包成jar
![T]ZZA3P{M~FY5@3$B]O0P8B.png](http://upload-images.jianshu.io/upload_images/4314397-8ef02c338126c1b5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
打包完成後,會在項目結構中看見這個HelloWorld.jar文件。至此打包完畢,注意生成jar的目錄就好,下一步在android studio中安裝這個插件
3.2 安裝插件 安裝插件其實沒什麼好講的了,可是你們平時安裝都是在線的插件,只不過這一次安裝的是本地插件而已。把生成的jar包插件複製出來放到桌面,而後選擇本地插件安裝:
安裝後重啓Android Studio,能夠選擇Code菜單也能夠直接按咱們設置的快捷鍵都行,個人快捷鍵衝突了按不了,若是快捷鍵衝突了回過頭再去改一下。全部分享大綱:2017Android進階之路與你同行
視頻講解地址:http://pan.baidu.com/s/1gf40cV5
下一期咱們會講解Android Studio 插件開發實戰篇,像butterKnife的插件同樣配套咱們本身IOC註解框架