HDC技术分论坛:HarmonyOS新一代UI框架的全面解读

第二章 OpenHarmony工程介绍 Ability译为能力,一个OpenHarmony应用包含N个能力(Ability),它们是系统调用应用的最小单元。应用程序开发其实本质上就是开发Ability。自己试试对应用进行拆分,你会发现它们具备很多小能力。把这些小能力组合起来就变成了一个应用。方舟开发框架(简称:ArkUI),是一套UI开发框架,提供开发者进行应用UI开发时所必需的能力。 阅读详情

作者:yuzhiqiang,UI编程框架首席技术专家

在Harmony 3.0.0开发者预览版中,包含了新一代的声明式UI框架ArkUI 3.0、多语言跨平台编译器ArkCompiler 3.0、跨端开发工具DevEco Studio3.0,以及基于TS/JS语言的API 7,全面提升开发者体验。

本期,我们要为大家重点介绍HarmonyOS新一代声明式UI框架ArkUI 3.0。

目录

一、UI编程框架

二、ArkUI框架的演进

三、ArkUI 3.0的关键特性

四、结束语


一、UI编程框架


在介绍ArkUI 3.0之前,我们先来简要了解一下什么是UI编程框架。

UI编程框架,是为应用开发者提供的开发UI的基础设施,主要包括UI控件(按钮/列表等),视图布局(摆放/排列相应的UI控件),动画机制(动画设计以及效果呈现),交互事件处理(点击/滑动等),以及相应的编程语言和编程模型等。从系统运行的维度来看,UI编程框架也包括一个运行时,负责应用在系统中执行时所需的资源加载、UI渲染和事件响应等。

总体而言,UI编程框架提供了开发以及运行UI界面所需要的框架能力,主要架构如下图所示:

​图1 UI编程框架

  • 开发模型:对开发者提供开发范式、UI控件/布局/动效/交互、编程语言等。它体现的是开发效率与难易程度。
  • 运行框架:UI界面渲染及交互的基础能力框架,包括相应的布局引擎、控件机制、动效引擎、事件机制、渲染管线等,并结合语言虚拟机和图形引擎,将开发者的程序运行在具体系统平台上。它体现的是应用运行的性能体验。
  • 平台适配:承载框架的具体操作系统或平台适配层。


UI编程框架的关键需求,主要有以下两类:

  • 开发效率:包括代码量、学习曲线、工具、社区、三方库完备度等。
  • 性能体验:包括启动速度、帧率、响应时延、酷炫效果、资源占用等。

另外,随着智能设备的急剧增长,UI编程框架还需要考虑如何更好地适配不同设备的差异性,包括设备形态差异(比如屏幕形状、尺寸、分辨率、交互模式等),以及设备能力差异(比如内存、CPU、GPU等)。 

二、ArkUI框架的演进


为了更好地满足开发效率和性能体验等相关的需求, ArkUI 3.0综合考虑了UI渲染以及语言和运行时,围绕着极简开发、高性能、跨设备跨平台进一步演进。下图描述了ArkUI整体架构的演进:

图2 ArkUI框架演进

图的左侧是2020年发布的JS UI框架的架构示意图。它主要支持类Web的前端开发范式,通过DSL(domain-specific language,领域特定语言)转换层,跨语言对接到声明式UI后端引擎,并结合JS引擎完成整体UI渲染。

图的右侧是新的ArkUI 3.0框架,主要有以下几个关键的变化:

(1)引入了新一代的声明式UI开发范式,实现极简的UI描述语法。

(2)设计了统一的前后端扁平化渲染机制,进一步提升UI渲染的性能并降低内存消耗。

(3)深度结合ArkCompiler 3.0的方舟编译器和方舟运行时,提升语言的执行性能和跨语言通信能力。

(4)在工具方面,针对新一代的声明式UI开发范式构建了新的编译工具链和预览引擎,提供了所见即所得的实时预览机制。

另外,在ArkUI 3.0框架中,类Web范式会继续保留,即类Web范式和新一代的声明式UI范式都可以支持,可以各自独立使用,但不能混用。

三、ArkUI 3.0的关键特性


接下来我们展开详细介绍一下ArkUI 3.0的关键特性。

1. 新一代的声明式UI开发范式

具体而言,ArkUI 3.0中的新一代声明式UI开发范式,主要特征如下:

(1)基于TypeScript扩展的声明式UI描述语法,提供了类自然语言的UI描述和组合。

(2)开箱即用的多态组件。多态是指UI描述是统一的,UI呈现在不同类型设备上会有所不同。比如Button组件在手机和手表会有不同的样式和交互方式。

(3)多维度的状态管理机制,支持灵活的数据驱动的UI变更。

下面我们以一个具体的示例来说明新一代声明式UI开发范式的基本组成。如图3所示的代码示例,UI界面会显示一个“Hello World”的文本和一个“Click me”按钮。当用户点击“Click me”按钮时,字符串变量myText的值会从“World”变为“ACE”,文本最终显示为“Hello ACE”。

图3 声明式UI开发范式的基本概念

以上示例中所包含的,声明式UI开发范式的基本组成说明如下:

  • 装饰器:用来装饰类、结构体、方法以及变量,赋予其特殊的含义,如上述示例中@Entry、@Component、@State都是装饰器。@Component表示这是个自定义组件;@Entry则表示这是个入口组件;@State表示组件中的状态变量,这个状态变化会引起UI变更。
  • 自定义组件:可复用的UI单元,可组合其它组件,如上述被@Component装饰的struct Hello。
  • UI描述:声明式的方式来描述UI的结构,如上述build()方法内部的代码块。
  • 内置组件:框架中默认内置的基础和布局组件,可直接被开发者调用,比如示例中的Column、Text、Divider、Button。
  • 事件方法:用于添加组件对事件的响应逻辑,统一通过事件方法进行设置,如跟随在Button后面的onClick()。
  • 属性方法:用于组件属性的配置,统一通过属性方法进行设置,如fontSize()、width()、height()、color()等,可通过链式调用的方式设置多项属性。

上述示例中,用@State装饰过的变量myText,包含了一个基础的状态管理机制,即myText的值的变化,会引起相应的UI变更(Text组件)。ArkUI 3.0还提供多维度的状态管理机制。和UI相关联的数据,不仅仅在组件内使用,还可以在不同组件层级间传递,比如父子组件之间,爷孙组件之间,也可以是全局范围内的传递,还可以是跨设备传递。另外,从数据的传递形式来看,可以分为只读的单向传递和可变更的双向传递。开发者可以灵活的利用这些能力来实现数据和UI的联动。

ArkUI采用嵌入式领域特定语言(embedded Domain Specific Language, eDSL)的形式,结合宿主语言能力实现UI开发。通过eDSL,结合语法糖或者语言原生的元编程能力,设计了统一的UI开发范式,并能够结合不同语言来实现应用的逻辑处理部分。

2. 关键渲染性能

下面通过一个简单的示例代码,为大家讲述从代码到UI显示的整体渲染流程。如图4所示,此示例会在UI界面显示一个“Click me”按钮,按钮下面同步显示按钮的点击次数。当用户点击按钮时,下面的点击次数会相应增加。

图4 整体渲染流程

整个渲染过程分为两个阶段:

(1)初始显示流程(步骤①~⑤)

① 源代码通过相应的工具链,编译为带有类型标志的目标文件,同时也包含了如何创建UI结构信息的指令流。

② 通过跨语言调用并生成了C++层Component树(UI描述层)。

③ 通过Component树进一步生成Element树。Element是Component的实例,表示一个具体的组件节点,它形成的Element树负责维持界面在整个运行时的树形结构,方便计算更新时的局部更新算法等。

④ 对于每个可显示的Element都会为其创建对应的RenderNode。RenderNode负责一个节点的显示信息,它形成的Render树维护着整个界面渲染需要用到的信息,包括位置、大小、绘制命令等。后续的布局、绘制都是在Render树上进行的。

⑤ 实现真正的渲染并显示绘制结果。

(2)按钮被点击后的显示流程(步骤⑥~⑪)

⑥ 点击事件传递到组件,组件的onClick事件方法被触发执行。

⑦ 由于onClick事件方法中@State注解过的变量改变了,相应getter/setter函数会被触发。

⑧ 状态管理模块定位出关联的UI组件。

⑨ 状态管理模块更新相应的Element树的信息。

⑩ 更新相应的UI组件的渲染信息。

⑪ 界面显示,与⑤类似。

整个渲染过程中所需的关键能力,除了极简的开发范式本身,主要包含以下三个部分:

  • 编译优化以及跨语言调用。结合目标文件中的类型信息标志,ArkCompiler会实现相应的代码优化。另外,ArkCompiler也提供了高效的JS/TS -> C++跨语言调用机制。
  • 扁平化渲染机制以及小对象组合机制。组件信息的结构在前后端有基本一致的表示,进一步减少了转换开销,实现了扁平化的渲染。同时,UI组件内部都是通过轻量化对象来按需组合,内存消耗也进一步降低。
  • 状态管理机制。通过监听变量的存取操作,实现数据变化的自动化感知并计算出相应的最小化UI组件更新范围,实现高效的UI变更。


除此之外,长列表渲染是一种典型的应用场景,里面可能会涉及到大量的数据,如果处理不当,会引起极大影响性能以及资源占用。ArkUI 3.0针对这类常用的场景,提供了一种LazyForEach懒加载机制,会自动根据具体情况计算出合适的渲染数据,实现数据的按需加载,从而提升UI刷新效率。LazyForEach可以结合常用的列表类组件(比如List、Grid等)灵活配合使用。

3. 高级UI组件库

高级的UI组件库可以进一步助力高效的应用开发。HarmonyOS的欧洲研发团队基于ArkUI 3.0,构建了一些高阶组件示例,比如:常用的图表类组件、瀑布流布局组件等。开发者可以通过几行代码就可以实现复杂酷炫的UI效果,比如自适应的图片增删、行列变化,以及相应的酷炫动效效果。

示例如下:

图5 图表组件

图6 瀑布流布局组件

4. 多设备开发

除了UI开发套件,ArkUI 3.0围绕着多设备开发,还提供了多维度的方案,进一步简化开发:

(1)基础能力层:包括基础的分层参数配置(比如色彩、字号、圆角、间距等),栅格系统,原子化布局能力(比如拉伸、折行、隐藏等)。

(2)零部件组件层:包括多态控件,统一交互能力,以及在此基础上的组件组合。

(3)面向典型场景:提供分类的页面组合模板以及示例代码。

关于多设备开发,后面我们会有更详细的文章介绍,请大家持续关注。

5. 实时预览机制

整个开发流程中还有一个很重要的方面——预览能力,即可以在PC上通过IDE(集成开发环境)就可以实时看到应用的渲染效果,而无需通过具体设备来部署运行。预览的关键需求主要包括:

(1)一致性渲染:和目标设备一致的UI呈现效果。

(2)实时预览&双向预览:改动相应的代码,实时呈现出相应UI效果。另外,代码能够和UI双向联动,代码改动的同时UI也实时变更,UI改动的同时代码也相应地变更。

(3)多维度预览:页面级预览、组件级预览、多设备预览。

以上这些能力都需要UI编程框架具备相应的基础设施才能达成。ArkUI 3.0的预览器的整体架构如下图所示:

图7 ArkUI 3.0的预览器架构

ArkUI 3.0基于底层的画布通过自绘制实现了不同平台上一致化的渲染体验,并通过渲染侧的跨平台对接层完成了整体渲染效果。另外,ArkUI 3.0通过实时代码变化检测和增量编译机制,再配合前面所提到的高效渲染性能,实现了实时编写预览。

通过ArkUI 3.0的基础设施,结合IDE可视化工具(即预览器前端),就实现了上面的实时预览、双向预览等能力,进一步提升了开发者的开发效率。

四、结束语


总体而言,UI编程框架在应用开发中起了至关重要的作用。

目前,拥有全新开发范式的新一代的UI框架——ArkUI 3.0走出了坚实的第一步,并已开始支撑更多的关键应用。接下来,除了基础设施的持续完善,我们会重点支持生态扩展,主要包括高级UI能力的提升,比如三方地图,游戏的融合,以及Web能力增强等。同时,我们也会围绕跨设备、性能体验持续地创新。

欢迎广大的开发者加入进来,一起探索,一起改进,共建万物互联的应用生态!未来,有迹可循!

【鸿蒙(HarmonyOS)】UI开发的两种范式:ArkTS、JS(以登录界面开发为例进行对比) 对比较于Android:ArkUI将界面设计和具体操作放到的一个文件中(当然ArkUI有组件自定义,这个就另当别论),这个方式比较新颖。HTML、CSS、JS这一套技术,相信很多IT人都已经非常熟悉,这也是我能快速入手HarmonyOS的重要因素。根据官方介绍,ArkUI提供了UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面开发。ArkTS我也仅仅学习了四个月,相比较我在使用JS开发UI界面上而言,有所偏弱。功能的话,推荐使用ArkTS。 阅读详情

相关推荐

华为鸿蒙系统(Huawei HarmonyOS)

华为鸿蒙系统 Huawei HarmonyOS

s_sos0的博客 3万+

华为harmonyos是什么意思,看懂鸿蒙OS系统!

随着物联网、人工智能、5G等技术的快速发展,智能家居、智能出行、智能医疗等应用场景越来越广泛,而不同的设备、不同的平台之间的互联互通问题也随之凸显。1. 架构:HarmonyOS是面向各种设备的分布式操作系统,可以在不同类型的设备上运行,如手机、平板电脑、智能手表、智能家居、汽车等。1. 分布式架构:HarmonyOS采用了分布式架构,将不同的设备、不同的平台连接在一起,实现了真正的设备间无缝连接和协同工作。例如,通过智能识别用户的习惯和喜好,自动调整设备的参数和设置,为用户提供更加舒适的使用体验。

SKCQTGZX的博客 1792

【全网最全】鸿蒙 HDC 命令合集 (awesome-hdc)

HDC(OpenHarmony Device Connector) 是为鸿蒙开发/测试人员提供的用于设备调试的命令行工具,类似Android端的ADB工具。

CharliChen 's Blog 3万+

鸿蒙HarmonyOS NEXT十大开源项目

【OH哔哩】是一款基于OpenHarmony系统ArkUI框架开发的哔哩哔哩动画第三方客户端。

欢迎加入Android老司机学院 482266514(技术交流群)密码优快云 2万+

鸿蒙Harmony驱动开发:hdc与真机调试

​ 要想开发客户端,真机调试是必须的。要想真机调试,首先得让PC连上设备。对比Android的ADB,华为搞了个hdc(HarmonyOS Device Connector)。 ​

DMZDAMS的博客 3353

【纯血鸿蒙】鸿蒙HDC命令合集

由于鸿蒙生态还处于初期,官方提供的hdc命令还在不断修改中,部分命令会有变动。HDC(OpenHarmony Device Connector) 是为鸿蒙开发/测试人员提供的用于设备调试的命令行工具,类似Android端的ADB工具。

oh.K 4083

harmonyOS系统是安卓,HarmonyOS华为操作系统

HarmonyOS华为操作系统,由华为自主研发操作系统软件平台,只看系统是可以应用到手机,Pc,电视,汽车等领域,实现智能化管理,还能带给用户更加流畅便捷体验,整个系统设计运行十分流畅稳定,其完善一些之前没有的功能,还能为你提供更多的工具,同时解决之前的系统bug不足之处,对于手机用户端只需升级完成即可使用,感兴趣朋友快来体验吧。HarmonyOS华为操作系统特色:1、各种各样的操作和实践,可以进...

weixin_36416418的博客 1550

usb通过hdc连接鸿蒙next的常用指令

参考官方 注册报名https://www.hiascend.com/developer/activities/details/44de441ef599450596131c8cb52f7f8c/signup?hdc-调试命令-调测调优-系统 - 华为HarmonyOS开发者关于 hdc 的服务,在任务管理器中可以看到hdc进程带有参数 dummy -l 3-s::ffff:127.0.0.1:8710 -m参数解释dummy表示运行 HDC 工具的 dummy 子命令。

babytiger的专栏 2020

华为鸿蒙OS精品资料汇总,持续更新中

鸿蒙OS学习资料整理,持续更新中鸿蒙OS简介鸿蒙OS重点资料分类整理 鸿蒙OS简介 华为在2020.09.10正式发布了HarmonyOS 2.0,引发了IT界学习鸿蒙OS的热潮。本文是对互联网上鸿蒙资料的整理,本人也正在持续学习和更新中。 根据官方的定义,HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备的能力。 鸿蒙OS

qq_31765191的博客 1万+

《HarmonyOS实战——前端开发华为鸿蒙系统应用 OpenHarmony JS》

导读:一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统 。现已开源,名为 OpenHarmony。2019 年 8 月 9 日,华为在 HDC 开发...

孙叫兽的博客 1万+

PaddleOCR实战:从零开始训练自己的OCR模型(附完整代码与数据集处理技巧)

本文提供了一份详尽的PaddleOCR实战指南,手把手教你从零开始训练专属的OCR模型。内容涵盖高质量训练数据的准备与标注技巧、预训练模型的选型对比、关键参数调优策略,并附有完整的代码示例。通过遵循本文的步骤,开发者可以高效构建并优化贴合自身业务场景的高精度OCR模型,实现从数据到部署的全流程掌握。

weixin_29263201的博客 570

基于鸿蒙系统的刷题app开发

鸿蒙系统如今已初具规模,其意义不单是取代现有的安卓等主流操作系统,而是打造一个可以分布于多个终端、智能设备并使其互相联动的“万物互联”的操作系统。当前鸿蒙缺乏软件生态,特别是缺乏体现鸿蒙多端联动这一特点,并具有趣味性和实用性的应用。 本文描述了鸿蒙的开发环境DevEco Studio 3.1和采用Java进行开发的框架,阐述了鸿蒙应用的特点、组成,根据官方文档提供的API信息以及所需权限等,进行应用开发,在模拟器、真机上进行软件功能的不断调试与优化。

weixin_45673637的博客 3450

家庭宽带IPv6避坑指南:如何通过DHCPv6-PD获取公网地址(附OpenWRT配置)

本文详细解析了家庭宽带IPv6的地址分配机制,重点介绍了通过DHCPv6-PD获取公网地址的方法,并提供了OpenWRT路由器的具体配置步骤。从路由器通告(RA)标记位到前缀委派(PD)流程,帮助用户解决IPv6部署中的常见问题,实现稳定高效的IPv6网络连接。

backprop5master的博客 1171

华为鸿蒙系统app自动化测试环境搭建

DevEco Testing Hypium(以下简称Hypium)是HarmonyOS平台的UI自动化测试框架,支持开发者使用python语言为应用编写UI自动化测试脚本,主要包含以下特性: 1.Hypium提供了原生控件/图像/比例坐标等多种控件定位能力,支持多窗口操作以及触摸屏/鼠标/键盘等多种模拟输入功能,支持多设备并行操作,能够覆盖各类场景和多种形态设备上的自动化用例编写需求。

伤心的辣条 5619

算法策略 | MACD跨周期短线交易策略开发(股指+商品双版)

量化策略开发,高质量社群,交易思路分享等相关内容

松鼠宽客的博客 2538

Vitis HLS 学习指南与实践教程

Vitis HLS 学习指南与实践教程摘要:本文系统介绍了AMD Vitis HLS工具及其应用。HLS技术将C/C++代码自动转换为硬件描述语言,显著提升FPGA开发效率(5-10倍)。文章对比了HLS与传统RTL设计的优势,包括抽象级别高、开发周期短、代码重用性强等特点。详细讲解了Vitis HLS工具链的核心功能,包括支持的C/C++特性(如任意精度数据类型)、开发流程(项目创建-代码编写-仿真-综合)以及关键优化技术(流水线、循环展开、数组分割等编译指示)。通过具体代码示例展示了HLS设计方法,为F

weixin_44707118的博客 1400

Hypium纯血鸿蒙系统 HarmonyOS NEXT自动化测试框架

- type: 设备连接方式,usb-hdc表示使用hdc命令控制设备(默认) -->-- ip: 远端设备地址,ip和port为空时使用本地设备,非空时使用远端设备 -->-- port: 远端设备端口号 -->-- sn: 设备SN号列表,SN之间用分号";"分隔,sn字段为空时使用所有本地设备,非空时使用指定的sn设备 -->-- 指定测试用例目录,为空则默认设置为当前项目下的testcase文件夹 -->

铁马冰河入梦来 5859

YOLOv5 改进点总览:轻量化、高精度的背后有哪些魔改?

YOLOv5是由Ultralytics团队开发的高效目标检测模型,其核心改进包括:主干网络采用CSPDarknet53提升梯度传播效率;特征融合使用PANet增强小目标识别;输出结构采用解耦头设计优化定位和分类任务。此外,YOLOv5通过CIoU损失函数、Mosaic数据增强和SimOTA标签分配机制进一步提升性能。模型支持多种推理格式(ONNX/TensorRT等),并具备自动锚框匹配和多尺度训练功能,使其在轻量化(yolov5s仅7MB)与高性能(最高51.2% mAP)间取得平衡,但缺乏正式论文支撑是

guoguozgw的博客 1804

华为鸿蒙系统掀起高校合作热潮,未来技术风口已至

截至目前,全国已有超过300所高校携手华为鸿蒙,其中不乏23所蜚声海内外的985工程高校和46所211工程高校。这一数字,不仅象征着鸿蒙系统在教育领域的广泛影响,更代表着中国高等教育与前沿科技的深度融合。令人振奋的是,清华大学、北京航空航天大学和武汉大学等985工程高校已率先将鸿蒙知识融入课堂,为学生们打开了一扇通往未来科技的大门。同时,等多所高校的鸿蒙项目已获批准,即将引领新一轮的技术学习热潮。值得一提的是,这些鸿蒙相关课程是在教育部高教司的悉心指导下,华为与高校共同打造的产学合作育人项目。

huahaiyi的博客 1386

36、R语言中的回归模型与机器学习算法

本文介绍了R语言中多种回归模型和机器学习算法,包括Cox回归模型、数据平滑方法(如样条函数、多项式曲面拟合和核平滑)以及回归树模型等。重点讲解了这些方法的实现函数、参数说明以及实际应用示例,如使用`coxph`进行生存分析、使用`spline`和`smooth.spline`进行数据平滑处理、使用`loess`和`locpoly`进行非参数回归分析,以及使用`rpart`构建和可视化回归树。此外,还涉及了模型评估与优化策略,如数据拆分、交叉验证和树的修剪。通过这些方法,可以更好地处理复杂数据集并提升模型性能

yhn456789的博客 122

中国石油招标投标网 — 中标候选人爬虫技术分析

复制真实浏览器的 TLS 握手参数(密码套件顺序、TLS 扩展、ALPN 等),绕过基于 JA3/JA3S 指纹的服务端检测。所有 API 请求体使用 RSA-1024 公钥加密,响应体使用私钥解密,HTTP body 全程为密文。库使用 urllib3 的默认 TLS 握手参数,与真实浏览器差异明显,易被 JA3 指纹检测工具识别。密钥隐藏在 CSS 文件中,这是一种隐蔽分发技术,防止简单的密钥抓取。切换次数越多,等待时间越长,最大 60 秒,避免被代理 API 限流。为空,也返回包含基础信息的空行。

猫敷雪 284

Harmony:关于鸿蒙系统的内容都总结在这里了

比如我定义了 这四个视图元素按照屏幕宽度四等分 的规则,那么在任何尺寸下,这四个视图元素都会四等分屏幕宽度,从而达到相同的设计效果,这种在ArkUI里称为:均分能力 / 布局。ArkUI的原子布局能力总共分为7种:均分能力拆行能力拉伸能力缩放能力延伸能力占比能力隐藏能力。

chuyouyinghe的专栏 1578

谁还攥着旧的类加载器:Metaspace OOM 的元数据记账、类卸载条件与泄漏定位解析

MetaSpace区是JVM内存管理中的关键部分,负责存储类元数据。随着Java 8的推出,MetaSpace取代了PermGen区,但其灵活性也带来了新的挑战,尤其是在动态类加载和频繁类更新的场景下,容易导致MetaSpace内存溢出(OOM)问题。本文探讨了MetaSpace OOM的根本原因,包括类加载器泄漏、内存管理不当和GC效率低下等,并提供了一系列调优策略和解决方案,帮助开发者有效排查和防止此类问题的发生,确保应用程序的稳定性和高可用性。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 15万+

Android 无法连接鸿蒙系统手机

        华为鸿蒙系统 (HUAWEI Harmony OS) ,是华为公司在2019年8月9日于东莞举行华为开发者大会(HDC.2019)上正式发布的操作系统。         华为鸿蒙系统是一款全新的面向全场景的分布式操作系统,创造一个超级虚拟终端互联的世界,将人、设备、场景有机地联系在一起,将消费者在全场景生活中接触的多种智能终端实现.

拉莫帅的博客 9440

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【推荐】HDC2021华为开发者大会技术分论坛内部课件合集

HDC2021华为开发者大会技术分论坛内部课件合集

unber的博客 705

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

鸿蒙系统学习笔记(一) 鸿蒙系统介绍

个人学习鸿蒙系列 鸿蒙系统介绍 目录 个人学习鸿蒙系列 鸿蒙系统介绍 一、鸿蒙系统简介 1.简介 2.发展进程 二、鸿蒙系统特点 1.分布架构 2.低延时+高性能IPC技术实现系统天生流畅 3.基于微内核架构重塑终端设备可信安全 4.通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享 参考 1.https://github.com/Awesome-HarmonyOS/HarmonyOS/blob/master/doc/README-zh.md 2.https://blog..

panjianlongWUHAN的专栏 2万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: HarmonyOS 3.0.0开发者预览版全新发布
下一篇: HDC技术分论坛:ArkCompiler(方舟编译器)原理解析
「已注销」
博客等级 码龄5年 1045粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值