在Android界面上显示和获取Logcat日志输出
一、首先我们要获取Logcat中的日志
如何获取呢?
首先我们要先定义一个String[]
数组,里面的代码是
//第一个是Logcat ,也就是我们想要获取的log日志
//第二个是 -s 也就是表示过滤的意思
//第三个就是 我们要过滤的类型 W表示warm ,我们也可以换成 D :debug, I:info,E:error等等
String[] running = new String[]{
"logcat","-s","adb logcat *: W"};
当我们设置好之后,我们还需要一个process
类,作用通俗来讲就是用Java
代码来进行adb
命令行操作代码是:
Process exec = Runtime.getRuntime().exec(running);
通过以上的方法我们就可以获得和过滤Logcat中的方法。
二、接下来开始使用IO流进行字符操作,把数据保存在Android SDCard
中
首先:我们定义一个InputStream
,
final InputStream is = exec.getInputStream
接下来开启一个线程,线程中的方法就是通过IO流先读取Logcat
中的数据,然后再把数据通过OutPutStream
方法写入到SDCard
中。
new Thread() {
@Override
public void run() {
FileOutputStream os = null;
try {
//新建一个路径信息
os = new FileOutputStream("/sdcard/Log/Log.txt");
int len = 0;
byte[] buf = new byte[1024];
while (-1 != (len = is.read(buf))) {
os.write(buf, 0, len);
os.flush();
}
} catch (Exception e) {
Log.d("writelog",
"read logcat process failed. message: "
+ e.getMessage());
} finally {
if (null != os) {
try<