gpt4 book ai didi

android - 如何使用 contentResolver 在 android 中编写查询以仅从图库中获取特定日期的图像?

转载 作者:行者123 更新时间:2023-11-30 00:52:27 25 4
gpt4 key购买 nike

我想在 android 中使用 contentResolver 编写查询以仅从图库中获取特定日期的图像?

final String[] columns = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID };
Cursor imagecursor = getApplicationContext().getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,
null, null);

这给了我所有的图片,我想要特定日期和特定时间的图片。请建议。

最佳答案

您不能直接从日期本身查询图像 MediaStore 只了解时间戳。因此,如果您想要特定日期的图像,您必须首先将该日期转换为时间戳,如下所示。

//converting date to timestamp
public static long getTimeStamp(String calculatedDate) {
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
Date date = null;

try {
date = formatter.parse(calculatedDate);
} catch (ParseException e) {
e.printStackTrace();
}

long output = 0;
if (date != null) {
output = date.getTime() / 1000L;
}
String str = Long.toString(output);
return Long.parseLong(str) * 1000;
}

你现在需要像下面这样使用时间戳来查询它。在这里你需要传递两个时间戳来匹配大于给定日期且小于下一个日期的图像。所以你需要你想要的精确输出。

cursor = activity.getContentResolver().query(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{MediaStore.MediaColumns.DATA}, MediaStore.Images.Media.DATE_TAKEN + ">=? and " + MediaStore.Images.Media.DATE_TAKEN + "<=?", new String[]{"" + givendate_timestamp, "" + nextdate_timestamp}, MediaStore.Images.Media.DATE_TAKEN + " DESC");

关于android - 如何使用 contentResolver 在 android 中编写查询以仅从图库中获取特定日期的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40757108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com