亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

開發一個好項目:九、android奔潰日記記錄系統

標簽:
Android

前一篇文章:开发一个好项目:八、创建view 框架地址 dileber android框架 希望大家能多多star一下

构造自己android奔溃文件日志记录。你的项目如果继承自dileber框架,你的项目将具有自动记录奔溃日志的功能。
奔溃日志的代码类为 AndroidCrash.java

public class AndroidCrash{

    private static AndroidCrash instance = null;

    private Thread.UncaughtExceptionHandler mDefaultCrashHandler;

    private AndroidCrash(){
        // get default
        mDefaultCrashHandler = Thread.getDefaultUncaughtExceptionHandler();

        // install
        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
            @Override
            public void uncaughtException(Thread thread, final Throwable ex) {
                // save log
                saveException(ex, true);
                showToast( "很抱歉,程序发生异常,即将推出.");
                try {
                    Thread.sleep(3500);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                // uncaught
                mDefaultCrashHandler.uncaughtException(thread, ex);
            }
        });
    }

    public static AndroidCrash getInstance() {
        if (instance == null) {
            instance = new AndroidCrash();
        }

        return instance;
    }

    public final void saveException(Throwable ex, boolean uncaught) {
        CrashSaver.save(SApplication.getAppContext(), ex, uncaught);
    }

    public void setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler handler) {
        if (handler != null) {
            this.mDefaultCrashHandler = handler;
        }
    }

    /**
     * 进行弹出框提示
     *
     * @param msg
     */
    private void showToast( final String msg) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                Looper.prepare();
                UUi.toast(ActivityManager.getCurrentActivity(), msg, Toast.LENGTH_SHORT);
                Looper.loop();
            }
        }).start();
    }

}

该类具有自动记录奔溃日志,在崩溃前一秒会进行友好提示。
记录的日志目录位于sd卡目录的“ Android/data/你的包名/log”方便用户进行清理缓存,
记录的文件可以用于上传奔溃日志等等操作:
如下奔溃日志

count: 3 
time: 2017-02-24 11:50:44 
device: Xiaomi MI 4LTE 
android: 6.0.1 
system: MMB29M 
battery: 100 % 
rooted: no 
ram: 27.0% [1.00 GB] 
disk: 32.0% [12.00 GB] 
ver: 1 caught: no 
network: WIFI 
java.lang.NullPointerException: Attempt to invoke interface method ...
點擊查看更多內容
2人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
移動開發工程師
手記
粉絲
81
獲贊與收藏
3604

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消