Android 扫描Scard卡所有的图片

  1. 这几天为了扫描Scard卡所有的图片的事非常纠结,我原本以为这是一件很简单的事,但是我发现我错了。网上也没有完整的代码,只是零零碎碎的能扫描单个文件的代码。在今天代码调试通过之后,我觉得我有必要和大家分享一下。

    1、由于是手机端的扫描,所以最好开个线程。在子线程中把扫描工作完成这是非常重要的,那么现在开始来看这个类吧!这个代码可以扫描出SCARD卡上所有的文件。

  1. public
    class GetFilePathThread implements
    Runnable {
  2. public
    String pathString;
  3. public
    List<String> listpath;
  4. public GetFilePathThread(String path,List<String>
    list)
    {
  5. this.pathString=path;
  6. this.listpath=list;
  7. }
  8. public
    void run()
    {
  9. File
    file=new
    File(pathString);
  10. if
    (file.isDirectory())
    {
  11. File fs[]=file.listFiles();
  12. if(fs!=null)
    {
  13. System.out.println("目录里面包含的所有文件个数--->"+fs.length);
  14. if
    (fs.length>0)
    {
  15. for(int i=0;i<fs.length;i++)
    {
  16. if
    (fs[i].isFile())
    {
  17. listpath.add(fs[i].getAbsolutePath());
  18. System.out.println("文件的绝对路径---->"+fs[i].getAbsolutePath());
  19. }
    else if (fs[i].isDirectory())
    {
  20. System.out.println("目录的绝对路径---->"+fs[i].getAbsolutePath()+"/");
  21. new
    Thread(new GetFilePathThread(fs[i].getAbsolutePath()+"/",
    listpath)).start();
  22. //    getFilePath(fs[i].getAbsolutePath(),listpath);
  23. }
  24. }
  25. }
  26. }
  27. }
  28. }
  29. }

2、扫描出我们所需要的图片文件,当然在这之前要先定义

private List list=new ArrayList();

  1. StringBuffer
    buffer=new
    StringBuffer();
  2. for(int i=0;i<list.size();i++)
    {
  3. if
    (list.get(i).endsWith(".jpg"))
    {
  4. buffer.append(list.get(i).toString()+"n");
  5. }
  6. }

3、记得加入关于Scard卡的读写权限,这个很重要。至于开启线程的事,我就不多说了 。

总结:这次代码在小地方纠结了很久,真的很不应该,主要问题是两个,一个是怎么遍历文件夹下的子文件,第二,怎么获取添加进去的文件路径;

希望这些能对大家有用!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-07 19:03:36

Android 扫描Scard卡所有的图片的相关文章

android 读取sd卡中的图片

一.获取读取SD卡的权限 <!--在SDCard中创建与删除文件权限  -->    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>    <!-- 往SDCard写入数据权限 -->    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STO

android 删除SD卡或者手机的缓存图片和目录

public static final String TEMP_PHOTO_FILE_NAME = "temp_photo.jpg"; private static String mSdRootPath = Environment.getExternalStorageDirectory().getPath(); /** * 删除SD卡或者手机的缓存图片和目录 */ public void deleteFile() { Log.i("INFO", mSdRootPat

Android4.4中拒绝发送Intent.ACTION_MEDIA_MOUNTED扫描SD卡的广播

通常在我们的项目中,可能会遇到写本地文件,最常用的就是图片文件,在这之后需要通知系统重新扫描SD卡,在Android4.4之前也就是以发送一个Action为"Intent.ACTION_MEDIA_MOUNTED"的广播通知执行扫描.如下: this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDir

手动通知扫描SD卡主动生成缩略图

最近做项目遇到的难题,调用系统拍照获取不到缩略图,非得关机重启才会生成,所以我们要主动通知系统扫描SD卡生成缩略图, 在Android4.4之前也就是以发送一个Action为“Intent.ACTION_MEDIA_MOUNTED”的广播通知执行扫描.如下: this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDire

Android 从 Android 本地图库选择多个图片

原文地址 本文说明如何从 Android 本地图库选择多个图片.作者考虑很多解决方案. 演示从 Android 本地图库选择多个图片,有两个方法可以实现从图库中选择多个图片: 用 Intent 获取多个图片 自定义图库从本地获取和加载图片 下载 Demo 下载 Demo 后将 QDReader 图片目录复制到 sd 卡上 环境 Windows 2008 R2 64 位 Eclipse ADT V22.6.2,Android 4.4.2(API 19) SAMSUNG GT-8618,Androi

Android之ListView异步加载图片且仅显示可见子项中的图片

折腾了好多天,遇到 N 多让人崩溃无语的问题,不过今天终于有些收获了,这是实验的第一版,有些混乱,下一步进行改造细分,先把代码记录在这儿吧. 网上查了很多资料,发现都千篇一律,抄来抄去,很多细节和完整实例都没看到,只有自己一点点研究了,总体感觉 android 下面要显示个图片真不容易啊. 项目主要实现的功能: 异步加载图片图片内存缓存.异步磁盘文件缓存解决使用 viewHolder 后出现的图片错位问题优化列表滚动性能,仅显示可见子项中的图片无需固定图片显示高度,对高度进行缓存使列表滚动时不会

android关于SD卡、存储的各种操作

getExternalFilesDir getExternalFilesDir(Environment.DIRECTORY_PICTURES).getAbsolutePath()返回的是图片存放的标准目录,应用被卸载时这个目录也会被删除.参数还有:public static String DIRECTORY_ALARMS系统提醒铃声存放的标准目录.public static String DIRECTORY_DCIM 相机拍摄照片和视频的标准目录.public static String DIR

Facebook推出强大Android图片库Fresco 自动释放内存 图片缓存 内存益处

自动释放内存!Facebook推出强大Android图片库Fresco 快速而又高效的显示图片对Android设备来说是件极其重要的事情,但在过去的几年里,在有效存储图像方面我们面临了很多问题.图片太大,而手机又只有很小的内存,特别是Android设备还要将内存分割给各个应用.所以,太多的图片总会耗去大部分的内存,从而导致应用的崩溃. 为了解决这一问题,Facebook最近推出了一款用于Android应用中展示图片的强大图片库Fresco,它能够从网络.本地存储和本地资源中加载图片.而且,为了节

Android 自定义 HorizontalScrollView 打造再多图片(控件)也不怕 OOM 的横向滑动效果

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38140505 自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果.的确HorizontalScrollView可以实现Gallery的效果,但是HorizontalScrollView存在一个很大的问题,如果你仅是用来展示少量的图片,应该是没问题的,但是如果我希望HorizontalScr