Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android中訪問sdcard路徑的幾種方式,androidsdcard

Android中訪問sdcard路徑的幾種方式,androidsdcard

編輯:關於android開發

Android中訪問sdcard路徑的幾種方式,androidsdcard


以前的Android(4.1之前的版本)中,SDcard路徑通過“/sdcard”或者“/mnt/sdcard”來表示,而在JellyBean(安卓4.1)系統中修改為了" /storage/sdcard0",還會有多個SDcard的情況。目前為了保持和之前代碼的兼容,SDcard路徑做了Link映射。為了使代碼更加健壯並能兼容以後的Android版本和新設備,安卓4,1後sdcard中會有系統自動生成的保存特定內容的的文件目錄,從而可以使用一些特定函數來獲取對應目錄。

今天我們就簡單介紹幾種訪問SDcard路徑的幾種方式:

本次演示獲取的圖片路徑如下:

完整路徑為“/storage/emulated/0/Download/tianxingjiuge.jpg”

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

布局文件上方為一個Button,下方為imagView,不做過多闡述了,java實現代碼如下:

 1 public class MainActivity extends AppCompatActivity {
 2     ImageView iv;
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_main);
 7         iv= (ImageView) findViewById(R.id.iv);
 8     }
 9     public void load(View view){
10         //第一種:直接引用全部的目錄(4.1之前使用,之後不建議這樣用)
11 //        Bitmap bm = BitmapFactory.decodeFile("/storage/emulated/0/Download/tianxingjiuge.jpg");
12         //第二種:/storage/emulated/0這一段的路徑可以用Environment.getExternalStorageDirectory()
13 //        Bitmap bm = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() +
14 //                "/Download/tianxingjiuge.jpg");
15         //第三種:使用Environment.getExternalStoragePublicDirectory(String type)函數調用不同類型的文件目錄
16         Bitmap bm = BitmapFactory.decodeFile(Environment.getExternalStoragePublicDirectory
17                 (Environment.DIRECTORY_DOWNLOADS) + "/tianxingjiuge.jpg");
18         iv.setImageBitmap(bm);
19     }
20 }

第三種方式中使用Environment.getExternalStoragePublicDirectory(String type)函數,該函數可以返回特定類型的目錄,目前支持如下類型:

1 • DIRECTORY_ALARMS //警報鈴聲
2 • DIRECTORY_DCIM //相機拍攝的圖片和視頻
3 • DIRECTORY_DOWNLOADS //下載文件保存
4 • DIRECTORY_MOVIES //電影的保存,比如通過google play下載的電影
5 • DIRECTORY_MUSIC //音樂保存
6 • DIRECTORY_NOTIFICATIONS //通知音樂保存
7 • DIRECTORY_PICTURES //下載的圖片
8 • DIRECTORY_PODCASTS //用於保存podcast(博客)的音頻文件
9 • DIRECTORY_RINGTONES //保存鈴聲

本次圖片保存在Download目錄下,所以使用Environment.DIRECTORY_DOWNLOADS。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved