获取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;
}
}
由于最近的一个项目中需要获取某个文件夹下的所有.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;
}
}
相关文章推荐
- 获取android sd卡中某个文件夹下的所有图片
- Android获取SD卡上所有图片、视频缩略图和音乐专辑封面
- android怎么获取一个SD卡指定文件夹的图片Uri uri有关问题
- Android获取SD卡上所有图片、视频缩略图和音乐专辑封面
- android如何获取一个SD卡指定文件夹的图片Uri uri问题
- Android获取SD卡上所有图片、视频缩略图和音乐专辑封面
- unity 获取某个文件夹下的所有图片
- 【移动开发】Android相机、相册获取图片显示并保存到SD卡
- android 利用反射机制获取drawable中所有的图片资源
- android中获取webview所有图片路径
- nodejs 获取文件夹中的文件和获取文件夹中的所有图片
- Android获取assets文件夹中的数据并写入SD卡示例
- Android中获取SD卡下的图片资源
- android从资源文件,项目,sd卡获取图片
- Android获取SD卡上图片和视频的缩略图
- 第二十篇 Android获取本机图片、音频、视频、文档以及本地文件夹列表
- android红米等关于读取本地文件夹图片获取路径的问题的解决
- Android 读取SD卡中相应文件夹下的图片
- android红米等关于读取本地文件夹图片获取路径的问题的解决
- Android实现获取本机中所有图片