【问题标题】:How we can get Image from Sdcard which have unique name based on timestamp in Android我们如何从 Sdcard 中获取基于 Android 时间戳具有唯一名称的图像
【发布时间】:2017-06-20 09:40:47
【问题描述】:

我知道如何从 sdcard 中检索图像,但我找不到检索包含唯一时间戳及其名称的特定图像的解决方案。

当我存储到外部目录时,如何从具有唯一时间戳的 sdcard 获取图像?

String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());

//folder stuff
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "MyImages");
imagesFolder.mkdirs();

File image = new File(imagesFolder, "QR_" + timeStamp + ".png");
Uri uriSavedImage = Uri.fromFile(image);

如何从 sdcard 中检索上面的图像?

【问题讨论】:

  • 我会使用 Java 的正则表达式来查找那些特定的图像。
  • 请您举例说明一下吗?
  • 请阅读以下内容:stackoverflow.com/questions/2149680/…,希望您能很好地了解如何根据需要查找文件。

标签: android timestamp android-sdcard


【解决方案1】:

以下代码用于从文件名以 "QR_[eight int '-' Six int]" 开头的文件夹中检索文件

private void getFiles() {
    Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

    File imagesFolder = new File(Environment.getExternalStorageDirectory(), "MyImages");

    String path = imagesFolder.getAbsolutePath();

    final String where = MediaStore.Images.Media.DATA + " like ? ";
    final String[] args = new String[]{path + File.separator + "QR_" + "%"};
    final String[] columns = {MediaStore.Images.Media.DATA};
    final Cursor cursor = getActivity().getContentResolver().query(uri, columns, where, args, null);
    final String pattern = Pattern.quote(path) + "/[^/]*";

    if (cursor != null && cursor.moveToFirst()) {

        do {
            final String curPath = cursor.getString(0);
            if (curPath.matches(pattern)) {
                final File file = new File(curPath);
                    if(file.getName().matches("\\d{8}-\\d{6}")) {
                        // your file
                    }
            }
        } while (cursor.moveToNext());
        cursor.close();
    }
}

【讨论】:

  • 但问题是当前时间戳与 img 存储时间戳不同
  • 所以你想要文件名带有“QR_”+[anything]+“.png”..?
  • 没什么,但我想存储具有唯一名称的图像,然后我想检索该图像对于唯一名称,我使用包含值``yyyyMMdd_HHmmss` 的时间戳变量
猜你喜欢
  • 1970-01-01
  • 2014-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 2018-01-10
  • 2012-12-16
相关资源
最近更新 更多