Android:列出每个存储桶的缩略图

Android:列出每个存储桶的缩略图,第1张

概述我能够从SD卡中选择所有存储桶的显示名称,现在我想从该存储桶中建立缩略图列表.我该如何实现?来自Android的缩略图表没有任何可用于查询图像表的信息.我试图从MediaStore.Images.Media.EXTERNAL_CONTENT_URI获取缩略图ID,但是在这种情况下_ID与缩略图ID不同.谢谢Ť解决方法:我有

我能够从SD卡中选择所有存储桶的显示名称,现在我想从该存储桶中建立缩略图列表.我该如何实现?

来自Android的缩略图表没有任何可用于查询图像表的信息.我试图从MediaStore.Images.Media.EXTERNAL_CONTENT_URI获取缩略图ID,但是在这种情况下_ID与缩略图ID不同.

谢谢
Ť

解决方法:

我有同样的问题.图像和缩略图之间的共同值是图像ID,在图像中以_ID和缩略图的形式存储.我最后要做的是查询图像表中属于该存储桶的所有图像,然后查询缩略图表中所有具有匹配image_ID的缩略图.这是一些代码.

private voID populateImages(){    int[] imageIDs = getimagesFromBucket();    String searchParams = null;    if(imageIDs != null && imageIDs.length > 0)    {        searchParams = "";        for(int i=0;i<imageIDs.length;i++)        {            searchParams += "image_ID = "+imageIDs[i]+" OR ";        }        searchParams = searchParams.substring(0,searchParams.length() - 4);//cuts off the extra " OR "    }    String[] projection = {MediaStore.Images.thumbnails._ID};    cursor = managedquery(MediaStore.Images.thumbnails.EXTERNAL_CONTENT_URI,            projection,            searchParams,            null,            MediaStore.Images.thumbnails.IMAGE_ID);    //do something with the result here}private int[] getimagesFromBucket() {    int[] IDs = null;    ArrayList<Integer> lstIDs = new ArrayList<Integer>();    String searchParams = null;    String bucket = getIntent().getExtras().getString("Bucketname");    if(bucket != null && !bucket.equals("All"))    {        searchParams = "bucket_display_name = \""+bucket+"\"";    }    else    {        return IDs;    }    String[] projection = {MediaStore.Images.Media._ID};    cursor = managedquery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,            projection,            searchParams,            null,null);    if(cursor.movetoFirst())    {        do        {            int ID = cursor.getInt(cursor.getColumnIndex(MediaStore.Images.Media._ID));            lstIDs.add(ID);        }        while(cursor.movetoNext());    }    IDs = new int[lstIDs.size()];    for(int i=0;i<IDs.length;i++)    {        IDs[i] = (int)(lstIDs.get(i));    }    return IDs;}

希望能有所帮助

总结

以上是内存溢出为你收集整理的Android:列出每个存储桶的缩略图全部内容,希望文章能够帮你解决Android:列出每个存储桶的缩略图所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存