最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 文件存儲(chǔ)及常見問題解決

 更新時(shí)間:2017年02月04日 11:14:29   投稿:lqh  
這篇文章主要介紹了Android 文件存儲(chǔ)及常見問題解決的相關(guān)資料,需要的朋友可以參考下

Android文件存儲(chǔ)

看下網(wǎng)上隨處可以搜到的文件存儲(chǔ)套路

if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
        cacheDir=mContext.getExternalCacheDir().getPath();
      }else {
        cacheDir=mContext.getCacheDir().getPath();
      }
 fileOutputStream=new FileOutputStream(cacheDir+"/"+url);

這段代碼肯定沒有錯(cuò)誤,但欺騙了多少年少的開發(fā)者。

當(dāng)你這樣存儲(chǔ)文件的時(shí)候就會(huì)報(bào),該文件不存在,你開始想這個(gè)路徑是我獲取的,又不是我寫的,怎么會(huì)不存在,但獲取僅僅是邏輯上的存在,而不代表真實(shí)存在,所以我們必須要在這個(gè)文件不存在的時(shí)候,去創(chuàng)建它的文件夾,并創(chuàng)建這個(gè)文件 ,所以標(biāo)準(zhǔn)寫法應(yīng)該是

private void initFile() {
    if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
      cacheDir=mContext.getExternalCacheDir().getPath();
      Log.d(TAG,"have SD");
    }else {
      cacheDir=mContext.getCacheDir().getPath();
      Log.d(TAG," not have SD");
    }
    Log.d(TAG,cacheDir);
    File file=new File(cacheDir);
    if(!file.exists()) {
      Log.d(TAG, "file no exists");
      file.mkdirs();
    }
  }

這樣的話,如果那個(gè)文件夾不存在的話,就去創(chuàng)建它,并且是遞歸創(chuàng)建,這個(gè)問題就完美解決了。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Android 解決WebView多進(jìn)程崩潰的方法

    Android 解決WebView多進(jìn)程崩潰的方法

    這篇文章主要介紹了Android 解決WebView多進(jìn)程崩潰的方法,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下
    2021-03-03
  • Android實(shí)現(xiàn)閃屏頁效果

    Android實(shí)現(xiàn)閃屏頁效果

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)閃屏頁效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • kotlin中使用ViewBinding綁定控件的方法

    kotlin中使用ViewBinding綁定控件的方法

    View Binding是Android Studio 3.6推出的新特性,主要用于減少findViewById的冗余代碼,但內(nèi)部實(shí)現(xiàn)還是通過使用findViewById,這篇文章主要介紹了kotlin中使用ViewBinding綁定控件,需要的朋友可以參考下
    2024-03-03
  • 獲取Android界面性能數(shù)據(jù)的快捷方法

    獲取Android界面性能數(shù)據(jù)的快捷方法

    這篇文章主要介紹了獲取Android界面性能數(shù)據(jù)的快捷方法,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下
    2021-04-04
  • Android中隱藏狀態(tài)欄和標(biāo)題欄的方法匯總(隱藏狀態(tài)欄、標(biāo)題欄的五種方法)

    Android中隱藏狀態(tài)欄和標(biāo)題欄的方法匯總(隱藏狀態(tài)欄、標(biāo)題欄的五種方法)

    這篇文章主要介紹了Android中隱藏狀態(tài)欄和標(biāo)題欄的方法匯總(隱藏狀態(tài)欄、標(biāo)題欄的五種方法),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • Android使用addView動(dòng)態(tài)添加組件的方法

    Android使用addView動(dòng)態(tài)添加組件的方法

    這篇文章主要為大家詳細(xì)介紹了Android使用addView動(dòng)態(tài)添加組件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android內(nèi)置SQLite的使用詳細(xì)介紹

    Android內(nèi)置SQLite的使用詳細(xì)介紹

    這篇文章主要介紹了Android內(nèi)置SQLite的使用詳細(xì)介紹,文章通過文章展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • 一文帶你深入理解Android Window系統(tǒng)

    一文帶你深入理解Android Window系統(tǒng)

    Android中的窗口系統(tǒng)是應(yīng)用程序用戶界面的核心組件之一,它負(fù)責(zé)管理可視化區(qū)域、處理用戶輸入事件以及與系統(tǒng)UI交互,本文將深入介紹與Android窗口系統(tǒng)相關(guān)的重要概念,需要的朋友可以參考下
    2023-10-10
  • Android 中圖片和按鈕按下狀態(tài)變化實(shí)例代碼解析

    Android 中圖片和按鈕按下狀態(tài)變化實(shí)例代碼解析

    這篇文章通過實(shí)例代碼給大家總結(jié)了android 中圖片和按鈕按下狀態(tài)變化問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-06-06
  • 一些有效的Android啟動(dòng)優(yōu)化策略分享

    一些有效的Android啟動(dòng)優(yōu)化策略分享

    在當(dāng)今激烈競爭的移動(dòng)應(yīng)用市場,應(yīng)用的啟動(dòng)速度直接影響著用戶的第一印象和滿意度,Android的啟動(dòng)優(yōu)化是開發(fā)者必須關(guān)注的關(guān)鍵領(lǐng)域,本文將詳細(xì)介紹一些強(qiáng)大有效的Android啟動(dòng)優(yōu)化策略,幫助你優(yōu)化應(yīng)用的啟動(dòng)過程,為用戶創(chuàng)造更出色的體驗(yàn),需要的朋友可以參考下
    2023-08-08

最新評論

长垣县| 博白县| 凤翔县| 天峨县| 农安县| 道孚县| 贡觉县| 固原市| 高平市| 新昌县| 定远县| 徐汇区| 稷山县| 家居| 英吉沙县| 伊宁县| 晴隆县| 越西县| 长汀县| 长兴县| 民和| 城步| 湟源县| 西安市| 高州市| 安图县| 长寿区| 饶河县| 德钦县| 连云港市| 板桥市| 洪江市| 阿鲁科尔沁旗| 呼和浩特市| 景宁| 宝坻区| 修武县| 台中县| 如皋市| 兴宁市| 吉隆县|