草庐IT

HarmonyOS API Version 7版本特性说明

HarmonyOS开发者社区 2023-03-28 原文

2020年9月11日,HarmonyOS SDK发布了首个Beta版本,支持基于HarmonyOS的华为智慧屏、智能穿戴、车机设备开发,让广大的开发者正式步入了HarmonyOS应用开发之旅。

 

开发者的脚步永不停歇,经历了数次SDK版本迭代更新,终于迎来了 HarmonyOS SDK 3.0 Beta(API Version 7)的发布。相较于上一版本,新增了全新的ArkUI 3.0开发框架,同时JS API 7在程序框架、电话服务、媒体、公共基础库等为开发者提供了更丰富的能力。下面,让我们一起来了解一下API Version 7的新增特性吧!

 

一、全新的ArkUI 3.0开发框架


华为开发者大会HDC2021上正式推出了ArkUI 3.0开发框架,在原有基于JS扩展的类Web开发范式基础上,新增了全新设计的基于TS扩展的声明式开发范式,支持TypeScript编程语言,采用更接近自然语义的声明式范式语法,让开发者可以直观描述UI界面,无需关心框架如何实现UI绘制和渲染,实现极简高效开发。

 

目前,基于TS扩展的声明式开发范式已支持Image、Text、List等32个UI组件,隐式动效、显式动效等8种动效能力。

 

基于TS扩展的声明式开发范式详细指南,请访问官方文档:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-ts-overview-0000001192705715

 

二、JS API 7新增接口


JS API 7新增了近6000个接口,覆盖分布式数据管理子系统、电话服务子系统及图像图形子系统等,让开发者通过JS API即可开发功能完善的用户应用程序。

图1 JS API7新增接口

 

下面我们将重点JS对部分子系统的新增能力进行介绍。

 

1. 公共基础库新增接口


JS API 7新增一系列公共基础库的接口,如图2所示,包括Parcel、URL、编解码库的能力。

图2 基础库新增接口

 

  • @ohos.process提供进程信息查询能力以及对进程环境的设置查询接口。
  • @ohos.url提供URL/URI接口用于解析,构造,规范化URL/URI。
  • @ohos.util提供Unicode字符集的编码转换功能,提供string与各种编码的arraybuffer转换功能。
  • @ohos.worker提供JS跨线程通信及JS多线程开发能力,避免耗时任务阻塞主线程。


2. 图形图像子系统新增窗口/webgl接口


JS API 7新增了一系列图形图像能力的接口,如图3所示,提供WebGL渲染的基础能力,开发者可基于WebGL开发游戏、开发窗口化应用等。

图3 新增窗口/webgl接口

 

  • 新增webgl 1.0及webgl 2.0标准3D 图形API,满足OpenGL ES标准全部特性集。
  • @ohos.window模块新增了窗口相关的接口。支撑了车机日历的分屏功能的产品落地,车机图库沉浸式显示、状态栏显示的产品落地,车机桌面RemoteAnimation的产品落地。


3. 电话服务子系统新增接口


JS API 7新增了一系列电话服务接口,如图4所示,提供基于蜂窝网络的电话服务能力,包括SIM卡、搜网、短彩信、蜂窝数据、通话管理、网络管理等各个模块。

图4 电话服务新增能力

 

  • @ohos.telephony.call新增拨打电话相关接口。支持拨号界面跳转、呼叫界面跳转到前台、通话状态获取、格式化电话号码、紧急电话号码判断等通话功能。
  • @ohos.telephony.sim新增SIM卡管理相关接口。支持SIM卡信息获取(如SIM卡状态,ISO,归属PLMN,SPN,类型,电话号码,ICCID,语音信箱等等),默认语音/数据/短信SIM卡获取与设置。
  • @ohos.telephony.sms新增发送短信相关接口。支持短信发送,短信服务中心的获取与设置。
  • @ohos.telephony.data新增蜂窝数据相关接口。支持蜂窝网络连接状态、上下行状态,数据业务开关获取与设置。
  • @ohos.telephony.observer新增电话服务相关的observer接口。支持注册网络状态以及接入技术的获取,PLMN、信号强度、基站信息的获取,设备ID的获取,支持手动搜网。


4. 多媒体子系统新增接口


JS API 7新增了一系列多媒体子系统接口,如图5所示,主要包含音视频、媒体库、图片编解码等媒体能力,支撑了X1图库的商用诉求,同步助力HarmonyOS北向生态拓展。

图5 多媒体子系统新增接口

 

  • @ohos.multimedia.audio提供音频焦点、音量管理、设备管理等功能提供音频。
  • @ohos.multimedia.media播放、录制、媒体编解码等功能提供媒体数。
  • @ohos.multimedia.mediaLibrary据的增删改查、缩略图、图片收藏、回收站等功能。
  • @ohos.multimedia.image提供图片的解码、打包、位图处理等功能。


以上就是本期全部内容。

 

扫码添加开发者小助手微信

获取更多HarmonyOS开发资源和开发者活动资讯

有关HarmonyOS API Version 7版本特性说明的更多相关文章

  1. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  2. ruby-on-rails - 在 ruby​​ .gemspec 文件中,如何指定依赖项的多个版本? - 2

    我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这

  3. ruby-on-rails - 如果我将 ruby​​ 版本 2.5.1 与 rails 版本 2.3.18 一起使用会怎样? - 2

    如果我使用ruby​​版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby​​1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更

  4. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  5. ruby-on-rails - 如何在发布新的 Ruby 或 Rails 版本时收到通知? - 2

    有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:

  6. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  7. spring.profiles.active和spring.profiles.include的使用及区别说明 - 2

    转自:spring.profiles.active和spring.profiles.include的使用及区别说明下文笔者讲述spring.profiles.active和spring.profiles.include的区别简介说明,如下所示我们都知道,在日常开发中,开发|测试|生产环境都拥有不同的配置信息如:jdbc地址、ip、端口等此时为了避免每次都修改全部信息,我们则可以采用以上的属性处理此类异常spring.profiles.active属性例:配置文件,可使用以下方式定义application-${profile}.properties开发环境配置文件:application-dev

  8. ruby-on-rails - 安装多个版本的 Rails 会覆盖以前的安装吗? - 2

    如果我一直输入geminstallrails使用不同版本的Rails会怎样?例如,我可以输入:geminstallrails--verson3.2.10或geminstallrails这给了我版本3.2.12。问题每次安装都会覆盖之前的吗?它会删除所有旧文件并添加我正在安装的新版本吗?或者如果我运行它两次,它会保留一些文件吗?我正在使用Ubuntu。 最佳答案 它将安装两个独立的gem。实际的可执行文件rails将调用最新版本。你可以覆盖它__例如,rails_3.2.10_将执行Rails3.2.10。bundler顺便说一下,如

  9. ruby - 在 Rails 项目中测试本地版本的 gem - 2

    我的Rails站点使用了一个确实不是很好的gem。每次我需要做一些新的事情时,我最终不得不花费与向实际Rails项目添加代码一样多的时间来为gem添加功能。但我不介意,我将我的Gemfile设置为指向我的gem的GitHub分支(我尝试提交PR,但维护者似乎已经下台)。问题是我真的没有找到一种合理的方法来测试我添加到gem的新东西。在railsc中测试它会特别好,但我能想到的唯一方法是a)更改~/.rvm/gems/.../foo。rb,这看起来不对或者b)升级版本,推送到Github,然后运行​​bundleup,这除了耗时之外显然是一场灾难,因为我不确定我所做的promise是否正

  10. ruby-on-rails - 不兼容的库版本 : nokogiri. bundle 需要 8.0.0 或更高版本,但 libiconv.2.dylib 提供 7.0.0 版本 - 2

    为了在我的mac上为一个rails项目安装mysql,我遵循了安装Homebrew软件和删除mac端口的在线建议。这是问题开始的地方。rails项目不会构建,我得到这个:[rake--prereqs]rakeaborted!dlopen(/Users/Parker/.rvm/gems/ruby-1.9.3-p448/gems/nokogiri-1.6.0/lib/nokogiri/nokogiri.bundle,9):Librarynotloaded:/opt/local/lib/libiconv.2.dylibReferencedfrom:/Users/Parker/.rvm/gem

随机推荐