Android file manager programming

Файловый менеджер для 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.

Читайте также:  Vs code flutter android emulator

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

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

Источник

Лучшие файловые менеджеры для Android

ОС Android хороша в том числе тем, что у пользователя имеется полноценный доступ к файловой системе и возможность использовать файловые менеджеры для работы с ней (а при наличии root доступа — еще более полноценный доступ). Однако, не все файловые менеджеры одинаково хороши и бесплатны, имеют достаточный набор функций и представлены на русском языке.

В этой статье список лучших файловых менеджеров для Android (преимущественно бесплатных или условно бесплатных), описание их функций, особенностей, некоторых интерфейсных решений и других деталей, которые могут послужить в пользу выбора того или иного из них. См. также: Лучшие лаунчеры для Android, Как очистить память на Android. Существует также официальный и простой файловый менеджер с возможностью очистки памяти Android — Files By Google, если вам не требуются какие-то сложные функции, рекомендую попробовать.

ES Проводник (ES File Explorer)

ES Проводник — пожалуй, самый популярный файловый менеджер для Android, оснащенный всеми необходимыми функциями для управления файлами. Полностью бесплатный и на русском языке.

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

И, наконец, ES Проводник умеет работать с облачными хранилищами (Google Диск, Drobox, OneDrive и другие), поддерживает FTP и подключение по локальной сети. Тут же имеется и менеджер приложений Android.

Подводя итог, в ES File Explorer есть практически все, что может потребоваться от файлового менеджера на Андроид. Однако, стоит отметить, что последние его версии стали восприниматься пользователями уже не столь однозначно: сообщается о всплывающих сообщениях, ухудшении интерфейса (с точки зрения некоторых пользователей) и другие изменения, говорящие в пользу поиска другого приложения для этих целей.

Скачать ES Проводник можно в Google Play: здесь.

Файловый менеджер X-Plore

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

Среди возможностей и особенностей X-Plore File Manager

  • Удобный после освоения двухпанельный интерфейс
  • Поддержка root
  • Работа с архивами Zip, RAR, 7Zip
  • Работа с DLNA, локальной сетью, FTP
  • Поддержка облачных хранилищ Google, Яндекс Диск, Облако mail.ru, OneDrive, Dropbox и других, сервиса отправки файлов Send Anywhere.
  • Управление приложениями, встроенный просмотр PDF, изображений, аудио и текста
  • Возможность передачи файлов между компьютером и Android устройством по Wi-Fi (Общий доступ по Wi-Fi).
  • Создание зашифрованных папок.
  • Просмотр карты диска (встроенной памяти, SD карты).

Total Commander для Android

Файловый менеджер Total Commander хорошо знаком олдскульным и не только пользователям Windows. Его же разработчики представили и бесплатный файловый менеджер для Android с тем же названием. Android версия Total Commander полностью бесплатная без ограничений, на русском языке и имеет самые высокие рейтинги у пользователей.

Среди функций, имеющихся в файловом менеджере (помимо простых операций над файлами и папками):

  • Двух панельный интерфейс
  • Root-доступ к файловой системе (при наличии прав)
  • Поддержка плагинов для доступа к USB флешкам, LAN, FTP, WebDAV
  • Эскизы изображений
  • Встроенный архиватор
  • Отправка файлов через Bluetooth
  • Управление приложениями Android

И это не полный список возможностей. Если кратко: скорее всего, в Total Commander для Android вы найдете почти все, что вам может потребоваться от файлового менеджера.

Скачать бесплатно приложение вы можете с официальной страницы Google Play Market: Total Commander для Android.

Amaze File Manager

Многие из пользователей, отказавшихся от ES Проводник, в отзывах к Amaze File Manager оставили самые лучшие комментарии (что немного странно, так как функций в Amaze поменьше). Этот файловый менеджер действительно хорош: прост, красив, лаконичен, быстро работает, русский язык и бесплатность использования присутствуют.

Что с функциями:

  • Все необходимые функции работы с файлами и папками
  • Поддержка тем оформления
  • Работа с несколькими панелями
  • Менеджер приложений
  • Root доступ к файлам при наличии прав на телефоне или планшете.

Итог: простой красивый файловый менеджер для Android без лишних функций. Скачать Amaze File Manager можно на официальной странице программы

Cabinet

Бесплатный файловый менеджер Cabinet пока находится в бета-версии (но доступен для скачивания с Play маркет, на русском языке), однако уже в текущий момент времени имеет и выполняет все необходимые функции по работе с файлами и папками на Android. Единственное негативное явление, отмечаемое пользователями — при некоторых действиях может притормаживать.

Читайте также:  Android studio avd change directory

Среди функций (не считая, собственно, работы с файлами и папками): root-доступ, архивация (zip) поддержка плагинов, очень простой и удобный интерфейс в стиле Material Design. Немного, да, с другой стороны, ничего лишнего и работает. Страница файлового менеджера Cabinet.

File Manager (Проводник от Cheetah Mobile)

Пусть, Проводник для Android от разработчика Cheetah Mobile и не самый «крутой» в плане интерфейса, но, также, как и два предыдущих варианта позволяет использовать все свои функции полностью бесплатно и также оснащен русскоязычным интерфейсом (дальше пойдут приложения с некоторыми ограничениями).

Среди функций, помимо стандартного функционала копирования, вставки, перемещения и удаления Проводник включает в себя:

  • Поддержка облачных хранилищ, включая Яндекс Диск, Google Диск, OneDrive и другие.
  • Передача файлов по Wi-Fi
  • Поддержка передачи файлов по протоколам FTP, WebDav, LAN/SMB, включая возможность потоковой передачи медиа по указанным протоколам.
  • Встроенный архиватор

Пожалуй, в этом приложении также имеется почти все, что может потребоваться обычному пользователю и единственный спорный момент — это его интерфейс. С другой стороны, вполне вероятно, что вам он понравится. Официальная страница файлового менеджера на Play Маркет: File Manager (Cheetah Mobile).

Solid Explorer

Теперь о выдающихся теми или иными свойствами, но частично платных файловых менеджерах для Android. Первый из них — Solid Explorer. Среди свойств — отличный интерфейс на русском, с возможность включения нескольких независимых «окон», анализ содержимого карт памяти, внутренней памяти, отдельных папок, встроенные просмотр медиа, подключение облачных хранилищ (включая Яндекс Диск), LAN, а также по всем распространенным протоколам передачи данных (FTP, WebDav, SFTP).

Дополнительно имеется поддержка тем оформления, встроенный архиватор (распаковка и создание архивов) ZIP, 7z и RAR, Root доступ, поддержка Chromecast и плагинов.

Среди прочих возможностей файлового менеджера Solid Explorer — настройка оформления и быстрый доступ к папкам-закладкам прямо с домашнего экрана Android (долгое удержание иконки), как на скриншоте ниже.

Настоятельно рекомендую попробовать: первую неделю это полностью бесплатно (все функции доступны), а потом вы, возможно, и сами решите, что это тот файловый менеджер, который вам был нужен. Скачать Solid Explorer можно здесь: страница приложения на Google Play.

Mi Проводник

Mi Проводник (Mi File Explorer) знаком владельцам телефонов Xiaomi, но прекрасно устанавливается и на другие Android телефоны и планшеты.

Набор функций примерно тот же самый, что и в других файловых менеджерах, из дополнительного — встроенная очистка памяти Android и поддержка передачи файлов через Mi Drop (при наличии соответствующего приложения). Недостаток, судя по отзывам пользователей — может показываться реклама.

ASUS File Manager

И еще один хороший фирменный файловый менеджер для Андроид, доступный и на сторонних устройствах — Asus File Explorer. Отличительные особенности: минимализм и удобство использования, особенно для начинающего пользователя.

Дополнительных функций не так много, т.е. в основном работа со своими файлами, папками и медиа-файлами (которые располагаются по категориям). Разве что есть поддержка облачных хранилищ — Google Drive, OneDrive, Яндекс Диск и фирменного ASUS WebStorage.

FX File Explorer

FX File Explorer — единственный файловый менеджер в обзоре, не имеющий русского языка, однако заслуживающий внимания. Часть функций в приложении доступны бесплатно и навсегда, часть — требует оплаты (подключение сетевых хранилищ, шифрование, например).

Простое управление файлами и папками, при этом в режиме двух независимых окон доступно бесплатно, при этом, на мой взгляд, в отлично сделанном интерфейсе. Помимо прочего, поддерживаются дополнения (плагины), буфер обмена, а при просмотре медиа файлов — миниатюры вместо иконок с возможностью изменения размеров.

Что еще? Поддержка архивов Zip, GZip, 7zip и не только, распаковка RAR, встроенный медиа проигрыватель и HEX редактор (а также обычный текстовый редактор), удобные средства сортировки файлов, передача файлов по Wi-Fi с телефона на телефон, поддержка передачи файлов через браузер (как в AirDroid) и это далеко не все.

Несмотря на обилие функций, приложение довольно компактное и удобное и, если вы еще ни на чем не остановились, а проблем с английским нет, попробовать FX File Explorer тоже стоит. Скачать можно с официальной страницы.

В действительности, файловых менеджеров, доступных для бесплатной загрузки в Google Play существует бесчисленное количество. В этой статье я постарался указать лишь те, что уже успели заслужить отличные отзывы пользователей и популярность. Однако, если у вас есть, что добавить к списку — пишите о своем варианте в комментариях.

А вдруг и это будет интересно:

29.01.2016 в 22:08

Случайно наткнулся File Manager от Asus, для телефонов Zen, но работают на всех устройствах. Просто, ничего лишнего, мне нравится.

30.01.2016 в 18:32

Да, у меня Asus, в итоге для бытовых задач его вполне достаточно, для root нет

30.01.2016 в 13:35

Из представленных здесь, я пользовался двумя: ES Проводник и Total Commander
Первый (был предустановлен) категорически мне не понравился — снёс
Второй попробовал, но смысла в использовании не увидел, т.к. на Win10 установлен ТС с плагином для ADB.
Сам использую Root Explorer — великолепнейшая программа: её можно назвать «Проводник Windows на Android»

Читайте также:  Андроид пропал ярлык камера

21.01.2017 в 22:35

30.01.2016 в 18:30

А как же отличнейший X-plore File manager — ещё с Symbian он был отличным ФМ.
А ES проводник тяжеловат, на мой взгляд.

31.01.2016 в 08:54

Ух ты, интересный. Изучу (как-то странным образом не довелось столкнуться, хотя, судя по всему, заслуживает внимания).

09.03.2016 в 18:23

Могу посоветовать легкий, удобный и легко кастомизируемый файловый менеджер MK Explorer (разработчик kormateusz).
Очень доволен.

01.06.2016 в 12:54

Я пользуюсь ASTRO File Manager, есть ещё больше функций, например, поиск, недавно открытое, загруженность SD Card, убийца задач, менеджер приложений.

22.09.2017 в 07:23

Здравствуйте. Андроид 5.1. В облаке (MEGA) имеется папка, «музыка».
Как сделать так, чтобы эта папка легко и корректно синхронизировалась на всех устройствах?
Компьютер с облаком синхронизируется вообще без проблем, всё как надо, а вот на андроиде это реализовать оказалось целой проблемой — вместо того что надо, лезет куча рекламы, куча всякого рода ошибок и ограничений, куча всякого ненужного и лишнего.
Файловые менеджеры не хотят работать с флешкой без лишних вопросов и подтверждений, но это вроде бы не самая большая беда. Синхронизировать дополнительную папку (не фото/видео) на флешке оказалось нереальной задачей.
Родное приложение MEGA для андроида нормально синхронизирует только папку камеры, «вторичную» папку для синхронизации выбрать на флешке почему-то нельзя, только в памяти телефона. Можно было бы фото/видео оставить для синхронизации гугл-драйву, а музыку «обманным» (т.е. для Camera указать путь в «музыка») путём синхронизировать с мега, но заводить десять облаков и учёток — это плохой подход, хотелось бы чтобы всё, и для компа и для всех других нужных устройств, было единым, с одним логином и паролем, с одним сервисом, централизованным, простым, лёгким, быстрым, удобным и вместимым, как в рекламе).
Неужели так трудно синхронизировать с облаком нужную (нужные) папку на флешке?
Чтоб у компа и телефона хранение и работа с фалами в этой папке (копировать/вставить/удалить/добавить/переименовать) были общими

22.09.2017 в 08:38

Сергей, боюсь, что не отвечу на вопрос: ни разу не пользовался Mega, и как что у них там реализовано — не знаю.
Но вообще, в OneDrive, например, которым я как раз пользуюсь, тоже нет синхронизации папок с мобильного устройства: т.е. можно загрузить отдельные файлы, но автоматической синхронизации папок «как на компьютере» нету. Подозреваю, что это намеренно так сделано на мобильных устройствах (просто если бы они работали в режиме автосинхронизации папок, то постоянно бы были у людей проблемы с нехваткой места, разрядом батареи, тратой трафика и т.п.). Хотя вот вы пишете, что в Mega можно папку из внутренней памяти синхронизировать.

В общем, ответа у меня нет, если б появилась задача — сидел бы, искал, пробовал.

22.09.2017 в 18:37

Спасибо, Dmitry. Да, в мобильном mega-клиенте можно папку Camera синхронизировать, даже если она на флэшке, и такими способностями, насколько я сейчас понимаю, обладают наверное почти-что все мобильно-облачные клиенты и многие файловые менеджеры. Тоже, кстати, думал о OneDrive, но там места мало предоставлялось, если бесплатно, 5 гигов вроде бы, в mega их 50 дают + понравился сам интерфейс сервиса и прога-клиент для пк — маленькая, не плодит в системе доп.служб/заданий и прочего, простая, шустрая, и при этом функционал как надо, ничего лишнего, и главное надёжно-стабильная, уж не примите за рекламу.
Насчёт намеренного урезания возможностей мобильной синхронизации наверное не соглашусь, ведь такие вещи по логике должны быть опционально настраиваемы, т.е. всё на выбор. Ведь вряд ли придёт кому-то в голову каждый день синхронизировать новую флэшку, забитую битком, с новыми файлами заново и полностью; в течении дня, как правило, могут добавляться/удаляться всего лишь несколько файлов, и то не всегда — это очень лёгкая нагрузка для современных телефонов и 3/4G сетей, и по трафику нынешних тарифных планов всего-ничего, мизер. Ведь никому же в голову не придёт синхронизировать полнометражное кино, да ещё и в хорошем качестве?? Такое даже на компах не делают. Всего лишь доки кое-какие, фото/видео да музыка наверное.
По наивности своей думал, что сейчас сервисы и технологии настолько развиты, что все свои файлы на всех устройствах с помощью сетей можно связать воедино, как-бы по схеме «звезда», в центре которой облако (сервис) — одновременно и бэкап, и быстрый доступ если что, и некоторые общие папки для всех устройств. Хотел в это всё внести побольше порядка и понимаемости, но ни тут-то было, хотя о таких возможностях читал в статьях об облачных сервисах ещё лет 10 назад.

14.12.2017 в 19:40

Добрый вечер, помогите пожайлуста, удалил все контакты с телефона не могу их восстановить, как их восстановить и можно ли это?

Источник

Оцените статью