标签:
导语:最近实在是太忙了,没有怎么更新公众号,也没有怎么认真去写一些内容,在这里先给关注我的朋友说一声抱歉,可能在接下来的一段时间,还是很忙,但是我会争取抽空多分享一下技术文章,给大家看,共同进步,也希望有能力的人可以一起出来分享。第二步:线程未捕获异常接口的实现
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.lang.Thread.UncaughtExceptionHandler;
public class CrashHandler implements UncaughtExceptionHandler{
private static CrashHandler crashHandler;
@Override
public void uncaughtException(Thread thread, Throwable ex) {
// TODO Auto-generated method stub
if (crashHandler != null) {
try {
//将crash log写入文件
FileOutputStream fileOutputStream = new FileOutputStream("/mnt/sdcard/crash_log.txt", true);
PrintStream printStream = new PrintStream(fileOutputStream);
ex.printStackTrace(printStream);
printStream.flush();
printStream.close();
fileOutputStream.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//设置默认处理器
public void init() {
Thread.setDefaultUncaughtExceptionHandler(this);
}
private CrashHandler() {}
//单例
public static CrashHandler instance() {
if (crashHandler == null) {
synchronized (crashHandler) {
crashHandler = new CrashHandler();
}
}
return crashHandler;
}
}
第三步:在application中调用异常的捕获功能
import android.app.Application;
public class MainApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
CrashHandler crashHandler = CrashHandler.getInstance();
crashHandler.init(this);
}
}
第四步:application在清单文件中的注册<application android:name=".MainApplication"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
...
</application> 讲到这里就介绍完了,如果你把这些代码插入进去了,等你程序再崩溃的时候,就会给你自动记录了,当然上面讲的这些只是给你记录到本地,并存放成文件了,如果想上传到服务器,还请同学们自己动手,把文件进行上传吧!上传文件到服务器我想同学们应该都会吧!版权声明:本文为博主原创文章,未经博主允许不得转载。
Android将应用程序的崩溃信息如何保存到本地文件,并上传服务器
标签:
原文地址:http://blog.csdn.net/loongggdroid/article/details/48089365