亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android保存App異常信息到本地

 更新時間:2020年08月20日 08:35:41   作者:jie212  
這篇文章主要為大家詳細介紹了Android保存App異常信息到本地,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Android保存App異常信息到本地的具體代碼,供大家參考,具體內容如下

首先添加權限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

代碼

// 調用該方法造成異常
private void math() {
 try {
  int a = 0;
  int b = 10;
  int c = b / a;
 } catch (Exception e) {
  e.printStackTrace(); // Logcat打印異常

  // 保存異常信息
  StringWriter sw = new StringWriter();
  e.printStackTrace(new PrintWriter(sw, true));
  saveException(this, sw.toString());
 }
 }

 /**
 * 保存異常信息到本地 Android/data/包名/files/Documents/exception/yyyyMMdd_app_exception.txt
 * @param context 上下文
 * @param errMsg 異常信息
 */
 private void saveException(Context context, String errMsg) {
 if (context == null || TextUtils.isEmpty(errMsg)) return;
 FileOutputStream fos = null;
 try {
  // 創(chuàng)建目錄
  String dirPath = context.getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS).getPath() + "/exception/";
  File dir = new File(dirPath);
  if (!dir.exists()) {
  dir.mkdirs();
  }

  // 根據當天日期來生成文件名
  String date = new SimpleDateFormat("yyyyMMdd", Locale.ENGLISH).format(new Date());
  // 創(chuàng)建文件
  File file = new File(dirPath, date + "_app_exception.txt");
  if (!file.exists()) {
  file.createNewFile();
  }

  fos = new FileOutputStream(file, true);
  fos.write(errMsg.getBytes());
  fos.write("\n".getBytes());
  fos.flush();
 } catch (Exception e) {
  e.printStackTrace();
 } finally {
  if (fos != null) {
  try {
   fos.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
  }
 }
}

效果如圖

可以考慮將當前時間寫進文件,更方便排查問題

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • flutter實現一個列表下拉抽屜的示例代碼

    flutter實現一個列表下拉抽屜的示例代碼

    本文主要介紹了flutter實現一個列表下拉抽屜的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • android實現錄屏功能

    android實現錄屏功能

    這篇文章主要為大家詳細介紹了android實現錄屏功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Flutter permission_handler 權限插件的使用詳解

    Flutter permission_handler 權限插件的使用詳解

    這篇文章主要介紹了Flutter permission_handler 權限插件的使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Android Vibrator調節(jié)震動代碼實例

    Android Vibrator調節(jié)震動代碼實例

    這篇文章主要介紹了Android Vibrator調節(jié)震動代碼實例,本文直接給出實現代碼,代碼中包含詳細注釋,需要的朋友可以參考下
    2015-05-05
  • Android通過手機拍照或從本地相冊選取圖片設置頭像

    Android通過手機拍照或從本地相冊選取圖片設置頭像

    微信、QQ、微博等社交類APP如何更換自己的頭像,這篇文章主要介紹了Android通過手機拍照或從本地相冊選取圖片設置頭像,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Android 下載文件通知欄顯示進度條功能的實例代碼

    Android 下載文件通知欄顯示進度條功能的實例代碼

    這篇文章主要介紹了Android 下載文件通知欄顯示進度條功能的實例代碼,通過使用AsyncTask異步任務實現,調用publishProgress()方法刷新進度來實現,具體代碼大家參考下本文
    2018-04-04
  • Android實現類似ios滑動按鈕

    Android實現類似ios滑動按鈕

    這篇文章主要為大家詳細介紹了Android實現類似ios滑動按鈕,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Android XRecyclerView實現多條目加載

    Android XRecyclerView實現多條目加載

    這篇文章主要為大家詳細介紹了Android XRecyclerView實現多條目加載效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Kotlin擴展函數及實現機制的深入探索

    Kotlin擴展函數及實現機制的深入探索

    擴展函數與擴展屬性的神奇之處在于,可以在不修改原來類的條件下,使用函數和屬性,表現得就像是屬于這個類的一樣。下面這篇文章主要給大家介紹了關于Kotlin擴展函數及實現機制的相關資料,需要的朋友可以參考下
    2018-06-06
  • Android定制RadioButton樣式三種實現方法

    Android定制RadioButton樣式三種實現方法

    三種方法實現Android定制RadioButton樣式:使用XML文件進行定義/在JAVA代碼中定義等等,感興趣的朋友可以參考下,希望可以幫助到你
    2013-02-02

最新評論