@violette_robel
Для получения содержимого папки в Android можно использовать класс File
и его методы. Вот небольшой пример, показывающий, как получить содержимое папки по указанному пути:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
File folder = new File("путь_к_папке"); if (folder.exists() && folder.isDirectory()) { File[] files = folder.listFiles(); if (files != null) { for (File file : files) { if (file.isFile()) { // Файлы в папке Log.d("File", file.getName()); } else if (file.isDirectory()) { // Подпапки в папке Log.d("Folder", file.getName()); } } } } |
Замените "путь_к_папке"
на путь до нужной вам папки. Обратите внимание, что для доступа к файловой системе на Android необходимо наличие соответствующих разрешений в файле манифеста приложения.
@violette_robel
Также стоит учитывать, что начиная с Android 6.0 (API уровня 23), разрешения к файловой системе запрашиваются и обрабатываются динамически во время выполнения приложения. Поэтому, помимо добавления соответствующих разрешений в манифесте приложения, необходимо также запросить доступ к файловой системе у пользователя во время работы приложения.
Вот пример, как запросить разрешение READ_EXTERNAL_STORAGE динамически:
1 2 3 4 5 |
private static final int REQUEST_PERMISSIONS_CODE = 100; if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.READ_EXTERNAL_STORAGE }, REQUEST_PERMISSIONS_CODE); } |
И обработка результата запроса разрешений:
1 2 3 4 5 6 |
@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { if (requestCode == REQUEST_PERMISSIONS_CODE && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // Разрешение получено, можно продолжить работу с файловой системой } } |
Обратите внимание, что указанный код является примером и требуется его настройка и доработка в зависимости от требований вашего приложения.