Android中訪問sdcard路徑的幾種方式
以前的Android(4.1之前的版本)中,SDcard路徑通過“/sdcard”或者“/mnt/sdcard”來表示,而在JellyBean(安卓4.1)系統(tǒng)中修改為了" /storage/sdcard0",還會有多個SDcard的情況。目前為了保持和之前代碼的兼容,SDcard路徑做了Link映射。為了使代碼更加健壯并能兼容以后的Android版本和新設備,安卓4,1后sdcard中會有系統(tǒng)自動生成的保存特定內(nèi)容的的文件目錄,從而可以使用一些特定函數(shù)來獲取對應目錄。
今天我們就簡單介紹幾種訪問SDcard路徑的幾種方式:
本次演示獲取的圖片路徑如下:
完整路徑為“/storage/emulated/0/Download/tianxingjiuge.jpg”


下面我們通過將本機“/storage/emulated/0/Download/tianxingjiuge.jpg”圖片加載到APP中ImageView的演示來介紹這幾種加載方式:

布局文件上方為一個Button,下方為imagView,不做過多闡述了,java實現(xiàn)代碼如下:
public class MainActivity extends AppCompatActivity {
ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv= (ImageView) findViewById(R.id.iv);
}
public void load(View view){
//第一種:直接引用全部的目錄(4.1之前使用,之后不建議這樣用)
// Bitmap bm = BitmapFactory.decodeFile("/storage/emulated/0/Download/tianxingjiuge.jpg");
//第二種:/storage/emulated/0這一段的路徑可以用Environment.getExternalStorageDirectory()
// Bitmap bm = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() +
// "/Download/tianxingjiuge.jpg");
//第三種:使用Environment.getExternalStoragePublicDirectory(String type)函數(shù)調(diào)用不同類型的文件目錄
Bitmap bm = BitmapFactory.decodeFile(Environment.getExternalStoragePublicDirectory
(Environment.DIRECTORY_DOWNLOADS) + "/tianxingjiuge.jpg");
iv.setImageBitmap(bm);
}
}
第三種方式中使用Environment.getExternalStoragePublicDirectory(String type)函數(shù),該函數(shù)可以返回特定類型的目錄,目前支持如下類型:
• DIRECTORY_ALARMS //警報鈴聲 • DIRECTORY_DCIM //相機拍攝的圖片和視頻 • DIRECTORY_DOWNLOADS //下載文件保存 • DIRECTORY_MOVIES //電影的保存,比如通過google play下載的電影 • DIRECTORY_MUSIC //音樂保存 • DIRECTORY_NOTIFICATIONS //通知音樂保存 • DIRECTORY_PICTURES //下載的圖片 • DIRECTORY_PODCASTS //用于保存podcast(博客)的音頻文件 • DIRECTORY_RINGTONES //保存鈴聲
本次圖片保存在Download目錄下,所以使用Environment.DIRECTORY_DOWNLOADS。
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
Android自定義可點擊的ImageSpan并在TextView中內(nèi)置View
這篇文章主要為大家詳細介紹了Android自定義可點擊的ImageSpan并在TextView中內(nèi)置"View",具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
Android?Material組件庫日期選擇和時間選擇器的使用方法
這篇文章主要介紹了Android?Material組件庫(日期選擇和時間選擇器)基本使用,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11
Android實現(xiàn)使用微信登錄第三方APP的方法
這篇文章主要介紹了Android實現(xiàn)使用微信登錄第三方APP的方法,結(jié)合實例形式分析了Android微信登錄APP的操作步驟與具體功能實現(xiàn)技巧,需要的朋友可以參考下2016-11-11
新版Android studio導入微信支付和支付寶官方Demo問題解決大全
這篇文章主要為大家詳細介紹了新版Android studio導入微信支付和支付寶官方Demo問題的解決大全,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-07-07

