美文网首页Android studio安卓精华教程
Android中BuildConfig类的那些事<二>

Android中BuildConfig类的那些事<二>

作者: QiuJay | 来源:发表于2016-07-01 13:01 被阅读1150次

    上篇文章已经简单讲解了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"
            }
        }
    }
    
    String type 要创建的字段类型,如上面的Stringint
    String name 要创建的字段名,如上面的BASE_URLDATE
    String value 创建此字段的值,如上面的\"http://www.test.com/\"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

    相关文章

      网友评论

      本文标题:Android中BuildConfig类的那些事<二>

      本文链接:https://www.haomeiwen.com/subject/tiifjttx.html