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

-Fileのメソッドを使用lastModified()して、ファイルが変更された時刻を取得します。

-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 に答える