获取android sd卡中某个文件夹下的所有图片
转自:http://blog.****.net/wei18359100306/article/details/40858723
由于最近的一个项目中需要获取某个文件夹下的所有.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;
- }
- }