上篇文章已經簡單講解了
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
,就可以看到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 | 要創建的字段類型,如上面的String 與int |
---|---|
String name | 要創建的字段名,如上面的BASE_URL 與DATE |
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() {
}
}