android自定义相册的功能实现,获取指定目录的图片数据

由于最近的一个项目中需要获取某个文件夹下的所有.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;  
    }  
  
}  

转载于:获取android sd卡中某个文件夹下的所有图片_梦痕_Sky的博客-CSDN博客_android 读取文件夹图片

猜你喜欢

转载自blog.csdn.net/weixin_42602900/article/details/123919120