2

以前import java.io.File;は SD カードからすべての音楽ファイルをインポートしていましたが、Mediastore を使用してファイルのタイトルを取得したいのですが、どうすればよいですか? これは私が今使っているコードです。

public class ListFiles extends ListActivity {
 private List<String> directoryEntries = new ArrayList<String>();


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent i = getIntent();
    File directory = new File(i.getStringExtra("directory"));

    if (directory.isDirectory()){
        File[] files = directory.listFiles();

        Arrays.sort(files, new Comparator<File>(){
            public int compare(File f1, File f2) {
                return -Long.valueOf(f1.lastModified()).compareTo(f2.lastModified());
            }
        });

        this.directoryEntries.clear();
        for (File file : files) {
            this.directoryEntries.add(file.getName());  
        }

        ArrayAdapter<String> directoryList = new ArrayAdapter<String>(this,R.layout.file_row, this.directoryEntries);
    this.setListAdapter(directoryList);
    }

}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
File clickedFile = new File(this.directoryEntries.get(position));
Intent i = getIntent();
i.putExtra("clickedFile", clickedFile.toString());
setResult(RESULT_OK, i);
finish();
}

}

ありがとう。

4

1 に答える 1

1

MediaStoreを使用してビデオ ファイルに対してこれを行いました。 クラスの概要 - メディア プロバイダーには、内部および外部ストレージ デバイスの両方で利用可能なすべてのメディアのメタ データが含まれています。

これらの 2 つの例を参照して、MediaStore List VideoList Audioの使用法を理解してください。

于 2011-11-23T13:18:55.347 に答える