欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android保存App異常信息到本地

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

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

首先添加權(quán)限

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

代碼

// 調(diào)用該方法造成異常
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();
  }

  // 根據(jù)當(dāng)天日期來生成文件名
  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();
  }
  }
 }
}

效果如圖

可以考慮將當(dāng)前時(shí)間寫進(jìn)文件,更方便排查問題

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • flutter實(shí)現(xiàn)一個(gè)列表下拉抽屜的示例代碼

    flutter實(shí)現(xiàn)一個(gè)列表下拉抽屜的示例代碼

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

    android實(shí)現(xiàn)錄屏功能

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

    Flutter permission_handler 權(quán)限插件的使用詳解

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

    Android Vibrator調(diào)節(jié)震動(dòng)代碼實(shí)例

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

    Android通過手機(jī)拍照或從本地相冊(cè)選取圖片設(shè)置頭像

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

    Android 下載文件通知欄顯示進(jìn)度條功能的實(shí)例代碼

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

    Android實(shí)現(xiàn)類似ios滑動(dòng)按鈕

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

    Android XRecyclerView實(shí)現(xiàn)多條目加載

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

    Kotlin擴(kuò)展函數(shù)及實(shí)現(xiàn)機(jī)制的深入探索

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

    Android定制RadioButton樣式三種實(shí)現(xiàn)方法

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

最新評(píng)論