Android 外部ストレージ デバイス内のすべてのファイルを一覧表示するためのヘルプを探しています。メインフォルダーのサブフォルダーを含むすべてのフォルダーを検索したい。これに何か方法はありますか?
私は基本的なものに取り組みましたが、まだ望ましい結果が得られていません。うまくいきません。これが私のコードです:
File[] files_array;
files_array = new File(Environment.getExternalStorageDirectory().getAbsolutePath()).listFiles();
助けてください。ありがとうございました。
編集:
このメソッドは 0 サイズを返します。何が問題なのかわからない。これは私の活動です:
public class Main extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
List<File> files = getListFiles(Environment.getExternalStorageDirectory());
setListAdapter(new ArrayAdapter<File>(Main.this, android.R.layout.simple_list_item_1, files));
Toast.makeText(this, "" + files.size(), Toast.LENGTH_LONG).show();
}
private List<File> getListFiles(File parentDir) {
// On first call, parentDir is your sdcard root path
ArrayList<File> inFiles = new ArrayList<File>(); // initialize an array list to store file names
File[] files = parentDir.listFiles(); // list all files in this directory
for (File file : files) {
if (file.isDirectory()) { // if the file is a directory
inFiles.addAll(getListFiles(file)); // **CALL THIS RECURSIVELY TO GET ALL LOWER LEVEL FILES**
}
}
return inFiles;
}
}