Android中BuildConfig類的那些事

上篇文章已經簡單講解了BuildConfig類,今天我們來學習怎麼擴展一些我們自己的信息進去

給FLAVOR字段賦值

FLAVOR字段是在我們多渠道打包的時候會自動賦值的,value取的就是我們的渠道名<怎麼利用AndroidStudio打多渠道,請大家自行找搜索引擎>。
下面我們直接來實操一下:

android {
    ......
    productFlavors{
        應用寶{

        }
    }
    ......
}
package com.jay.demo;

public final class BuildConfig {
    public static final boolean DEBUG = Boolean.parseBoolean("true");
    public static final String APPLICATION_ID = "com.jay.demo";
    public static final String BUILD_TYPE = "debug";
    public static final String FLAVOR = "應用寶";
    public static final int VERSION_CODE = 1;
    public static final String VERSION_NAME = "1.0";

    public BuildConfig() {
    }
}

BuildConfig.class

這時我們進入BuildConfig,就可以看到FLAVOR被賦值了。

添加自己的字段

BuildConfig自有的一些常量值可能並不是很厲害,但如果可以添加自己想要的一些值就好了,這樣就可以把一些常量值放置在此類了,很慶幸,這樣的需求完全可以實現。
我們假設有這麼一個需求,一般我們app和服務端交互時,要請求服務端的Url,然而BaseUrl在開發時大家一般都是抽出來定義成常量,這裏我們就把這個BaseUrl寫到1BuildConfig中。

android {
    ......
    buildType {
        debug {
            buildConfigField "String","BASE_URL","\"http://www.test.com/\""
            buildConfigField "int","DATE","20160701"
        }
    }
}

我們在buildType中的任意type(包括自定義的)中輸入buildConfigField語法來實現的,此方法有三個參數buildConfigField(String type,String name,String value),解釋下:

String type 要創建的字段類型,如上面的Stringint
String name 要創建的字段名,如上面的BASE_URLDATE
String value 創建此字段的值,如上面的\"http://www.test.com/\"20160701

但這裏要注意一點就是,當創建的類型爲String時,定義value的時候要注意加上字符串不能缺少的雙引號"",由於參數本身要傳入的類型也是String,所以我們在添加的時候加上轉義字符。

package com.jay.demo;

public final class BuildConfig {
    public static final boolean DEBUG = Boolean.parseBoolean("true");
    public static final String APPLICATION_ID = "com.jay.demo";
    public static final String BUILD_TYPE = "debug";
    public static final String FLAVOR = "";
    public static final int VERSION_CODE = 1;
    public static final String VERSION_NAME = "1.0";
    public static final String BASE_URL = "http://www.test.com/";
    public static final int DATE = 20160701;

    public BuildConfig() {
    }
}

Custom BuildConfig.class

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章