鸿蒙(API 12 Beta3版)【使用智能PhotoPicker】Media Library Kit媒体文件管理服务

devtools/2024/10/21 6:46:51/

智能PhotoPicker是基于PhotoPicker的高阶功能,可以从大量图片中根据配置的智能推荐参数,快速筛选出符合条件的图片,并在PhotoPicker中推荐给用户选择。

应用拉起PhotoPicker时,可以配置智能推荐参数。当设备中有满足应用传入的智能推荐参数的图片时,PhotoPicker界面除了展示全量的图片外,还会展示符合条件的推荐图片。

  • 选择特定类型([RecommendationType])的图片,如身份证、银行卡、驾驶证、行驶证、二维码等。当有符合应用指定类型的图片传入时,将显示对应的图片推荐页。

    以指定图片类型为二维码为例,PhotoPicker界面上将出现“二维码”的Tab页,展示图库中的二维码图片。

    1

  • 在图文编辑时选择图片,系统可以根据应用传入的文本信息,提取出时间、地点、事物或活动,并根据提取的信息,推荐对应的图片展示在PhotoPicker中。

    举例说明,如设置的推荐参数文本是“国庆节,带着女儿去了上海野生动物园,看到了凶猛的大象,漂亮的火烈鸟,还有她心心念念的大熊猫,小家伙可开心了。”

    而且手机中有相应的图片,图片分析完成时,会在“推荐”的Tab页中展示出时间是国庆节,地点是上海野生动物园的大熊猫、火烈鸟、大象的图片。

    2

约束与限制

  • 智能PhotoPicker推荐图片的功能依赖于图片分析的结果,只有在媒体库中的图片分析完成后,系统才会进行推荐。

    当设备在灭屏充电时,在电量充足、温度正常的情况下,系统将自动进行图片分析,分析完成后,图库主页的“相册”tab页里将显示分类相册。

    如果图片带有地理位置信息,设备需要联网才可以正常解析图片中的位置信息。

  • 当前仅支持推荐图片类型的文件。

开发方式

开发者可以通过两种方式实现PhotoPicker,拉起系统图库。接下来将分别介绍在这两种方式下,如何配置智能PhotoPicker参数。

  • [调用ArkTS接口photoAccessHelper.PhotoViewPicker实现PhotoPicker]
  • [调用ArkTS组件PhotoPickerComponent实现PhotoPicker]

通过接口实现

前提条件

  • 在配置智能PhotoPicker参数之前,需要参考[PhotoPicker接口的开发指导],实现PhotoPicker。

  • 在配置参数photoAccessHelper.PhotoSelectOptions时,媒体文件类型MIMEType([PhotoViewMIMETypes])需要配置为IMAGE_TYPE或IMAGE_VIDEO_TYPE。

    说明

    • 当MIMEType配置为IMAGE_TYPE或IMAGE_VIDEO_TYPE,并在后续步骤中配置了智能推荐参数,将根据参数推荐图片类型的文件。页签“全部”下展示的文件类型与MIMEType配置项一致。
    • 当MIMEType配置为其他类型,智能推荐不生效。正常展示PhotoPicker筛选的全部照片。

根据特定类型推荐图片

当需要推荐特定类型的图片,如身份证、银行卡、驾驶证、行驶证、二维码等,可通过配置[RecommendationOptions].recommendationType,指定推荐的图片类型。

let recommendationOptions: photoAccessHelper.RecommendationOptions = {recommendationType: photoAccessHelper.RecommendationType.QR_CODE // 配置枚举类型,不同的枚举值,推荐不同种类的图片
};
this.photoSelectOptions.recommendationOptions = recommendationOptions;// 将推荐参数赋值给 photoSelectOptions.recommendationOptions

根据文本信息推荐图片

当需要在图文编辑时,根据文本信息推荐图片,可通过配置[RecommendationOptions].textContextInfo。

说明

如果RecommendationOptions同时配置了recommendationType和textContextInfo,仅textContextInfo生效。

let textInfo: photoAccessHelper.TextContextInfo = {text: '国庆节,带着女儿去了上海野生动物园,看到了凶猛的大象,漂亮的火烈鸟,还有她心心念念的大熊猫,小家伙可开心了。'
};
let recommendationOptions: photoAccessHelper.RecommendationOptions = {textContextInfo: textInfo
};
this.photoSelectOptions.recommendationOptions = recommendationOptions;// 将推荐参数赋值给 photoSelectOptions.recommendationOptions

通过组件实现

前提条件

  • 在配置智能PhotoPicker参数之前,需要参考[PhotoPicker组件的开发指导],实现PhotoPicker。

  • 在配置PhotoPickerComponent的属性pickerOptions时,媒体文件类型MIMEType([PhotoViewMIMETypes])需要配置为IMAGE_TYPE或IMAGE_VIDEO_TYPE。

    说明

    • 当MIMEType配置为IMAGE_TYPE或IMAGE_VIDEO_TYPE,并在后续步骤中配置了智能推荐参数,将根据参数推荐图片类型的文件。页签“全部”下展示的文件类型与MIMEType配置项一致。
    • 当MIMEType配置为其他类型,智能推荐不生效。正常展示PhotoPicker筛选的全部照片。

根据特定类型推荐图片

当需要推荐特定类型的图片,如身份证、银行卡、驾驶证、行驶证、二维码等,可通过配置[RecommendationOptions].recommendationType,指定推荐的图片类型。支持的图片类型可参考[RecommendationType]。

let recommendationOptions: photoAccessHelper.RecommendationOptions = {recommendationType: photoAccessHelper.RecommendationType.QR_CODE // 配置枚举类型,不同的枚举值,推荐不同种类的图片
};
this.pickerOptions.recommendationOptions = recommendationOptions;// 将推荐参数赋值给 pickerOptions.recommendationOptions

根据文本信息推荐图片

当需要在图文编辑时,根据文本信息推荐图片,可通过配置[RecommendationOptions].textContextInfo。

说明

如果RecommendationOptions同时配置了recommendationType和textContextInfo,仅textContextInfo生效。

let textInfo: photoAccessHelper.TextContextInfo = {text: '国庆节,带着女儿去了上海野生动物园,看到了凶猛的大象,漂亮的火烈鸟,还有她心心念念的大熊猫,小家伙可开心了。'
};
let recommendationOptions: photoAccessHelper.RecommendationOptions = {textContextInfo: textInfo
};
this.pickerOptions.recommendationOptions = recommendationOptions;// 将推荐参数赋值给 pickerOptions.recommendationOptions

最后呢

很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。

而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等鸿蒙(Harmony NEXT)技术知识点

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。

在这里插入图片描述

针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细鸿蒙(OpenHarmony )手册(共计1236页)与鸿蒙(OpenHarmony )开发入门视频,帮助大家在技术的道路上更进一步。

  • 鸿蒙 (OpenHarmony)开发学习视频》
  • 鸿蒙生态应用开发V2.0白皮书》
  • 鸿蒙 (OpenHarmony)开发基础到实战手册》
  • OpenHarmony北向、南向开发环境搭建
  • 鸿蒙开发基础》
  • 鸿蒙开发进阶》
  • 鸿蒙开发实战》

在这里插入图片描述

总结

鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。

并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行! 自↓↓↓拿
1


http://www.ppmy.cn/devtools/103944.html

相关文章

经验风险最小化和极大似然估计的关系

一、经验风险定义 给定一个训练数据集 T { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T{(x1​,y1​),(x2​,y2​),...,(xN​,yN​)},模型f(X)关于训练数据集的平均损失称为经验风险(Empirical…

spring security 会话管理

一、简介 当浏览器调用登录接口登录成功后,服务端会和浏览器之间建立一个会话(Session)浏览器在每次发送请求时都会携带一个 Sessionld,服务端则根据这个 Sessionld 来判断用户身份当浏览器关闭后,服务端的 Session 并不会自动销毁&#xff0…

vue ref和reactive区别

Vue 3中的ref和reactive都是用于创建响应式数据的API,但它们在数据类型、使用方式、访问方式、设计理念以及应用场景等方面存在明显的区别。 数据类型:ref主要用于定义简单类型(如字符串、数字、布尔值等)和单一对象,…

51单片机——数码管控制

1、数码管介绍 LED数码管:数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成“8”字型的器件。 2、数码管驱动方式 单片机直接扫描:硬件设备简单,但会耗费大量的单片机CPU时间 专用驱动芯片:内部自…

《python语言程序设计》第8章第11题将反向字符串 编写一个函数反向一个字符串,reverse(s)

def reverse(text_arrange):len_text len(text_arrange)dec_text ""for i in range(1, len_text 1):# print(i)dec_text text_arrange[-i]print(f"反向输出{dec_text}")reverse("12345678") reverse("abcdefg")

【ElasticSearch】logstash-conf文件mysql多数据源配置

logstash-conf文件mysql多数据源导入es配置说明 # input plugin 输入插件,接收事件源 input {jdbc {# 定义类型_1 type > "type_1"# mysql的ip、端口以及用到的数据库名jdbc_connection_string > "jdbc:mysql://localhost:3306/数据库名"…

6.2K star!推荐一款开源混沌工程测试平台:Chaos Mesh

1、Chaos Mesh 介绍 Chaos Mesh是一个开源的混沌工程平台,旨在帮助用户在生产环境中测试、验证和优化其应用程序的可靠性和稳定性。通过引入故障注入和混沌工程原则,Chaos Mesh可以模拟各种故障场景,如网络延迟、节点故障、磁盘故障等&#…

【深度学习】学习笔记——批量和动量(Datawhale X 李宏毅苹果树AI夏令营)

批量 实际计算梯度时,并不是对所有数据的损失 L L L计算梯度,而是把所有数据分成一个一个的批量(batch)。遍历所有批量的过程称为一个回合(epoch),数据分为批量时,还会进行随机打乱…