- 5
- 0
- 约4.02千字
- 约 5页
- 2017-03-26 发布于贵州
- 举报
android中获取sd卡下的图片资源android中获取sd卡下的图片资源
当我想做一个相册的时候,我需要的获得SD卡下所有图片的路径path,然后利用Bitmap的方法画到到画布canvas上。
我该如何获得SD卡下的图片路径呢?
其实在没有做好研究的之前我走了好多弯路,并且还是一个错误的弯路。
首先我先获得SD卡下的根目录路径:
privateString isSdcard(){
File sdcardDir=null;
boolean isSDExist=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
if(isSDExist){
//如果存在SDcard就找到跟目录 sdcardDir=Environment.getExternalStorageDirectory();return sdcardDir.toString();
}else {
return null;
}
}
}
找到/sdcard之后,就开始利用File[] f = file.listFile();的方法获得目录下的所有文件的列表。
public void getpicpath(String sdpath){
//打开SD卡目录
File file = new File(sdpath);
//获取SD卡目录列表
File[] files =file.listFiles();
for(int z=0;zfiles.length;z++){
File f = files[z];
if(f.isFile()){
isfile(f);
}else {
notfile(f);
}
}
}
如果是文件的话,就跳入isfile(File file);的方法中,如果是文件夹的话就跳入notfile(File file);方法中。
public void isfile(File file){
Log.i(TAG, isfile);
String fnm=file.getPath();
Log.i(TAG, isfile==+fnm);
mapsd=new HashMapString, String();
String filename=file.getName();
int idx = filename.lastIndexOf(.);
if (idx = 0) {
return;
}
String suffix =filename.substring(idx+1, filename.length());
if (suffix.toLowerCase().equals(jpg) ||
suffix.toLowerCase().equals(jpeg) ||
suffix.toLowerCase().equals(bmp) ||
suffix.toLowerCase().equals(png) ||
suffix.toLowerCase().equals(.gif) ){ mapsd.put(imagepath,file.getPath().toString());
listsd.add(mapsd);
}
}
如果是有文件isfile 就配合他文件名的后缀名是否为图片,是的话放进mapsd中,再加到list中。
如果有文件是文件夹的话,就继续用file.listFile()打开它的文件夹里面的内容,再用for语句判断它里面的文件是否有文件,如果有就isfile();无,就利用getpicpath()打开它。
public void notfile(File file){
Log.i(TAG, notfile Yes);
Log.i(TAG, notfilepath+file.getPath());
File[] files = file.listFiles();
if(files ==null){
return;
}
for(int i = 0;ifiles.length;i++){
Log.i(TAG,notfile int=+String.valueOf(files.length));
File fis=files[i];
if(fis.isFile()){
isfile(fis);
}else{
String SDpath=fis.getPath();
File fileSD=new File(SDpath);
Log.i(TAG,notfile =+fileSD);
File[] filess=fileSD.listFiles();
if(filess ==null){
return;
}
for(int j=0;jfiless.length;j++){
getpicpath(fileSD.toString());
}
}
}
}
您可能关注的文档
最近下载
- 德州职业技术学院单招职业技能测试参考试题库(含答案).docx VIP
- SolidWorks-全套入门教程PPT课件.pptx VIP
- 2025年加州驾照常考题库及答案.doc VIP
- SYT5695-2017 钻井液用降黏剂 两性离子聚合物.pdf VIP
- 高中数学第二章随机变量及其分布章末复习课件新人教A版选修.pptx VIP
- ZBTB18控制胼胝体投射神经元的命运选择和进化.docx VIP
- 氯醇法年产20万吨环氧丙烷精馏工序工艺设计.docx VIP
- 2025年山东省春季高考信息技术类专业知识试题(打印版) .pdf VIP
- SY∕T 5612-2018 石油天然气钻采设备 钻井液固相控制设备规范.docx VIP
- 医院病房楼改造项目初步设计(范文).docx
原创力文档

文档评论(0)