1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ts_ohos-file-picker

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

AndroidFilePicker

Данное проект является портированием открытого проекта rosuh/AndroidFilePicker для использования с HarmonyOS, следует отслеживать исходный проект через адрес GitHub https://github.com/rosuH/AndroidFilePicker.

Порт версия: 0.7.1

Он не имеет имени вроде Rocky, Cosmos или Peppa. File Picker — это локальный файловый выборочный фреймворк. Некоторые его характеристики представлены ниже:

  • Запускается из Ability или Slice
    • С одной строки кода
  • Обзор всех файлов в локальном хранилище текущего приложения (в связи с концепцией песочницы HarmonyOS, доступен только просмотр файлов внутри директорий самого приложения)
    • Встроенная поддержка типов файлов и анализаторов файлов по умолчанию
    • Либо вы можете реализовать свои собственные типы файлов
  • Поддерживает режим одиночного выбора и множественного выбора
  • Настройка фильтров списка
    • Хотите показывать только изображения (или видео, аудио...)? Ничего страшного!
    • Конечно, можно показывать только папки
  • Есть ещё больше возможностей для исследования (?)

Установка и использование

  1. Добавьте зависимость в ваш проект

Затем добавьте зависимость в конфигурационный файл подмодуля (app):

dependencies {
    implementation 'com.gitee.ts_edgex:filepicker:1.0.1'
}

Пример использования

Разрешение

Этот библиотека требует одного разрешения:

  • ohos.permission.READ_USER_STORAGEЕсли вы не предоставили разрешение заранее, эта библиотека автоматически запросит необходимое разрешение.

Начало работы

Пример простой цепочки вызовов:

FilePickerManager.INSTANCE()
                  .from(HomeAbilitySlice.this)
                  .forResult(FilePickerManager.REQUEST_CODE);

Теперь вы уже взлетели 🛩️... (на самом деле всего две строки)

Получение результата

Чтобы получить результат, используйте метод onAbilityResult, который принимает сообщение и затем вызывает FilePickerManager.INSTANCE().obtainData(). Результат представляет собой список путей выбранных файлов (ArrayList<String>).

@Override
protected void onAbilityResult(int requestCode, int resultCode, Intent resultData) {
    super.onAbilityResult(requestCode, resultCode, resultData);
    switch (requestCode) {
        case FilePickerManager.REQUEST_CODE:
            if (resultCode == FilePickerManager.RESULT_OK) {
                List<String> paths = FilePickerManager.INSTANCE().obtainData();
                // выполните ваши действия
            }
            break;
    }
}

Дополнительные примеры

Для справки можно использовать примеры кода в HomeAbilitySlice.java.

Возможности и особенности1. Чейн-вызовы

  1. По умолчанию выбранные реализации
    • Нет стандартной реализации при нажатии на элемент (item)
    • При выборе CheckBox элемент считается выбранным
  2. Поддержка различных типов файлов по умолчанию
    • Реализуйте ваш тип файла путём реализации интерфейса IFileType
    • Реализуйте ваш тип файла с помощью абстрактного класса AbstractFileType, чтобы определить тип файла
  3. Открытый интерфейс для фильтрации файлов
    • Создайте свой собственный фильтр файлов, используя абстрактный класс AbstractFileFilter. Это позволит контролировать содержимое списка файлов
  4. Различные конфигурируемые опции
    1. Пропустить папки при выборе элемента
    2. Отображение скрытых папок (папки, начинающиеся со знака ., считаются скрытыми)# Лицензия
Лицензия MIT

Авторское право © 2018

Разрешается бесплатно предоставлять любому лицу, получившему копию
этого программного обеспечения и связанных с ним документов («Программа»),
работать с Программой без каких-либо ограничений, включая, но не ограничиваясь,
право использовать, копировать, модифицировать, объединять, публиковать,
распространять, передавать, продавать копии Программы, а также позволять
лицам, которым была предоставлена Программа, делать то же самое, при условии
следования нижеизложенным условиям:

Вышеупомянутое авторское право и данное разрешение должны присутствовать во всех
копиях или значительных частях Программы.

ПРОГРАМА ПРЕДОСТАВЛЕНА «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ВЫРАЖЕННЫХ ИЛИ
НЕВЫРАЖЕННЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОРГОВЛЕНИЯ, ПРИГОДНОСТИ
ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ И НЕНАРУШЕНИЯ ПРАВ. В НИКАКОМ СЛУЧАЕ АВТОРЫ И ДОЛЖНИКИ
АВТОРСКОГО ПРАВА НЕ ДОЛЖНЫ БЫТЬ УЧАСТНИКАМИ ЛЮБОГО ТРЕБОВАНИЯ, УЩЕРБА ИЛИ ДРУГОЙ
ОТВЕТСТВЕННОСТИ, ВОЗНИКШИХ ИЗ ДЕЙСТВИЯ ДОГОВОРА, ДЕЛИКТА ИЛИ ИНЫХ ДЕЙСТВИЙ, ВОЗНИКШИХ
ИЗ, В СВЯЗИ С ИЛИ В СВЯЗИ С ПРОГРАММОЙ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ ДЕЙСТВИЯМИ С ПРОГРАММОЙ.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

У него нет такого имени, как Rocky, Cosmos или Peppa. File Picker, как следует из названия, представляет собой фреймворк для локального выбора файлов. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/ts_ohos-file-picker.git
git@gitlife.ru:oschina-mirror/ts_ohos-file-picker.git
oschina-mirror
ts_ohos-file-picker
ts_ohos-file-picker
master