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