Android中訪問sdcard路徑的幾種方式
以前的Android(4.1之前的版本)中,SDcard路徑通過“/sdcard”或者“/mnt/sdcard”來表示,而在JellyBean(安卓4.1)系統(tǒng)中修改為了" /storage/sdcard0",還會有多個SDcard的情況。目前為了保持和之前代碼的兼容,SDcard路徑做了Link映射。為了使代碼更加健壯并能兼容以后的Android版本和新設(shè)備,安卓4,1后sdcard中會有系統(tǒng)自動生成的保存特定內(nèi)容的的文件目錄,從而可以使用一些特定函數(shù)來獲取對應(yīng)目錄。
今天我們就簡單介紹幾種訪問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)容對大家的學(xué)習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
Android 判斷當前語言環(huán)境是否是中文環(huán)境
本文主要介紹了Android 判斷當前語言環(huán)境是否是中文環(huán)境的方法。具有很好的參考價值。下面跟著小編一起來看下吧2017-04-04Android ApiDemo示例工程的創(chuàng)建
本文主要介紹Android ApiDemo示例工程的創(chuàng)建,這里SDK中的示例工程做了大致介紹,并說明如何創(chuàng)建ApiDemo 示例工程,有需要看自帶代碼的朋友可以參考下2016-09-09Android 關(guān)閉多個Activity的實現(xiàn)方法
這篇文章主要介紹了Android 關(guān)閉多個Activity的實現(xiàn)方法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09