0

我可以使用以下方法获取 sd 卡中的图像列表

但这些没有排序

我怎样才能让它们按名称或时间排序

提前致谢

String ExternalStorageDirectoryPath = Environment
                    .getExternalStorageDirectory().getAbsolutePath();

            String targetPath = ExternalStorageDirectoryPath + "/somedirectoryname/";

            File targetDirectory = new File(targetPath);

            File[] files = targetDirectory.listFiles();`
for (File file : files1) {
                    list.add(file.getAbsolutePath().toString());
                }
4

2 回答 2

0

-使用lastModified()File 的方法来获取文件被修改的时间。

-Collection将它们存储在ArrayList<File>.

-用于根据时间和名称java.util.Comparator<T>进行比较和排序

于 2012-12-11T16:31:12.727 回答
0

如果您使用内置的内容提供程序,可能会更容易

     MediaStore.Images.Media.query(cr, uri, projection, where, orderBy)

像这样的东西:

    String[] projection = {MediaColumns._ID, MediaColumns.DISPLAY_NAME, MediaColumns.DATE_ADDED};
    Cursor c = MediaStore.Images.Media.query(getContentResolver(), MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, MediaColumns.DATE_ADDED);

然后你可以循环光标来做你需要的任何事情。

于 2012-12-11T16:41:19.277 回答