Файловый менеджер для Android своими руками

Файловый менеджер для Android своими руками

В данной статье для начинающих разработчиков программного обеспечения для операционной системы Android мы попытается пошагово разобраться, как создать свой собственный несложный файловый менеджер.

Конечно же, примеры использованного кода будут полезны и в чисто обучающих целях для новичков в Android-программировании.

Для начала, необходимо подготовиться. В первую очередь нам понадобиться IDE, то есть среда программирования. Мы будем использовать IDE Eclipse, однако это не означает, что нельзя использовать любую другу доступную среду разработки. Итак, загружаем Eclipse Classic по ссылке: https://www.eclipse.org/downloads/. Далее загружаем и устанавливаем SDK Starter Package по ссылке: http://developer.android.com/sdk/index.html. Устанавливаем ADT Plugin для Eclipse и настраиваем его.

После установки среды разработки, запускаем её. В случае, если это Eclipse, выбираем пункт меню «Window» -> «Android SDK and AVD Manager», где выбираем все необходимые для установки элементы. Проще всего, конечно, установить все компоненты, но необходимый минимум включает, в любом случае, как минимум Android 2.1/2.2, Android SDK Tools, Android SDK Platform-tools.

Среда для разработки готова. Чтобы проверять созданные приложения, можно воспользоваться удобным эмулятором виртуального Android-устройства. Эмулятор добавляется в окне Android SDK and AVD Manager. Для этого нажимаем «New…» во вкладке «Virtual Devices». Заполняем поле «Name» по желанию, указываем необходимую версию API и добавляем вновь созданный виртуальный Android-девайс.

Отметим лишь, что проверять созданные приложения на реальном физическом устройстве всё-равно крайне желательно, для пущей уверенности в его работоспособности.

Теперь приступим непосредственно к созданию нового проекта. Выбираем «File» -> «New» -> «Project», в появившемся окне выбираем «Android» -> «Android Project» и нажимаем «Next». Появившееся окно заполняем как-то вот так:

Теперь разъясним, что означают введенные данные. Project Name – это имя проекта в среде разработки Eclipse. Application Name – название приложения, которое будет видно пользователю при установке на Android-девайс. Package Name – название пакета, по аналогии с Java-проектом. Данное имя обязательно должно быть уникальным, в том числе среди всех возможных названий на конечном Android-устройстве пользователя. В связи с этим, довольно эффективно в таких целях использовать веб-домен наоборот, после которого – название самого проекта, отделенное точкой. Таким образом можно достичь достаточно высокой степени уникальности. Create Activity – это имя класса, который впоследствии будет являться подклассом класса Activity. Min SDK Version – как понятно из названия, минимальная необходимая версия SDK. Если просмотреть список Build Target нашего приложения, то становится ясно, что подходит только устройство с установленной операционной системой Android версии 2.1 (версия SDK 7) или новее. Это не столь принципиально, если только не задействуются те или иные функции, доступные только в более новых версиях ОС Android. Нажимаем «Finish» и видим свой проект в разделе «Package Explorer». Проект создан.

Итак, перед нами стоит цель – обеспечить минимальный функционал файлового менеджера, как-то – базовая навигация по каталогам, то есть даже без доступа к папкам, на которые имеет права root. Также нужно отображать в верхней части экрана текущее расположение в файловой системе.

Разберем структуру проекта:

/res/drawable-*dpi – каталоги с ресурсами, которые предназначены для устройств с разной разрешающей способностью экрана. На данном этапе здесь содержится одинокий файл icon.png – иконка для приложения.

/res/layout – директория содержит xml-файлы, которые описывают структуру и внешний вид форм и их элементов. Сразу после создания проекта, в данной папке находится файл main.xml, также создаем файл row.xml, который будет описывать внешний вид рядов – элементов списка в файловом дереве нашего файлового менеджера.

/res/values – в данной папке размещены любые константы, которые могут быть применены для работы проекта.

Редактировать .xml-файлы можно в визуальном и текстовом режимах, причем второй предпочтительнее. А поэтому для редактирования кода нажимаем правой кнопкой мышки на необходимом файле .xml в Package Explorer и выбираем пункт «Open with» -> «Text Editor».

Файл FileManager.java содержит основной класс для основной формы приложения. Здесь же будет находится весь написанный нами код.

AndroidManifest.xml – содержит все основные свойства проекта, в том числе заданные при его создании (например, название). Так что при необходимости изменить название проекта в процессе разработки приложения редактировать нужно именно этот файл.

Приступим к написанию кода, по ходу дела разбираясь, за что он отвечает. Файл main.xml:

В данном коде задана разметка для основного Layout`а. TableLayout означает, что элементы будут выстроены в виде таблицы. В верхней ячейке этой таблицы находится элемент TextView, то есть текстовое поле, а в нижней – ListView, то есть список. Оба эти элемента имеют id, используя которые, можно изменять их содержимое. К примеру, с использованием R.id.titleManager для текстового поля TextView.

В данных строках задана разметка для каждого элемента ListView, то есть для каждой папки и файла. В коде указана ширина элементов, высота, отступы (padding) и выравнивание – центрирование по вертикали (center_vertical).

В начале указано имя пакета (Package Name). Строки со 2й по 18ю отвечают за импорт необходимых для работы приложения библиотек. Eclipse умеет производить подгрузку и импорт нужных библиотек автоматически, если встречает что-либо неизвестное. Вообще, в выше изложенном коде всего пять наглядных функций, это и есть скелет приложения, который обеспечивает базовую навигацию по файловой системе Android-девайса. Единственная оговорка – при попытке открыть директорию, для доступа к которой нужны root-права, приложение выдаст ошибку и будет закрыто.

📎📎📎📎📎📎📎📎📎📎