編輯:關於Android編程
已經做成sdk的形式,源碼已公開,源碼看不懂的請自行google。
如果想定制適應自己app的sdk請自行fork。
作者:賈博士
1.LogCollector是lib包,在需要添加崩潰日志sdk的工程中導入此包。
2.導入lib後,在自己的工程的AndroidManifest.xml文件中加入權限:
3.在自己的工程中重寫自己的application,在oncreate中加入
LogCollector.init(getApplicationContext(), UPLOAD_URL, params);
PS:重寫自己的application記得在Manifest注冊
參數:
1.Context
2.String UPLOAD_URL ,上傳地址url,支持http和https方式,post方法。
3.HttpParameters params ,自定義的類,用於post上傳其他參數。
說明:
發生崩潰後,日志會保存在 /data/data/{your package name}/files/ 目錄下
日志只有一個文件,多條數據日志保存
日志文件上傳成功後會自動刪除,上傳不成功則不刪除
日志格式可以根據自己的需求在源碼中改動
http的post傳的數據也可自行修改
參考代碼:
public class MyApplication extends Application {
//post method , upload logfile url,replace your site . support http or https
private static final String UPLOAD_URL = http://xxxxxxxx;
@Override
public void onCreate() {
super.onCreate();
//upload logfile , post params.
HttpParameters params = new HttpParameters();
params.add(key1, value1);
params.add(key2, value2);
params.add(key3, value3);
//.......
//replace your key and value;
boolean isDebug = true;
//set debug mode , you can see debug log , and also you can get logfile in sdcard;
LogCollector.setDebugMode(isDebug);
LogCollector.init(getApplicationContext(), UPLOAD_URL, params);//params can be null
}
}
需要先在application中執行init,
然後在任何位置添加如下代碼:
LogCollector.upload(boolean isWifiOnly);
參數:
1.boolean isWifiOnly; true代表只在wifi情況下發送,false代表有網的情況下就發送(包括流量和wifi)
您可以在service,activity等位置的合適時機觸發,不會卡界面也不會影響性能。
參考代碼:
private void uploadLogFile(){
boolean isWifiOnly = true;//only wifi mode can upload
LogCollector.upload(isWifiOnly);//upload at the right time
}
在init之前調用
LogCollector.setDebugMode(boolean isDebug);
說明:
1.開啟調試後可以看到堆棧的log信息
2.同時可以在sd卡下的Android/data/{your package name}/Log/ 目錄下可以查看保存的崩潰log日志
該目錄下的日志不會自動刪除,請及時清空,避免占用空間
Android項目中自定義頂部標題欄下面給大家詳細介紹android中自定義頂部標題欄的思路及實現方式 先來圖: 思路及實現步驟 1.定義
onLayout方法是ViewGroup中子View的布局方法,用於放置子View的位置。放置子View很簡單,只需在重寫onLayout方法,然後獲取子View的實例,
1、修改hosts文件,這個方法操作簡單,但經常失靈,或許運氣不好吧。 首先更新host文件,如圖,打開目錄 C:WindowsSystem32driverse
1、ZIP文件目錄遍歷簡介因為ZIP壓縮包文件中允許存在“../”的字符串,攻擊者可以利用多個“../”在解壓時改變ZIP