Android獲取SD卡路徑/內存的幾種方法
Android獲取SD卡路徑
本篇將會帶領大家學習如何獲取android路徑的幾種常見用法,但在我開始bb之前需要大家清楚android中內存和外存之間的區別,下面進行簡短介紹:
android中的內存:保存在內存中的程序和文件是相互關聯的,什麼意思呢?舉個例子,假設你android手機內存中有一個程序叫bb,然後由bb程序創建了一份名叫cc的文件,當你刪除bb的時候cc也會應爲關聯而被刪除。
像是Shared Preferences或SQLite的內容就是保存到內存儲中的,這些保存的內容會隨程序的刪除而刪除用過的同學因該很快能理解。
android中的外存:我們平常在android手機使用的最多的就是外部存儲,像是你用相機拍了一張照片,這些一般都是保存到外存中的,這些文件不會因爲你刪除了程序而不見。
隨着android版本的增加一般所謂的sd卡(外存儲卡)都變成內置的了
下面正式開始介紹,先是獲取SD卡根目錄的方法:
添加權限:
1
2
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
//爲真則SD卡已裝入,
sdCardExist=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
}
if(sdCardExist)
{
sdDir = Environment.getExternalStorageDirectory();//獲取跟目錄
//查找SD卡根路徑
sdDir.toString();
Log.e("main","得到的根目錄路徑:"+sdDir);
}
打印Log:
博主打開手機文件管理器首先來到的所在頁面就是這個路徑,只是手機上不會顯示這個路徑
另外一個更靈活的獲取外部路徑的方法:
File directory_doc = Environment.getExternalStoragePublicDirectory(Environment. DIRECTORY_DOCUMENTS);
//使用這個方法需要傳入公共目錄的類型如Environment.DIRECTORY_DOCUMENTS
//查看公共目錄文檔文件的路徑
Log.e("main","得到的公共目錄:"+directory_doc);
獲取路徑的其他方法;
方法 描述
DIRECTORY_DOCUMENTS 標準文件目錄,可以是用戶自定義創建的。Standard directory in which to place documents that have been created by the user.
DIRECTORY_DOWNLOADS 下載目錄. Standard directory in which to place files that have been downloaded by the user.
DIRECTORY_MOVIES 影視目錄.Standard directory in which to place movies that are available to the user.
DIRECTORY_MUSIC 音樂目錄.Standard directory in which to place any audio files that should be in the regular list of music for the user.
DIRECTORY_PICTURES 用戶可以獲得的圖片目錄.Standard directory in which to place pictures that are available to the user.
更多內容:https://developer.android.com/reference/android/os/Environment
當你有多個外部存儲卡:
File[] files;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
files = getExternalFilesDirs(Environment.MEDIA_MOUNTED);
for(File file:files){
Log.e("main", "得到的全部外存:" +String.valueOf(file));
//便歷所有外部存儲
}
}
這裏由於博主手機只有一個sd卡,所以只打印了一行路徑
1
2
得到內存:
File internal=getFilesDir();
Log.e("main","內存路徑:"+internal);
1
2
如有錯誤歡迎糾正
作者:Kerwinoyyx
來源:CSDN
原文:https://blog.csdn.net/Kerwinoyyx/article/details/91401291
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!