Android Studio Plugin 外掛開發教程(四) —— 為自動生成資料庫程式碼的外掛新增UI

boredream發表於2017-09-08

專案原始碼

github.com/boredream/A…

系列教程

Android Studio Plugin 外掛開發教程(一) —— 開發你的第一個外掛

Android Studio Plugin 外掛開發教程(二) —— 外掛SDK中的常用物件介紹

Android Studio Plugin 外掛開發教程(三) —— 製作一個自動生成資料庫程式碼的外掛

Android Studio Plugin 外掛開發教程(四) —— 為自動生成資料庫程式碼的外掛新增UI


教程三其實已經完成了外掛基本功能的開發,為了更好用,還可以加入可操作的對話方塊。這次我們新增一個Dialog,可以勾選需要的資料類欄位、主鍵,效果圖如下

對話方塊的新建可以通過 File | New | Dialog
輸入名字後確認,會自動生成兩個類,共同儲存在ColumnDialog資料夾中

Dialog
Dialog

  • XXX.java 頁面邏輯控制類
  • XXX.form 對話方塊UI佈局樣式

有點類似於安卓裡的 Activity.java 和 layout.xml 類

.form佈局類是視覺化編輯的,可以直接從右側的控制元件庫中拖到UI上,然後在左邊的頁面中選擇對應控制元件修改屬性。

編輯好頁面後,就可以在類似於Activity的.java類中處理邏輯了,但不同於Activity裡需要findViewById去定位控制元件,這裡是用名字匹配的~
當你在.form上給一個控制元件的field name指定名稱後(參考上圖紅圈),就會自動在對應的.java檔案裡生成一個相對的成員變數

當然,和安卓裡一樣,你可以在form裡拖一個控制元件出來,同樣也可以在java類中new一個新的出來

有安卓基礎的會很快掌握~ 這些控制元件都是Java裡swing啥的自帶的,網上教程也很多,可以自行搜尋學習,貼個文件:
docs.oracle.com/javase/tuto…


UI部分程式碼的開發就不詳細介紹了,比較簡單,詳細請參考原始碼,只簡單介紹下思路:

  1. IDE中點外掛的時候解析當前編輯的資料類,將這個Class的成員變數都在對話方塊中展現出來
  2. 展現的時候,每個成員變數item都提供一個Checkbox,可以勾選,代表是否作為資料庫欄位,此外還有單選框表示是否作為主鍵
  3. 額外新增一個_ID欄位item(繼承與BaseColumn類提供的),預設作為主鍵~ 且Checkbox的enable設為false不能取消勾選
  4. 提供全選按鈕方便操作,此外還有確定和取消按鈕
  5. 確定按鈕的點選事件中呼叫生成程式碼方法,並傳入從對話方塊中搜集的資訊去生成這些程式碼
  6. 參考教程(三)的步驟拼接程式碼並寫入到類檔案中

注意,這裡生成程式碼的時候有了額外的處理
當預設主鍵時,只生成add、all list、get all、delete all幾個基本方法
而有自定義欄位(非_ID欄位)作為主鍵時,額外提供用主鍵的key去刪除和查詢資料的方法~

相關文章