Android需要帮助从web上对保存的图像进行排序

Android需要帮助从web上对保存的图像进行排序,android,image,gallery,datecreated,Android,Image,Gallery,Datecreated,从web保存图像时出现问题 我创建新文件夹并将所有图像保存到此文件夹。问题是,我希望此文件夹按上次下载图像的顺序排列在first上,但当我打开gallery时,文件夹按创建的图像日期排列,并且在下载图像中创建的日期不是我下载的时间,而是它第一次创建的时间。我已经在StackOverFlow上搜索过了,发现java无法将图像中创建的日期修改为我下载它的时间 有人有解决办法吗?(很抱歉英语不好) 谢谢你的评论。我会解释更多细节 首先,我将图像从web下载到缓存目录 HttpURLConnection

从web保存图像时出现问题

我创建新文件夹并将所有图像保存到此文件夹。问题是,我希望此文件夹按上次下载图像的顺序排列在first上,但当我打开gallery时,文件夹按创建的图像日期排列,并且在下载图像中创建的日期不是我下载的时间,而是它第一次创建的时间。我已经在StackOverFlow上搜索过了,发现java无法将图像中创建的日期修改为我下载它的时间

有人有解决办法吗?(很抱歉英语不好)

谢谢你的评论。我会解释更多细节

首先,我将图像从web下载到缓存目录

HttpURLConnection localHttpURLConnection = (HttpURLConnection) new java.net.URL(urldisplay).openConnection(); 
localHttpURLConnection.setConnectTimeout(30000);
localHttpURLConnection.setReadTimeout(30000);
localHttpURLConnection.setInstanceFollowRedirects(true);
InputStream in = localHttpURLConnection.getInputStream();
File localFile = Constans.fileCache.getCacheFile(urldisplay);
FileOutputStream fos = new FileOutputStream(localFile);
Utils.CopyStream(in, fos); // simple copy by trunks
fos.close();
其次,我将下载的图像复制到外部存储器

File toFile = new File(Environment.getExternalStorageDirectory() + "/folder", "folder_" + System.currentTimeMillis() + ".png");
FileOutputStream fos = new FileOutputStream(toFile);
Utils.CopyStream(new FileInputStream(fromFile), fos);
fos.close();

// Scan image to display when open with gallery otherwise it couldn't see in gallery
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.fromFile(toFie);
mediaScanIntent.setData(contentUri);
mContext.sendBroadcast(mediaScanIntent);

最后,我看到画廊在我下载的时候没有对我的图片进行排序。这就是我想要解决的问题。

我不确定我是否理解,但让我们试试

首先,您提到的问题比java代码问题更具体地针对Gallery应用程序。 我假设画廊使用EXIF信息按照片拍摄日期排序,而不是按下载/复制顺序排序。不幸的是,Gallery没有提供任何选项来对其他订单中的图片进行排序

也许您可以尝试使用另一个资源管理器,它允许您按另一个顺序对图片进行排序(也许ESFileExplore有更多选项?)

最终解决方案:您可以尝试使用java EXIF库更改图片中的EXIF,以修改图片拍摄日期,这应该会更改它们在Galery中的显示顺序(但非常难看的解决方案…)。谷歌5秒后的一些随机EXIF库:

希望这有帮助
Thierry

请添加一些代码和详细信息。你在使用android的galary还是galary视图?谢谢iu的回答。我已经解释了更多的细节。你能给我更多的帮助吗?谢谢你的回答。我已经解释了更多的细节。你能多帮点忙吗?好的。正如我所说的,画廊按拍摄日期排序,而不是按下载日期排序。这是这样的,你不能改变。如果你绝对想在图库中按下载日期排序,我提到的黑客方法是使用图片中的某个EXIF库修改EXIF信息,以修改图片的拍摄日期,并在保存后替换为下载日期。在这种情况下,它们将按您想要的方式排序。然而,这是相当巨大的,因为它改变了进出口银行信息的性质。