本文介绍Android开发中如何获取SDCard中某目录下的所有图片并显示出来,下面的我们提供的这个函数是通用的,只要提供路径就可以查询出该目录下所有图片的路径信息,并保存到一个List<String>中。

1.获取SDCard中某个目录下图片路径集合

public List<String> getPictures(final String strPath) {List<String> list = new ArrayList<String>();File file = new File(strPath);File[] allfiles = file.listFiles();if (allfiles == null) {return null;} for(int k = 0; k < allfiles.length; k++) {final File fi = files[i];if(fi.isFile()) {int idx = fi.getPath().lastIndexOf(".");if (idx <= 0) {continue;}String suffix = fi.getPath().substring(idx);if (suffix.toLowerCase().equals(".jpg") ||suffix.toLowerCase().equals(".jpeg") ||suffix.toLowerCase().equals(".bmp") ||suffix.toLowerCase().equals(".png") ||suffix.toLowerCase().equals(".gif") ) {list.add(fi.getPath());}}}return list;} 

2.获取sd卡下的图片并显示

List<String> list = getPictures(Environment.getExternalStorageDirectory() + "");if (list != null) {Log.d(TAG, "list.size = " + list.size());for (int i = 0; i < list.size(); i++) {Bitmap bm = BitmapFactory.decodeFile(list.get(i));int top = 30;if (i > 0) {top += BitmapFactory.decodeFile(list.get(i - 1)).getHeight() + 2;}canvas.drawBitmap(bm, 0, top, paint);}}else {Log.d(TAG, "list is null!!!");} 

本文提供两个函数,第一个函数主要是获取SDCard中某目录下的所有图片,第二个函数主要是显示图

保存图片可以封装成一个类:

package com.mogunote.adapter;import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.os.Environment;
import android.view.View;public class SaveViewUtil {private static final File rootDir = new File(Environment.getExternalStorageDirectory()+File.separator+"paints/");/**保存截图的方法*/public static boolean saveScreen(View view){//判断sdcard是否可用if(!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){return false;}if(!rootDir.exists()){rootDir.mkdir();}view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmap bitmap = view.getDrawingCache();try {bitmap.compress(CompressFormat.JPEG, 100, new FileOutputStream(new File(rootDir,System.currentTimeMillis()+".jpg")));return true;} catch (FileNotFoundException e) {e.printStackTrace();return false;}finally{view.setDrawingCacheEnabled(false);bitmap = null;}}
}

调用封装类:

if(SaveViewUtil.saveScreen(hbView)){Toast.makeText(this, "截图成功", 0).show();}else{Toast.makeText(this, "截图失败,请检查sdcard是否可用", 0).show();}

Android 获取SDCard中某个目录下图片相关推荐

  1. 安卓安装完应用后,如何获取包的meta-inf目录下的文件?

    ============问题描述============ 安卓安装完应用后,可以获取包的meta-inf目录下的文件吗? 在手机上安装完了应用后,然后打开应用,此时,应用里的SDK有没有办法取到应用包 ...

  2. python读取路径中字符串_python实现提取str字符串/json中多级目录下的某个值

    字符串多级目录取值: 比如说: 你response接收到的数据是这样的. 你现在只需要取到itemstring 这个字段下的值.其他的都不要! 思路就是:字符串是个json格式(或转为json格式), ...

  3. android 拷贝文件到其他目录下

    今天,讲讲如何拷贝文件到指定目录下. 一,简单的使用输入流进行拷贝. /** * 复制单个文件 * @param oldPath String 原文件路径 如:c:/fqf.txt * @param ...

  4. python层级抓取_python实现提取str字符串/json中多级目录下的某个值

    字符串多级目录取值: 比如说: 你response接收到的数据是这样的. 你现在只需要取到itemstring 这个字段下的值.其他的都不要! 思路就是:字符串是个json格式(或转为json格式), ...

  5. Android应用开发中三种常见的图片压缩方法

    Android应用开发中三种常见的图片压缩方法,分别是:质量压缩法.比例压缩法(根据路径获取图片并压缩)和比例压缩法(根据Bitmap图片压缩). 一.质量压缩法private Bitmap comp ...

  6. Linux中/proc目录下文件详解

    Linux中/proc目录下文件详解(一) 声明:可以自由转载本文,但请务必保留本文的完整性. 作者:张子坚 email:zhangzijian@163.com 说明:本文所涉及示例均在fedora ...

  7. java web 默认页面配置文件_Tomcat中配置全局的错误页面(如404)+删除Tomcat中webapps目录下的自带项目,防止Tomcat默认文件泄露...

    进入tomcat目录中conf文件编辑web.xml,将下面代码复制到文件末尾,如下 400 /error.html 404 /404/404.html 500 /404/500.html 2.添加4 ...

  8. Linux中/proc目录下文件详解(二)

    Linux中/proc目录下文件详解(二) /proc/mdstat文件 这个文件包含了由md设备驱动程序控制的RAID设备信息. 示例: [root@localhost ~]# cat /proc/ ...

  9. linux批量修改压缩图片大小,linux shell批量压缩某个目录下图片大小

    linux shell批量压缩某个目录下图片大小 #!/bin/sh read -p "Input Path:" SPATH maxsize=$((1024*200)) FILEL ...

最新文章

  1. 《C和指针》一1.7 问题
  2. oracle prvg 1901,12c 打补丁analyze时报错
  3. 关于JavaScript相关文章
  4. SQL的事务回滚操作带案例分析
  5. Windows内存管理学习笔记(三)—— 无处不在的缺页异常
  6. unity3d所要知道的基础知识体系大纲,可以对照着学习,不定期更新
  7. 面向对象三大特性: 封装,继承,多态
  8. oracle 云 BI,[Oracle]见习BI工程师之函数
  9. Oracle Solaris 11 Express发布了
  10. phoneGap2.9+eclipse开发环境和helloword案例
  11. (转) Spring读书笔记-----Spring的Bean之配置依赖
  12. 3d激光雷达开发(基于统计滤波)
  13. speech开源框架_微软SAPI(The Microsoft Speech API):让你的软件能说会道
  14. C# 图像编程 (1) 准备工作; 你好,空姐; 为空姐照片添加特效
  15. KVO.非常简单的键值监听模式
  16. git branch查看/删除分支
  17. 智慧博物馆信息系统建设方案
  18. 开关电源matlab仿真文件,基于PI控制方式的7A开关电源的MATLAB仿真.doc
  19. 浅谈JavaScript设计模式
  20. 编译原理 CS-143(更新至week4)

热门文章

  1. 他失明40年,只因戴上了这副护目镜,现在竟能数清斑马线 | Nature子刊
  2. 上海名校CS专业第一本科生:我5天里打工3天,丝毫不影响GPA,可见「教学」有多荒谬...
  3. 清华大四本科生2篇一作论文入选ICML 2020,后浪果然翻涌
  4. Nature年度十大科学人物公布:瑞典气候女孩、北大邓宏魁、谷歌量子计算领导者上榜...
  5. 又是加拿大!连年拒签NeurIPS参会者被指太荒唐,Hinton亲自过问也没辙
  6. 安卓错误Emulator: error: x86 emulation currently......
  7. 【转】ExtJS DateField 日期控件Format格式化
  8. R数据可视化--ggplot2定位之坐标系详解
  9. saltstack之(二)软件包下载安装
  10. linux笔记第一章--基本命令记载