基础知识-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="编译时间"/>

  

 

posted @ 2018-08-10 11:16  liuyj_vv  阅读(997)  评论(0编辑  收藏  举报