基础知识-android studio 打印行号,编译时间
一:
/**
*得到Exception所在代码的行数
*如果没有行信息,返回-1
*/
public static int getLineNumber(Exception e){
StackTraceElement[] trace =e.getStackTrace();
if(trace==null||trace.length==0) return -1; //
return trace[0].getLineNumber();
}
    public static String getLineNumber(Exception e){
        StackTraceElement[] trace =e.getStackTrace();
        if(trace==null||trace.length==0) return "-1"; //
        Integer integer =trace[0].getLineNumber();
        return "LINE:"+integer + " 0X"+integer.toString(16);
    }
//使用例子:
System.out.println(“Current line:”+getLineNumber(new Exception()));
二:.在代码中使用编译时间 BuildConfig.BUILD_TIMESTAMP
//文件 app中的 build.gradle
//配置
defaultConfig {
        ...
        buildConfigField "String", "BUILD_TIMESTAMP", getDate()
    }
//函数
String getDate() {
    Date date = new Date();
    SimpleDateFormat bjdata = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");     // 北京
    bjdata.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));  // 设置北京时区
    String str = "\""+"编译时间 毫秒数:" + date.getTime() + ", 北京时间:" + bjdata.format(date)+"\"";
    return str;
}    
//代码
        TextView textView = findViewById(R.id.compileData);
        textView.setText(BuildConfig.BUILD_TIMESTAMP);
//xml
    <TextView
        android:id="@+id/compileData"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:gravity="center"
        android:text="编译时间"/>

 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号