package com.android.photostore;import java.io.File;import java.util.ArrayList;import java.util.LinkedList;import android.graphics.drawable.Drawable;import android.os.Environment;import android.widget.ImageView;public class Constant {private static LinkedList<String> extens=null;/** * 是否已经扫描 */public static boolean isScaned;/** * 全部图片文件夹 */public static ArrayList<ImageFolderInfo> imageFolders = new ArrayList<ImageFolderInfo>();/** * 图片文件夹实体 * @author wanghb * */public static class ImageFolderInfo{public String path;public int pisNum = 0;public ArrayList<String> filePathes = new ArrayList<String>();public Drawable image;}public static LinkedList<String> getExtens(){if(extens == null){extens = new LinkedList<String>();extens.add("JPEG");extens.add("JPG");extens.add("PNG");extens.add("GIF");extens.add("BMP");}return extens;}public static void scan(final UIinterface ui){if(!isScaned){isScaned = !isScaned;imageFolders.clear();//获取存储卡路径final String mCardPath = Environment.getExternalStorageDirectory().getPath();new Thread(){public void run() {getFiles(mCardPath,ui);}}.start();}}private static void getFiles(String path,final UIinterface ui) {File f = new File(path);File[] files = f.listFiles();ImageFolderInfo ifi = new ImageFolderInfo();ifi.path = path;if (files != null) {for (int i = 0; i < files.length; i++) {final File ff = files[i];if (ff.isDirectory()) {getFiles(ff.getPath(),ui);} else {String fName = ff.getName();if(fName.indexOf(".")>-1){String end = fName.substring(fName.lastIndexOf(".") + 1, fName.length()).toUpperCase();if(getExtens().contains(end)){ifi.filePathes.add(ff.getPath());}}}}}if(!ifi.filePathes.isEmpty()){ifi.pisNum = ifi.filePathes.size();synchronized (imageFolders) {imageFolders.add(ifi);ui.updateUI();}}}//显示实体public static class gridItemEntity{public Drawable image;public String path;public int index;public ImageView imageView;}}

更多相关文章

  1. Android(安卓)自定义Ratingbar
  2. EditView中插入图片
  3. HttpHuiApplication--下载图片url,HttpURLConnection,简单版
  4. clock时钟
  5. Android相关开发网站
  6. android 点击图片全屏展示效果
  7. android 如何利用手势放大和缩小一个图片?
  8. SimpleDraweeView 动态设置宽高
  9. Android栗子の图片验证码生成

随机推荐

  1. 王梓晨 | 京东敏捷团队看板与潜在交付物
  2. 阿里Goldeneye业务监控平台之架构演进,如
  3. 周涛教授弟子王军与他的卧龙大数据
  4. linux vim 复制粘贴代码
  5. 卫向军 | 从正交分解架构设计到矩阵式团
  6. DevOps原则,听伍道长细细道来
  7. Docker、Containerd、RunC...:你应该知道
  8. 企业采购正版软件时选择单机版还是浮动版
  9. Leo|20页PPT剖析唯品会API网关设计与实践
  10. DenyHosts的安装与配置Centos7/6