Android Studio上Template(模板)的開發基礎篇

前言

Android Studio自身提供的模板可幫助我們減少重復勞動,而且可以遵循優化后的設計和標準。AS采用的是Apache FreeMarker模板引擎。
在網上,關于模板開發的資料比較少,于是自己就花了時間研究了下。下面把學習心得跟大家分享下。
環境:
Android Studio 3.6.2
TemplateBuilder 2.3

一、插件化創建模板

1.插件安裝

首先,進入Android studio的【File】->【setting】界面,然后點擊【Plugins】,切換到【Marketplace】搜索“TemplateBuilder”,搜索出來后,點擊【install】進行安裝,如下圖:


TemplateBuilder搜索及安裝.png

安裝完成后,重啟AS,就可以看到在【Tools】->【Generate Template】,如圖:


插件的位置.png
2.創建自己的開發模板

這里先創建一個模板類,如下:

package ${packageName};//這里是創建包名

import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;
//這里的${activityName},將被替換為使用模板時輸入的名稱
public class ${activityName} extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.${layoutName});
    }
}

模板類創建后,選中該類,然后點擊【Tools】->【Generate Template】,彈出生成模板界面如下圖


QQ截圖20200523221434.png

點擊【Add】添加參數,該參數即為使用模板時要輸入的值,如下:

QQ截圖20200523174008.png

這時就添加了一個叫ActivityName的參數,如果需要多個輸入參數,這里可以繼續點擊【Add】添加所需要的參數,比如我們這里需要packageName和layoutName。

其中,id、name、type三項為必填項,default、help為選填項;

添加完成后,點擊【Next】進入設置配置文件界面,如下圖:


模板配置文件界面.png

這里對圖中幾個頁簽進行解釋下:

  • recipe.xml.ftl,這個是配置使用模板創建類時所用的模板文件路徑及要生成的目標文件路徑;
  • globals.xml.ftl,這個文件配置的是全局變量的,這些變量可以在模板文件中引用;
  • template.xml,這個配置文件是配置使用模板是用戶要輸入的參數及對recipe.xml.flt和globals.xml.ftl兩個配置文件的引用;
  • build.gradle.ftl,這個是build.gradle的模板文件;
  • AndroidManifest.xml.ftl,這個是向AndroidManifest.xml中添加注冊信息所需要的模板文件;

最后直接點擊【OK】生成模板,然后重啟AS.

來看下我們生成的模版相關文件信息:


QQ截圖20200523220415.png

到此,模板已經算是生成了,下面我們就來使用我們創建的模板進行文件創建。

3.使用自定義的模板創建目標文件

AS啟動后,選中包,【右鍵】->【New】->【MyTempate】->【app】,如下圖:


QQ截圖20200523220831.png

解釋下:上面的【MyTemplate】即最開始輸入的【Tempate Category目錄名稱】,【app】即為模板名稱

點擊后就會彈出創建界面,并輸入相應的名稱,及布局文件名稱,如下圖:


image.png

點擊【Finish】即可完成新建類。新建結果如下:


image.png

從上圖見,箭頭指向的幾個地方已經被我們輸入的參數信息給替代。OK,一個簡易的java類模板制作已經完成。

如果你僅僅想制作一個Java類的生成模板,到這里已經能完全滿足你的需求了。

恭喜你,成功入門了。

當看到圖中的setContent處,有人會問布局文件那里為啥是紅色的呢?
答:那是因為咱們通過工具生成的模版太過簡單,無法自動生成布局文件。

如果你僅滿足于制作簡單的模板,可以直接點擊右上角【X】
想制作高逼格的Android開發模板,可以移步→進階篇

Android Studio上Template(模板)的開發進階篇

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。