Як написати свій файловий менеджер для android
У даній статті для початківців розробників програмного забезпечення для операційної системи Android ми спробує покроково розібратися, як створити свій власний нескладний файловий менеджер. Звичайно ж, приклади використаного коду будуть корисні і в чисто навчальних цілях для новачків в Android-програмуванні.
Після установки середовища розробки, запускаємо її. У разі, якщо це 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». Що з'явилося вікно заповнюємо якось ось так:

Отже, перед нами стоїть мета - забезпечити мінімальний функціонал файлового менеджера, як-то - базова навігація по каталогах, тобто навіть без доступу до папок, які потрібно має права 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-права, додаток видасть помилку і буде закрито.