日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 开发 存储目录的详解

發(fā)布時(shí)間:2023/11/29 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 开发 存储目录的详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Android 開發(fā) 存儲(chǔ)目錄的詳解
  • 簡(jiǎn)介

  •   Android設(shè)備,有3個(gè)地方的文件存儲(chǔ)位置,他們分別是:
  •   內(nèi)部存儲(chǔ)空間(用戶無法瀏覽到此目錄)
  •   外部存儲(chǔ)空間(就是手機(jī)自身的文件管理目錄,用戶可以瀏覽)
  •   SD卡的存儲(chǔ)空間(需要插入T卡)
  •   SharedPreferences目錄
  •   存儲(chǔ)數(shù)據(jù)庫(kù)DB目錄

?

  

?

內(nèi)部存儲(chǔ)空間

  內(nèi)部存儲(chǔ)空間的獲取都需要使用Context.

  方法

  getFilesDir(); 

    對(duì)應(yīng)內(nèi)部存儲(chǔ)的路徑為: data/data/packagename/files

String filesDir = getApplicationContext().getFilesDir().getPath();

  getCacheDir();

    對(duì)應(yīng)內(nèi)部存儲(chǔ)的路徑為:data/data/packagename/cache ,cache是緩存的意思,這些文件一旦設(shè)備內(nèi)部存儲(chǔ)空間不足時(shí),這些保存在cache下的文件會(huì)刪除,不要指望系統(tǒng)為你刪除,一般需要自己設(shè)定閾值,一旦系統(tǒng)滿時(shí),系統(tǒng)也會(huì)刪掉cache!---- ?一般聊天記錄都會(huì)使用

String cacheDir = getApplicationContext().getCacheDir().getPath();

  處理文件方法

  openFileInput();和openFileOutput();

  這2個(gè)方法對(duì)data/data/packagename/files目錄下操作文件

  fileList();

  方法是用來列出該data/data/packagename/files目錄下的所有文件

  deleteFile(String name);

  用來刪除該files目錄下的文件

?

外部存儲(chǔ)空間

  外部存儲(chǔ)空間有2種不同目錄的文件路徑,他們分別需要使用Context和Environment來獲取,下面我們逐個(gè)介紹獲取方式與對(duì)應(yīng)路徑

  需要使用Context獲取方法

  使用上下文獲取的路徑主要是/android/data/你的包名/????? 此目錄下的路徑

  getExternalCacheDir();

    對(duì)應(yīng)外部存儲(chǔ)路徑:/storage/emulated/0/Android/data/packagename/cache  此方法為獲取cache緩存文件

String externalCacheDir = getApplicationContext().getExternalCacheDir().getPath();

  getExternalCacheDirs();

    對(duì)應(yīng)外部存儲(chǔ)路徑:/storage/emulated/0/Android/data/packagename/cache  此方法為獲取cache下所以文件數(shù)組集合

File[] externalCacheDirs = getApplicationContext().getExternalCacheDirs();

?  getExternalFilesDir(String type);

    對(duì)應(yīng)外部存儲(chǔ)路徑:/storage/emulated/0/Android/data/packagename/files ?? 此方法獲取files文件下的指定文件,這里的參數(shù)可以傳入null也可以傳入一個(gè)文件名

String externalFilesDir = getApplicationContext().getExternalFilesDir(null).getPath();

  getExternalFilesDirs(String type);

    對(duì)應(yīng)外部存儲(chǔ)路徑:/storage/emulated/0/Android/data/packagename/files  此方法獲取files文件指定目錄的文件數(shù)組集合,這里的參數(shù)可以傳入null也可以傳入一個(gè)文件名

File[] externalFilesDirs = getApplicationContext().getExternalFilesDirs(null);

?  getExternalMediaDirs();

    對(duì)應(yīng)外部存儲(chǔ)路徑:/storage/emulated/0/Android/media/packagename  此方法獲取包名路徑下的文件數(shù)組集合

?

File[] externalMediaDirs = getApplicationContext().getExternalMediaDirs();

?

  需要使用Environment獲取方法

?  getExternalStorageState();

    獲取sd卡狀態(tài),此方法返回的是String類型,一共有以下幾種類型:

  • MEDIA_UNKNOWN?? SD卡未知
  • MEDIA_REMOVED??? SD卡移除
  • MEDIA_UNMOUNTED? SD卡未安裝
  • MEDIA_CHECKING?? SD卡檢查中,剛裝上SD卡時(shí)
  • MEDIA_NOFS??????????? SD卡為空白或正在使用不受支持的文件系統(tǒng)
  • MEDIA_MOUNTED?? SD卡安裝
  • MEDIA_MOUNTED_READ_ONLY? SD卡安裝但是只讀
  • MEDIA_SHARED?? SD卡共享
  • MEDIA_BAD_REMOVAL? SD卡移除錯(cuò)誤
  • MEDIA_UNMOUNTABLE??存在SD卡但是不能掛載,例如發(fā)生在介質(zhì)損壞
     String externalStorageState = Environment.getExternalStorageState();if (externalStorageState.equals(Environment.MEDIA_MOUNTED)){//sd卡已經(jīng)安裝}

?  getExternalStorageDirectory();

    對(duì)應(yīng)外部存儲(chǔ)路徑:/storage/emulated/0  此方法獲取外部存儲(chǔ)根目錄路徑

String externalStorageDirectory = Environment.getExternalStorageDirectory().getPath();

  getExternalStoragePublicDirectory(String type);

    獲取外部存儲(chǔ)的共享文件夾路徑(就是拍照文件夾/下載文件夾/音樂文件夾這些系統(tǒng)的共享文件夾),使用的時(shí)候參數(shù)必需攜帶路徑類型,且不能為null.

    以相機(jī)DCIM目錄為例子對(duì)應(yīng)獲取的路徑為:/storage/emulated/0/DCIM

String externalStoragePublicDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath();
  • DIRECTORY_MUSIC? 音樂目錄
  • DIRECTORY_PODCASTS? 播客目錄
  • DIRECTORY_RINGTONES? 鈴聲目錄
  • DIRECTORY_ALARMS?? 警報(bào)(鬧鐘/定時(shí)器)鈴聲目錄
  • DIRECTORY_NOTIFICATIONS? 提示音目錄
  • DIRECTORY_PICTURES? 圖片目錄
  • DIRECTORY_MOVIES? 電影目錄
  • DIRECTORY_DOWNLOADS? 下載目錄
  • DIRECTORY_DCIM?? 相機(jī)拍照或錄像文件的存儲(chǔ)目錄
  • DIRECTORY_DOCUMENTS?? 文件文檔目錄

?

系統(tǒng)存儲(chǔ)空間

?  getRootDirectory();

    對(duì)應(yīng)獲取系統(tǒng)分區(qū)根路徑:/system  此方法是獲取系統(tǒng)根目錄路徑,返回包含核心Android操作系統(tǒng)的“系統(tǒng)”分區(qū)的根目錄,始終以只讀方式顯示和安裝。

?

String rootDirectory = Environment.getRootDirectory().getPath();

?

  getDataDirectory();

    對(duì)應(yīng)獲取用戶數(shù)據(jù)目錄路徑:/data  返回用戶數(shù)據(jù)目錄

?

String dataDirectory = Environment.getDataDirectory().getPath();

?

  getDownloadCacheDirectory();

    對(duì)應(yīng)獲取用戶緩存目錄路徑:/data/cache  返回下載/緩存內(nèi)容目錄

?

String downloadCacheDirectory = Environment.getDownloadCacheDirectory().getPath();

?

?

posted on 2019-03-08 14:22?觀心靜 閱讀(...) 評(píng)論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/guanxinjing/p/10495568.html

總結(jié)

以上是生活随笔為你收集整理的Android 开发 存储目录的详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。