android – 如何从存储在SD卡上的图像中获取图像路径

android – 如何从存储在SD卡上的图像中获取图像路径,第1张

概述是否有可能获得存储在我的 Android手机的SD卡上的所有图像路径?还可以检查存储在SD卡或内部存储器中的其他图像吗?我目前正在这样做: Cursor cur = this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,null); star 是否有可能获得存储在我的 Android手机的SD卡上的所有图像的路径?还可以检查存储在SD卡或内部存储器中的其他图像吗?我目前正在这样做:

Cursor cur = this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,null,null);          startManagingCursor(cur);          cur.movetoFirst();        while (cur.movetoNext()) {            String str = cur.getString(cur.getColumnIndex(MediaStore.Images.ImageColumns.BUCKET_disPLAY_name));            Log.e("#########",str);        }

这似乎就像返回目录名,
我也见过这段代码:

file images = Environment.getDataDirectory();          file[] imageList = images.Listfiles(new filenameFilter(){          public boolean accept(file dir,String name)          {              return ((name.endsWith(".jpg"))||(name.endsWith(".png")));          }      });          String []mfiles = new String[imageList.length];          for(int i= 0 ; i< imageList.length; i++)          {              mfiles[i] = imageList[i].getabsolutePath();          }          Uri[] mUrls = new Uri[mfiles.length];          for(int i=0; i < mfiles.length; i++)          {              mUrls[i] = Uri.parse(mfiles[i]);              Log.e("###############","MURIS: "+mUrls[i].getEncodedpath());        }

但这是抛出一个nullpointer异常.

解决方法 您可以使用fileFilter.这是我写的一个用于返回包含图像的目录列表.从这里,修改它以返回图像列表应该相当简单:

fileFilter filterForImageFolders = new fileFilter()     {                    public boolean accept(file folder)         {             try             {                 //Checking only directorIEs,since we are checking for files within                 //a directory                 if(folder.isDirectory())                 {                     file[] listoffiles = folder.Listfiles();                     if (listoffiles == null) return false;                     //For each file in the directory...                     for (file file : listoffiles)                     {                                                    //Check if the extension is one of the supported filetypes                                                   //imageExtensions is a String[] containing image filetypes (e.g. "png")                        for (String ext : imageExtensions)                         {                             if (file.getname().endsWith("." + ext)) return true;                         }                     }                                        }                 return false;             }             catch (SecurityException e)             {                 Log.v("deBUG","Access DenIEd");                 return false;             }         }     };

编辑:澄清一下,使用它,你会做如下的事情:

file extStore = Environment.getExternalStorageDirectory();file[] imageDirs = extStore.Listfiles(filterForImageFolders);
总结

以上是内存溢出为你收集整理的android – 如何从存储在SD卡上的图像中获取图像路径全部内容,希望文章能够帮你解决android – 如何从存储在SD卡上的图像中获取图像路径所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1128224.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存