您的位置:首页 > 移动开发 > Android开发

获取android sd卡中某个文件夹下的所有图片

2017-08-19 18:02 381 查看
转自:http://blog.csdn.net/wei18359100306/article/details/40858723

由于最近的一个项目中需要获取某个文件夹下的所有.txt文件,所以自己研究了一个获取sd卡中某个目录下的所有图片格式的图片路径

先看效果图:



详细代码如下:

[html] view
plain copy

4000
<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>  

[java] view
plain copy

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;  

    }  

  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: