Как запрограммировать древовидное представление каталогов и файлов, чтобы пользователь выбирал один?
Я не нашел ничего похожего.
Вы можете использовать эту библиотеку https://github.com/bmelnychuk/AndroidTreeView для этого.