獲取android sd卡中某個資料夾下的所有圖片
阿新 • • 發佈:2019-02-01
由於最近的一個專案中需要獲取某個資料夾下的所有.txt檔案,所以自己研究了一個獲取sd卡中某個目錄下的所有圖片格式的圖片路徑
先看效果圖:
詳細程式碼如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ListView android:id="@+id/lv_show_path" android:layout_width="fill_parent" android:layout_height="fill_parent" android:divider="@android:color/darker_gray" android:dividerHeight="1dp" ></ListView> </RelativeLayout>
package com.xwj.testfilepath; import java.io.File; import java.util.ArrayList; import java.util.List; import android.os.Bundle; import android.os.Environment; import android.annotation.SuppressLint; import android.app.Activity; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends Activity { private ArrayAdapter<String> adapter; private ListView mShowPathLv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mShowPathLv = (ListView) findViewById(R.id.lv_show_path); adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1); adapter.addAll(getImagePathFromSD()); mShowPathLv.setAdapter(adapter); } /** * 從sd卡獲取圖片資源 * @return */ private List<String> getImagePathFromSD() { // 圖片列表 List<String> imagePathList = new ArrayList<String>(); // 得到sd卡內image資料夾的路徑 File.separator(/) String filePath = Environment.getExternalStorageDirectory().toString() + File.separator + "image"; // 得到該路徑資料夾下所有的檔案 File fileAll = new File(filePath); File[] files = fileAll.listFiles(); // 將所有的檔案存入ArrayList中,並過濾所有圖片格式的檔案 for (int i = 0; i < files.length; i++) { File file = files[i]; if (checkIsImageFile(file.getPath())) { imagePathList.add(file.getPath()); } } // 返回得到的圖片列表 return imagePathList; } /** * 檢查副檔名,得到圖片格式的檔案 * @param fName 檔名 * @return */ @SuppressLint("DefaultLocale") private boolean checkIsImageFile(String fName) { boolean isImageFile = false; // 獲取副檔名 String FileEnd = fName.substring(fName.lastIndexOf(".") + 1, fName.length()).toLowerCase(); if (FileEnd.equals("jpg") || FileEnd.equals("png") || FileEnd.equals("gif") || FileEnd.equals("jpeg")|| FileEnd.equals("bmp") ) { isImageFile = true; } else { isImageFile = false; } return isImageFile; } }