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

OSCHINA-MIRROR/ts_ohos-file-picker

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

AndroidFilePicker

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

Версия порта: 0.7.1

Он не имеет таких имен, как Rocky, Cosmos или Peppa. Файловый проводник, как следует из названия, представляет собой фреймворк для выбора локальных файлов. Некоторые его особенности описаны ниже:

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

Скачивание и использование

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

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

dependencies {
    implementation 'com.gitee.ts_ohos: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> strings = FilePickerManager.INSTANCE().obtainData();
                    // выполните свои действия
                }
                break;
        }
    }

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

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

Функции и особенности

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

Лицензия

MIT License

Copyright (c) 2018 

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

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

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

Введение

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

Обновления

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

Участники

все

Язык

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

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