簡述: 好久沒有發佈Kotlin的實戰相關的內容,這段時間在折騰Intellij IDEA的插件開發,折騰出了幾個小插件,由於最近公司業務分離,原來堆在基礎業務那邊模塊,都以模塊的形式抽離出來,獨立倉庫管理。那麼就是各類打包,jenkins打包配置模塊特別麻煩,因此想着是否能夠開發一個AndroidStudio插件,我能夠寫代碼和構建發佈包同時進行,想一想都美滋滋,因此纔去研究了下插件的開發。摸清插件開發套路後,其實也以爲挺簡單,而後發現不少地方均可以用插件自動化實現,頓時有種發現新大陸趕腳。此次我要講是如何從零開始,使用Kotlin擼一個AndroidStudio圖片壓縮插件,本系列文章總三篇:《用Kotlin擼一個圖片壓縮插件ImageSlimming-導學篇》、《用Kotlin擼一個圖片壓縮插件ImageSlimming-插件基礎篇》、《用Kotlin擼一個圖片壓縮插件ImageSlimming-實戰篇》git
咱們在項目開發過程當中常會使用圖片,通常開發者都不會直接把設計切的圖片放入到項目中,而是會去壓縮一下,那麼通常會去TinyPng網頁端壓縮一遍,你通常會先把要壓縮的圖片拖進去,而後又一張張把圖片點擊下載下來,是否是感受特別的浪費時間,是否是須要把浪費的時間省下來,而後就愉快地早點下班啦。若是你尚未使用過TinyPng,那麼這個插件也許適合你。github
而後這段時間正研究插件,因此決定試試,其實很簡單的。由於TinyPng提供develop api,能夠方便實現圖片壓縮。此次插件也就是利用了它的API開發的。api
ImageSlimming是一個基於TinyPng API開發的圖片壓縮的IDEA工具插件,採用的是Kotlin語言開發以及Java Swing框架設計UI界面。可運行在AndroidStudio,Intellij IDEA,WebStorm等JetBrains全家桶系列IDE中。緩存
因爲插件是這兩天才開發,ImageSlimming插件目前已經發布到jetbrains倉庫中審覈了,相信過幾天就能夠在AndroidStudio或其餘jetbrains全家桶中plugin中搜索到它了。因此這裏先給出插件源碼地址和插件包下載地址。框架
插件源碼地址函數
插件包下載工具
ImageSlimming圖片壓縮插件開發完成後,立刻就把它推薦給團隊內部人員使用,在週會上就有同事提出了一個需求,就是在AndroidStudio項目中,能夠任意選中res目錄下一張或多張圖片,而後直接右鍵選擇,就能夠實現圖片壓縮。而後思考了一波,這個需求挺好的,內心大概想了下,今晚就去把它實現了。實現效果大概以下:插件
實現這個功能後,把V1.1版本的代碼作了很大的結構上調整,抽離出一些公共的頂層函數和擴展函數,目前這個功能代碼已經更新到GitHub上了,請認準feature-image-slimming-v1.2分支。線程
歡迎關注Kotlin開發者聯盟,這裏有最新Kotlin技術文章,每週會不按期翻譯一篇Kotlin國外技術文章。若是你也喜歡Kotlin,歡迎加入咱們~~~翻譯