欢迎来到天天文库
浏览记录
ID:40736752
大小:45.50 KB
页数:5页
时间:2019-08-06
《Android中获取SD卡下的图片资源》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、当我想做一个相册的时候,我需要的获得SD卡下所有图片的路径path,然后利用Bitmap的方法画到到画布canvas上。我该如何获得SD卡下的图片路径呢?其实在没有做好研究的之前我走了好多弯路,并且还是一个错误的弯路。首先我先获得SD卡下的根目录路径:privateStringisSdcard(){FilesdcardDir=null;booleanisSDExist=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);if(isSDExist){//如果存在SDcard就找到跟目录
2、sdcardDir=Environment.getExternalStorageDirectory();returnsdcardDir.toString();}else{returnnull;}}}找到/sdcard之后,就开始利用File[]f=file.listFile();的方法获得目录下的所有文件的列表。publicvoidgetpicpath(Stringsdpath){//打开SD卡目录Filefile=newFile(sdpath);//获取SD卡目录列表File[]files=file.listFiles();for(intz=0;z3、h;z++){Filef=files[z];if(f.isFile()){isfile(f);}else{notfile(f);}}}如果是文件的话,就跳入isfile(Filefile);的方法中,如果是文件夹的话就跳入notfile(Filefile);方法中。publicvoidisfile(Filefile){Log.i(TAG,"isfile");Stringfnm=file.getPath();Log.i(TAG,"isfile=="+fnm);mapsd=newHashMap();Stringfilename=file.getNa4、me();intidx=filename.lastIndexOf(".");if(idx<=0){return;}Stringsuffix=filename.substring(idx+1,filename.length());if(suffix.toLowerCase().equals("jpg")5、6、suffix.toLowerCase().equals("jpeg")7、8、suffix.toLowerCase().equals("bmp")9、10、suffix.toLowerCase().equals("png")11、12、suffix.toLowerCase().equals(13、".gif")){mapsd.put("imagepath",file.getPath().toString());listsd.add(mapsd);}}如果是有文件isfile就配合他文件名的后缀名是否为图片,是的话放进mapsd中,再加到list中。如果有文件是文件夹的话,就继续用file.listFile()打开它的文件夹里面的内容,再用for语句判断它里面的文件是否有文件,如果有就isfile();无,就利用getpicpath()打开它。publicvoidnotfile(Filefile){Log.i(TAG,"notfileYes");Log.i(TAG,"14、notfilepath"+file.getPath());File[]files=file.listFiles();if(files==null){return;}for(inti=0;i15、e="+fileSD);File[]filess=fileSD.listFiles();if(filess==null){return;}for(intj=0;j
3、h;z++){Filef=files[z];if(f.isFile()){isfile(f);}else{notfile(f);}}}如果是文件的话,就跳入isfile(Filefile);的方法中,如果是文件夹的话就跳入notfile(Filefile);方法中。publicvoidisfile(Filefile){Log.i(TAG,"isfile");Stringfnm=file.getPath();Log.i(TAG,"isfile=="+fnm);mapsd=newHashMap();Stringfilename=file.getNa
4、me();intidx=filename.lastIndexOf(".");if(idx<=0){return;}Stringsuffix=filename.substring(idx+1,filename.length());if(suffix.toLowerCase().equals("jpg")
5、
6、suffix.toLowerCase().equals("jpeg")
7、
8、suffix.toLowerCase().equals("bmp")
9、
10、suffix.toLowerCase().equals("png")
11、
12、suffix.toLowerCase().equals(
13、".gif")){mapsd.put("imagepath",file.getPath().toString());listsd.add(mapsd);}}如果是有文件isfile就配合他文件名的后缀名是否为图片,是的话放进mapsd中,再加到list中。如果有文件是文件夹的话,就继续用file.listFile()打开它的文件夹里面的内容,再用for语句判断它里面的文件是否有文件,如果有就isfile();无,就利用getpicpath()打开它。publicvoidnotfile(Filefile){Log.i(TAG,"notfileYes");Log.i(TAG,"
14、notfilepath"+file.getPath());File[]files=file.listFiles();if(files==null){return;}for(inti=0;i15、e="+fileSD);File[]filess=fileSD.listFiles();if(filess==null){return;}for(intj=0;j
15、e="+fileSD);File[]filess=fileSD.listFiles();if(filess==null){return;}for(intj=0;j
此文档下载收益归作者所有