视频教程,建议采用超清模式观看
在Android中一般都用Log输出日志,常见的有5个不同的级别
public class LogUtils { public static final boolean DEBUG=true; public static void i(String tag,String msg){ if(DEBUG) { Log.i(tag, msg); } } }
LogUtils.i("MainActivity","info");这样我们就可以通过LogUtils中DEBUG变量去控制日志的输出,当程序调试的时候我们把这个值改为true,程序发布了,就把这个值改成false。这样就可以实现我们一开始的需求。
buildTypes { debug{ // 开发阶段 buildConfigField "String", "API_URL","\"http://test.example.com/api\"" //定义了字符串变量 buildConfigField "boolean", "LOG_CALLS", "true" // 定义了boolean变量 true } release { // 发布了 buildConfigField "boolean", "LOG_CALLS", "false" minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }我们可以在buildType中配置一些全局变量,可以是String类型如“API_URL”,也可以是boolean,这里我们用到的就是LOG_CALLS这一个变量,注意一点 debug{ ...} 这个指的是程序开发阶段, release{ } 指的是程序发布阶段。我们在开发和发布阶段分别定义了对应不同值的LOG_CALLS,接下来我们就可以在LogUtils中使用这个全局变量了。
public class LogUtils { public static final boolean DEBUG=BuildConfig.LOG_CALLS; public static void i(String tag,String msg){ if(DEBUG) { Log.i(tag, msg); } } }其中BuildConfig.LOG_CALLS就是我们在上面定义的变量,这个变量在开发阶段是true,发布阶段自动的就变成了false。我们这样就干了一个一劳永逸的事了。