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

OSCHINA-MIRROR/openharmony-applications_app_samples

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
SampleReadTemplate.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 08:32 293b822

Файл-менеджмент (название с использованием характеристик)

Введение

Необходимо представить основные принципы реализации данного примера, например, какие API были использованы, какие есть ключевые конфигурации и реализации и т. д., а также предоставить ссылки. Далее необходимо добавить инструкцию по применению приложения. Пример:

Данный пример демонстрирует функции, связанные с управлением файлами, используя следующие интерфейсы: @ohos.filemanagement.userFileManager, @ohos.file.fileAccess, @ohos.fileio, @ohos.file.fs и @ohos.app.ability.contextConstant. Реализованы функции добавления файлов, удаления файлов, поиска файлов определённого типа и предварительного просмотра изображений;

Предварительный просмотр

Скриншоты или видео, не более 4 файлов, каждый скриншот не должен быть слишком большим, рекомендуется занимать около четверти страницы, к каждому изображению прилагается заголовок. Пример:

Главная страница Плавающий режим Список Плавающий режим
image image image image

Инструкция по использованию

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

  1. На главной странице можно нажать на изображения, видео, документы, аудио и другие кнопки для перехода в список файлов соответствующего каталога;
  2. В списке файлов можно нажать кнопку «+», чтобы добавить файл;
  3. В списке файлов при длительном нажатии на элемент списка появится кнопка удаления изображения. Можно удалить файл, нажав на кнопку удаления;
  4. При нажатии на изображение в списке изображений можно перейти в режим предварительного просмотра изображения.

Структура проекта

Представлена структура ключевых каталогов проекта и описано их назначение. Пример:

entry/src/main/ets/
|---Application
|---filemanager
|   |---data
|   |   |---FileDataSource.ets             // 懒加载数据格式
|   |---pages
|   |   |---audio
|   |   |   |---AudioFileList.ets          // 音频列表页面
|   |   |---common
|   |   |   |---FileList.ets               // 同类型文件列表展示页面,接收文件类型,展示特定类型的文件列表
|   |   |---document
|   |   |   |---DocumentFileList.ets       // 文档列表页面
|   |   |---image
|   |   |   |---ImageFileList.ets          // 图片列表页面
|   |   |   |---ImagePreview.ets           // 图片预览页面
|   |   |---video
|   |   |   |---VideoFileList.ets          // 视频列表页面
|   |   |---FileManagerHome.ets            // 首页主体内容
|---MainAbility
|---pages
|   |---index.ets                          // 首页
Library/src/main/ets/
|---filemanager
|   |---components
|   |   |---ThumbnailImage.ets             // 缩略图组件
|   |---fileio
|   |   |---FileIoManager.ts               // 文件管理,待开发
|   |---medialibrary
|   |   |---MediaLibraryManager.ts         // 主要封装了mediaLibrary库相关的接口,实现相关功能,如:对文件的增、删、查和图片预览功能
|   |---userfilemanager
|   |   |---UserFileManager.ts             // 封装userFileManager库相关的接口
|   |---FileManager.ts                     // 文件管理接口,统一封装了各模块对外提供的功能接口
|---mock                                   // 本地数据
|---utils                                  // 日志工具

Реализация

  • Функции добавления, удаления и поиска файлов реализованы в MediaLibraryManager, исходный код см. в MediaLibraryManager.ts:

    • Используется userFileManager.getUserFileMgr для получения объекта userFileManager;
    • Чтение данных каждого файла: используется userFileManager.getPhotoAssets для получения коллекции FetchResult, которая соответствует условиям, затем вызывается FetchResult.getFirstObject();
    • Создание имитированных файлов: если это видео или изображение, используйте createPhotoAsset(), если это аудиофайл, используйте createAudioAsset(), а если это документ, используйте fileAccess для создания с помощью createFile();
    • Удаление файла по указанному пути: используйте delete() в userFileManager;
    • Получение предварительного просмотра: используйте image.createImageSource() для создания указанного ресурса ImageSource, затем вызовите ImageSource.createPixelMap(), интерфейс см. в @ohos.multimedia.image;
  • В модуле Library через FileManager предоставляется внешний функциональный интерфейс, такой как MediaLibraryManager.getPixelMapByFileAsset(), исходный код см. в FileManager.ts;

    • Например, в режиме предварительного просмотра списка изображений чтение файлов указанного типа: в FileList.ets вызовите FileManager.getFileAssets();
    • Создание имитационных файлов: в FileList.ets. Создание текстового файла:
  • 
    

中调用FileManager.createTxtFileAsset();```

Удаление файла по указанному пути:

  • 
    

FileList.ets 中调用FileManager.deleteFileAsset()```

Получение эскиза:

  • 
    

в ThumbnailImage.ets 中调用FileManager.getThumbnail()```

Предварительный просмотр изображения:

  • 
    

В ImagePreview.ets 中调用FileManager.getPixelMapByFileAsset()```.

Связанные разрешения

Прикреплены используемые разрешения и ссылки:

  1. ohos.permission.WRITE_IMAGEVIDEO;
  2. ohos.permission.READ_IMAGEVIDEO;
  3. ohos.permission.READ_AUDIO;
  4. ohos.permission.WRITE_AUDIO;
  5. ohos.permission.READ_WRITE_DOWNLOAD_DIRECTORY;
  6. ohos.permission.GET_BUNDLE_INFO_PRIVILEGED;
  7. ohos.permission.FILE_ACCESS_MANAGER;
  8. ohos.permission.STORAGE_MANAGER.

Зависимости

Если есть зависимости от других примеров, необходимо предоставить пояснения и прикрепить ссылки.

Ограничения и ограничения

Описаны некоторые ограничения и ограничения для устройств, версий SDK, IDE, интерфейсов и подписей:

  1. Этот пример работает только на стандартной системе и поддерживает устройство RK3568;
  2. Этот пример является моделью Stage и поддерживает только API11 версию SDK (SDK версии API Version 11 Beta), версию образа 4.1Beta;
  3. Для компиляции и запуска этого примера требуется DevEco Studio версии 4.0Release;
  4. Этот пример включает системные интерфейсы и требует настройки подписи приложения системы. Можно обратиться к методу настройки специальных разрешений для получения дополнительной информации. Необходимо изменить информацию в поле «app-feature» конфигурационного файла на «hos_system_app».

Скачать

Предоставлена команда для загрузки проекта отдельно. В коде необходимо заменить каталог проекта и добавить / в конце, как показано в примере FileManager/FileManager:

Для отдельной загрузки проекта выполните следующую команду:

git init
git config core.sparsecheckout true
echo FileManager/FileManager/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master```

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/openharmony-applications_app_samples.git
git@api.gitlife.ru:oschina-mirror/openharmony-applications_app_samples.git
oschina-mirror
openharmony-applications_app_samples
openharmony-applications_app_samples
master