上篇文章已經(jīng)簡單講解了
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
自有的一些常量值可能并不是很厲害蹦魔,但如果可以添加自己想要的一些值就好了激率,這樣就可以把一些常量值放置在此類了,很慶幸版姑,這樣的需求完全可以實現(xiàn)柱搜。
我們假設有這么一個需求,一般我們app
和服務端交互時剥险,要請求服務端的Url
聪蘸,然而BaseUrl
在開發(fā)時大家一般都是抽出來定義成常量,這里我們就把這個BaseUrl
寫到1BuildConfig
中。
android {
......
buildType {
debug {
buildConfigField "String","BASE_URL","\"http://www.test.com/\""
buildConfigField "int","DATE","20160701"
}
}
}
String type | 要創(chuàng)建的字段類型健爬,如上面的String 與int
|
---|---|
String name | 要創(chuàng)建的字段名控乾,如上面的BASE_URL 與DATE |
String value | 創(chuàng)建此字段的值,如上面的\"http://www.test.com/\" 與20160701 |
我們在buildType
中的任意type(包括自定義的)中輸入buildConfigField
語法來實現(xiàn)的娜遵,此方法有三個參數(shù)buildConfigField(String type,String name,String value)
蜕衡,解釋下:
String type | 要創(chuàng)建的字段類型,如上面的String 與int
|
---|---|
String name | 要創(chuàng)建的字段名设拟,如上面的BASE_URL 與DATE |
String value | 創(chuàng)建此字段的值慨仿,如上面的\"http://www.test.com/\" 與20160701 |
但這里要注意一點就是,當創(chuàng)建的類型為String
時纳胧,定義value的時候要注意加上字符串不能缺少的雙引號""
镰吆,由于參數(shù)本身要傳入的類型也是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