@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) {
// Разрешение получено, можно продолжить работу с файловой системой
}
}
|
Обратите внимание, что указанный код является примером и требуется его настройка и доработка в зависимости от требований вашего приложения.