合集-鸿蒙HarmonyOS&OpenHarmony知识
摘要:
TypeScript 程序由以下几个部分组成: 模块 函数 变量 语句和表达式 注释 第一个 TypeScript 程序 我们可以使用以下 TypeScript 程序来输出 "Hello World" : Runoob.ts 文件代码: const hello : string = "Hello W
阅读全文
TypeScript 程序由以下几个部分组成: 模块 函数 变量 语句和表达式 注释 第一个 TypeScript 程序 我们可以使用以下 TypeScript 程序来输出 "Hello World" : Runoob.ts 文件代码: const hello : string = "Hello W
阅读全文
摘要:
TypeScript 包含的数据类型如下表: 注意: TypeScript 和 JavaScript 没有整数类型。 Any 类型 任意值是 TypeScript 针对编程时类型不明确的变量使用的一种数据类型,它常用于以下三种情况。 1、变量的值会动态改变时,比如来自用户的输入,任意值类型可以让这些
阅读全文
TypeScript 包含的数据类型如下表: 注意: TypeScript 和 JavaScript 没有整数类型。 Any 类型 任意值是 TypeScript 针对编程时类型不明确的变量使用的一种数据类型,它常用于以下三种情况。 1、变量的值会动态改变时,比如来自用户的输入,任意值类型可以让这些
阅读全文
摘要:
变量是一种使用方便的占位符,用于引用计算机内存地址。 我们可以把变量看做存储数据的容器。 TypeScript 变量的命名规则: 变量名称可以包含数字和字母。 除了下划线 _ 和美元 $ 符号外,不能包含其他特殊字符,包括空格。 变量名不能以数字开头。 变量使用前必须先声明,我们可以使用 var 来
阅读全文
变量是一种使用方便的占位符,用于引用计算机内存地址。 我们可以把变量看做存储数据的容器。 TypeScript 变量的命名规则: 变量名称可以包含数字和字母。 除了下划线 _ 和美元 $ 符号外,不能包含其他特殊字符,包括空格。 变量名不能以数字开头。 变量使用前必须先声明,我们可以使用 var 来
阅读全文
摘要:
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。 考虑以下计算: 7 + 5 = 12 以上实例中 7、5 和 12 是操作数。 运算符 + 用于加值。 运算符 = 用于赋值。 TypeScript 主要包含以下几种运算: 算术运算符 逻辑运算符 关系运算符 按位运算符 赋值运算符
阅读全文
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。 考虑以下计算: 7 + 5 = 12 以上实例中 7、5 和 12 是操作数。 运算符 + 用于加值。 运算符 = 用于赋值。 TypeScript 主要包含以下几种运算: 算术运算符 逻辑运算符 关系运算符 按位运算符 赋值运算符
阅读全文
摘要:
条件语句用于基于不同的条件来执行不同的动作。 TypeScript 条件语句是通过一条或多条语句的执行结果(True 或 False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: 条件语句 通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该
阅读全文
条件语句用于基于不同的条件来执行不同的动作。 TypeScript 条件语句是通过一条或多条语句的执行结果(True 或 False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: 条件语句 通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该
阅读全文
摘要:
有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图: for 循环 TypeScript
阅读全文
有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图: for 循环 TypeScript
阅读全文
摘要:
函数是一组一起执行一个任务的语句。 您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。 函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。 函数定义 函数就是包裹在花括号中的代码块,前面使
阅读全文
函数是一组一起执行一个任务的语句。 您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。 函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。 函数定义 函数就是包裹在花括号中的代码块,前面使
阅读全文
摘要:
TypeScript 与 JavaScript 类似,支持 Number 对象。 Number 对象是原始数值的包装对象。 语法 var num = new Number(value); 注意: 如果一个参数值不能转换为一个数字将返回 NaN (非数字值)。 Number 对象属性 下表列出了 Nu
阅读全文
TypeScript 与 JavaScript 类似,支持 Number 对象。 Number 对象是原始数值的包装对象。 语法 var num = new Number(value); 注意: 如果一个参数值不能转换为一个数字将返回 NaN (非数字值)。 Number 对象属性 下表列出了 Nu
阅读全文
摘要:
介绍 在ArkTS中调用相机拍照和录像,以及如何使用媒体库接口进行媒体文件的增、删、改、查操作。本示例用到了 权限管理能力 相机模块能力接口 图片处理接口 音视频相关媒体业务能力接口 媒体库管理接口 设备信息能力接口 文件存储管理能力接口 弹窗能力接口 效果预览 使用说明 1.启动应用,在权限弹窗中
阅读全文
介绍 在ArkTS中调用相机拍照和录像,以及如何使用媒体库接口进行媒体文件的增、删、改、查操作。本示例用到了 权限管理能力 相机模块能力接口 图片处理接口 音视频相关媒体业务能力接口 媒体库管理接口 设备信息能力接口 文件存储管理能力接口 弹窗能力接口 效果预览 使用说明 1.启动应用,在权限弹窗中
阅读全文
摘要:
简介 在系统服务管理子系统中safwk组件定义OpenHarmony中SystemAbility的实现方法,并提供启动、注册等接口实现。 系统架构 图 1 系统服务框架图 说明 接口说明 接口名 接口描述 sptr GetSystemAbility(int32_t systemAbilityId);
阅读全文
简介 在系统服务管理子系统中safwk组件定义OpenHarmony中SystemAbility的实现方法,并提供启动、注册等接口实现。 系统架构 图 1 系统服务框架图 说明 接口说明 接口名 接口描述 sptr GetSystemAbility(int32_t systemAbilityId);
阅读全文
摘要:
介绍 本示例主要展示了文件管理相关的功能,使用[@ohos.multimedia.medialibrary]、[@ohos.filemanagement.userFileManager] 、[@ohos.fileio] 、[@ohos.file.fs]、[@ohos.app.ability.cont
阅读全文
介绍 本示例主要展示了文件管理相关的功能,使用[@ohos.multimedia.medialibrary]、[@ohos.filemanagement.userFileManager] 、[@ohos.fileio] 、[@ohos.file.fs]、[@ohos.app.ability.cont
阅读全文
摘要:
简介 samgr组件是OpenHarmony的核心组件,提供OpenHarmony系统服务启动、注册、查询等功能。 系统架构 图 1 系统服务管理系统架构图 说明 samgr服务接收到sa框架层发送的注册消息,会在本地缓存中存入系统服务相关信息。 int32_t SystemAbilityManag
阅读全文
简介 samgr组件是OpenHarmony的核心组件,提供OpenHarmony系统服务启动、注册、查询等功能。 系统架构 图 1 系统服务管理系统架构图 说明 samgr服务接收到sa框架层发送的注册消息,会在本地缓存中存入系统服务相关信息。 int32_t SystemAbilityManag
阅读全文
摘要:
简介 该仓主要存放OpenHarmony驱动子系统核心源码信息(包括驱动框架、配置管理、配置解析、驱动通用框架模型、硬件通用平台能力接口等),旨在为开发者提供更精准、更高效的开发环境,力求做到一次开发,多系统部署。 图 1 驱动框架架构图 说明 驱动框架使用说明 基于HDF框架开发驱动,开发者只需注
阅读全文
简介 该仓主要存放OpenHarmony驱动子系统核心源码信息(包括驱动框架、配置管理、配置解析、驱动通用框架模型、硬件通用平台能力接口等),旨在为开发者提供更精准、更高效的开发环境,力求做到一次开发,多系统部署。 图 1 驱动框架架构图 说明 驱动框架使用说明 基于HDF框架开发驱动,开发者只需注
阅读全文
摘要:
简介 国际化部件为应用提供了一系列国际化接口,包括:时间日期格式化、数字格式化、月份星期格式化、单复数、度量衡等相关接口。基于这些国际化接口,开发者可以设计并实现具有良好国际化能力的应用,从而可以高效、低成本的实现应用的本地化。国际化部件支持如下设备:Multi-modal V200Z-R BES2
阅读全文
简介 国际化部件为应用提供了一系列国际化接口,包括:时间日期格式化、数字格式化、月份星期格式化、单复数、度量衡等相关接口。基于这些国际化接口,开发者可以设计并实现具有良好国际化能力的应用,从而可以高效、低成本的实现应用的本地化。国际化部件支持如下设备:Multi-modal V200Z-R BES2
阅读全文
摘要:
概述 地图SDK适配鸿蒙NEXT特性介绍 赋能开发者-提供地图鸿蒙原生ArkTS开发接口 开发者可以使用鸿蒙NEXT推荐的ArkTS接口开发应用集成地图功能,组件使用ArkUI原生组件,兼容方舟UI框架 代码全面适配鸿蒙NEXTSDK,所有系统接口均使用鸿蒙NEXTAPI。 接口易用性-最大程度的保
阅读全文
概述 地图SDK适配鸿蒙NEXT特性介绍 赋能开发者-提供地图鸿蒙原生ArkTS开发接口 开发者可以使用鸿蒙NEXT推荐的ArkTS接口开发应用集成地图功能,组件使用ArkUI原生组件,兼容方舟UI框架 代码全面适配鸿蒙NEXTSDK,所有系统接口均使用鸿蒙NEXTAPI。 接口易用性-最大程度的保
阅读全文
摘要:
如何申请key 1、创建新应用 进入[控制台],创建一个新应用。如果您之前已经创建过应用,可直接跳过这个步骤。 2、添加新Key 在创建的应用上点击"添加新Key"按钮,在弹出的对话框中,依次:输入应用名名称,选择绑定的服务为“HarmonyOS平台”,输入AppID,如下图所示: 注意 1个KEY
阅读全文
如何申请key 1、创建新应用 进入[控制台],创建一个新应用。如果您之前已经创建过应用,可直接跳过这个步骤。 2、添加新Key 在创建的应用上点击"添加新Key"按钮,在弹出的对话框中,依次:输入应用名名称,选择绑定的服务为“HarmonyOS平台”,输入AppID,如下图所示: 注意 1个KEY
阅读全文
摘要:
专门为OpenHarmony打造的一款图像加载缓存库,致力于更高效、更轻便、更简单。 简介 OpenHarmony的自研版本: 支持内存缓存,使用LRUCache算法,对图片数据进行内存缓存。 支持磁盘缓存,对于下载图片会保存一份至磁盘当中。 支持进行图片变换: 支持图像像素源图片变换效果。 支持用
阅读全文
专门为OpenHarmony打造的一款图像加载缓存库,致力于更高效、更轻便、更简单。 简介 OpenHarmony的自研版本: 支持内存缓存,使用LRUCache算法,对图片数据进行内存缓存。 支持磁盘缓存,对于下载图片会保存一份至磁盘当中。 支持进行图片变换: 支持图像像素源图片变换效果。 支持用
阅读全文
摘要:
图形子系统 图形子系统主要包括UI组件、布局、动画、字体、输入事件、窗口管理、渲染绘制等模块,构建基于轻量OS应用框架满足硬件资源较小的物联网设备或者构建基于标准OS的应用框架满足富设备的OpenHarmony系统应用开发。 1.1 轻量系统 简介 图形子系统主要包括UI组件、布局、动画、字体、输入
阅读全文
图形子系统 图形子系统主要包括UI组件、布局、动画、字体、输入事件、窗口管理、渲染绘制等模块,构建基于轻量OS应用框架满足硬件资源较小的物联网设备或者构建基于标准OS的应用框架满足富设备的OpenHarmony系统应用开发。 1.1 轻量系统 简介 图形子系统主要包括UI组件、布局、动画、字体、输入
阅读全文
摘要:
介绍 基于OpenHarmony的Cavas组件封装了一版极简操作的MiniCanvas,屏蔽了原有Canvas内部复杂的调用流程,支持一个API就可以实现相应的绘制能力,该库还在继续完善中,也欢迎PR。 使用说明 添加MiniCanvas依赖 在项目entry目录执行如下命令安装MiniCanva
阅读全文
介绍 基于OpenHarmony的Cavas组件封装了一版极简操作的MiniCanvas,屏蔽了原有Canvas内部复杂的调用流程,支持一个API就可以实现相应的绘制能力,该库还在继续完善中,也欢迎PR。 使用说明 添加MiniCanvas依赖 在项目entry目录执行如下命令安装MiniCanva
阅读全文
摘要:
项目介绍 本项目是基于开源项目[Carbon] 进行harmonyos化的移植和开发的。 移植版本:Branches/master 这不是单纯只是API和基本功能展示demo,它是最有用的自定义控件的实现,如设计规范中所示。 Carbon试图: 让事情变得更简单(指定cornerRadius='dp
阅读全文
项目介绍 本项目是基于开源项目[Carbon] 进行harmonyos化的移植和开发的。 移植版本:Branches/master 这不是单纯只是API和基本功能展示demo,它是最有用的自定义控件的实现,如设计规范中所示。 Carbon试图: 让事情变得更简单(指定cornerRadius='dp
阅读全文
摘要:
简介 移动终端设备已经深入人们日常生活的方方面面,如查看所在城市的天气、新闻轶事、出行打车、旅行导航、运动记录。这些习以为常的活动,都离不开定位用户终端设备的位置。 当用户处于这些丰富的使用场景中时,系统的位置定位能力可以提供实时准确的位置数据。对于开发者,设计基于位置体验的服务,也可以更好的满足用
阅读全文
简介 移动终端设备已经深入人们日常生活的方方面面,如查看所在城市的天气、新闻轶事、出行打车、旅行导航、运动记录。这些习以为常的活动,都离不开定位用户终端设备的位置。 当用户处于这些丰富的使用场景中时,系统的位置定位能力可以提供实时准确的位置数据。对于开发者,设计基于位置体验的服务,也可以更好的满足用
阅读全文
摘要:
简介 [Axios] ,是一个基于 promise 的网络请求库,可以运行 node.js 和浏览器中。本库基于[Axios]原库v1.3.4版本进行适配,使其可以运行在 OpenHarmony,并沿用其现有用法和特性。 http 请求 Promise API request 和 response
阅读全文
简介 [Axios] ,是一个基于 promise 的网络请求库,可以运行 node.js 和浏览器中。本库基于[Axios]原库v1.3.4版本进行适配,使其可以运行在 OpenHarmony,并沿用其现有用法和特性。 http 请求 Promise API request 和 response
阅读全文
摘要:
简介 ylong_http 构建了完整的 HTTP 能力,支持用户使用 HTTP 能力完成通信场景的需求。 ylong_http 使用 Rust 编写,为 OpenHarmony 的 Rust 能力构筑提供支持。 ylong_http 在 OpenHarmony 中的位置 ylong_http 向
阅读全文
简介 ylong_http 构建了完整的 HTTP 能力,支持用户使用 HTTP 能力完成通信场景的需求。 ylong_http 使用 Rust 编写,为 OpenHarmony 的 Rust 能力构筑提供支持。 ylong_http 在 OpenHarmony 中的位置 ylong_http 向
阅读全文
摘要:
简介 华为应用内支付服务(HUAWEI In-App Purchases)支持3种商品,包括消耗型商品、非消耗型商品和订阅型商品。 消耗商品:仅能使用一次,消耗使用后即刻失效,需再次购买。 非消耗商品:一次性购买,永久拥有,无需消耗。 订阅型商品:用户购买后在一段时间内允许访问增值功能或内容,周期结
阅读全文
简介 华为应用内支付服务(HUAWEI In-App Purchases)支持3种商品,包括消耗型商品、非消耗型商品和订阅型商品。 消耗商品:仅能使用一次,消耗使用后即刻失效,需再次购买。 非消耗商品:一次性购买,永久拥有,无需消耗。 订阅型商品:用户购买后在一段时间内允许访问增值功能或内容,周期结
阅读全文
摘要:
先来看一下效果 本项目界面搭建基于ArkUI中TS扩展的声明式开发范式, 数据接口是[和风(天气预报)], 使用ArkUI自带的网络请求调用接口。 我想要实现的一个功能是,查询当前城市的实时天气, 目前已实现的功能有: 默认查询北京的天气预报 查看当前的天气 查看未来七天的天气 通过本项目,你能学到
阅读全文
先来看一下效果 本项目界面搭建基于ArkUI中TS扩展的声明式开发范式, 数据接口是[和风(天气预报)], 使用ArkUI自带的网络请求调用接口。 我想要实现的一个功能是,查询当前城市的实时天气, 目前已实现的功能有: 默认查询北京的天气预报 查看当前的天气 查看未来七天的天气 通过本项目,你能学到
阅读全文
摘要:
本项目是基于开源项目Markwon进行适用harmonyos的移植和开发的。 移植版本:v4.6.2 1. 项目介绍 项目名称:Markwon 所属系列:harmonyos的第三方组件适配移植 功能: Emphasis (*, _) Strong emphasis (**, __) Strike-t
阅读全文
本项目是基于开源项目Markwon进行适用harmonyos的移植和开发的。 移植版本:v4.6.2 1. 项目介绍 项目名称:Markwon 所属系列:harmonyos的第三方组件适配移植 功能: Emphasis (*, _) Strong emphasis (**, __) Strike-t
阅读全文
摘要:
简介 在OpenHarmony中,设备互信认证模块作为安全子系统的子模块,负责设备间可信关系的建立、维护、使用、撤销等全生命周期的管理,实现可信设备间的互信认证和安全会话密钥协商,是搭载OpenHarmony的设备进行可信互联的基础平台能力。 设备互信认证模块当前提供如下功能: 设备互信关系管理功能
阅读全文
简介 在OpenHarmony中,设备互信认证模块作为安全子系统的子模块,负责设备间可信关系的建立、维护、使用、撤销等全生命周期的管理,实现可信设备间的互信认证和安全会话密钥协商,是搭载OpenHarmony的设备进行可信互联的基础平台能力。 设备互信认证模块当前提供如下功能: 设备互信关系管理功能
阅读全文
摘要:
简介 Launcher 作为系统人机交互的首要入口,提供应用图标的显示、点击启动、卸载应用,并提供桌面布局设置以及最近任务管理等功能。 Launcher 采用 扩展的TS语言(ArkTS)开发,主要的结构如下: product 业务形态层:区分不同产品、不同屏幕的各形态桌面,含有桌面窗口、个性化业务
阅读全文
简介 Launcher 作为系统人机交互的首要入口,提供应用图标的显示、点击启动、卸载应用,并提供桌面布局设置以及最近任务管理等功能。 Launcher 采用 扩展的TS语言(ArkTS)开发,主要的结构如下: product 业务形态层:区分不同产品、不同屏幕的各形态桌面,含有桌面窗口、个性化业务
阅读全文
摘要:
(一)练习准备 本案例使用HUAWEI DevEco Studio 3.0.0.800,API4-API7都可以体验,由于IDE版本与API不断升级与兼容性等问题,大家练习时可能会遇到一些细节上的差异,整体流程是一致的。 (二)创建项目 1.创建工程项目 打开DevEco Studio选择你的Abi
阅读全文
(一)练习准备 本案例使用HUAWEI DevEco Studio 3.0.0.800,API4-API7都可以体验,由于IDE版本与API不断升级与兼容性等问题,大家练习时可能会遇到一些细节上的差异,整体流程是一致的。 (二)创建项目 1.创建工程项目 打开DevEco Studio选择你的Abi
阅读全文
摘要:
鸿蒙开发过程中,经常会进行系统调用,拍照、拍视频、选择图库图片、选择图库视频、选择文件。今天就给大家分享一个工具类。 1. 话不多说,先展示样式 2.设计思路 根据官方提供的指南开发工具类,基础的拍照、拍视频、图库选照片、选文件不过多缀述,图库选择这里设计成集合形式,可返回图片和视频,视频展示时不显
阅读全文
鸿蒙开发过程中,经常会进行系统调用,拍照、拍视频、选择图库图片、选择图库视频、选择文件。今天就给大家分享一个工具类。 1. 话不多说,先展示样式 2.设计思路 根据官方提供的指南开发工具类,基础的拍照、拍视频、图库选照片、选文件不过多缀述,图库选择这里设计成集合形式,可返回图片和视频,视频展示时不显
阅读全文
摘要:
工程模板和开发语言介绍 DevEco Studio支持包括手机、平板、车机、智慧屏、智能穿戴、轻量级智能穿戴和智慧视觉设备的HarmonyOS应用/服务开发,预置了工程模板,可以根据工程向导轻松创建适应于各类设备的工程,并自动生成对应的代码和资源模板。同时,DevEco Studio还提供了多种编程
阅读全文
工程模板和开发语言介绍 DevEco Studio支持包括手机、平板、车机、智慧屏、智能穿戴、轻量级智能穿戴和智慧视觉设备的HarmonyOS应用/服务开发,预置了工程模板,可以根据工程向导轻松创建适应于各类设备的工程,并自动生成对应的代码和资源模板。同时,DevEco Studio还提供了多种编程
阅读全文
摘要:
在开发HarmonyOS应用时,默认创建的工程会有一个entry module,实际应用场景为了代码或者功能解耦,我们需要用到module来进行隔离。根据鸿蒙3.0/3.1/4.0官方指导,我们可以了解到关于module的类型,以及依赖关系,本篇文章将详细为大家介绍一下module的使用 准备 请按
阅读全文
在开发HarmonyOS应用时,默认创建的工程会有一个entry module,实际应用场景为了代码或者功能解耦,我们需要用到module来进行隔离。根据鸿蒙3.0/3.1/4.0官方指导,我们可以了解到关于module的类型,以及依赖关系,本篇文章将详细为大家介绍一下module的使用 准备 请按
阅读全文
摘要:
实现效果: 代码示例: RollingText.ets 组件封装 /** * 滚动文字特效 */ @Component export default struct RollingText { private num:number private timerId: number = -1 @State
阅读全文
实现效果: 代码示例: RollingText.ets 组件封装 /** * 滚动文字特效 */ @Component export default struct RollingText { private num:number private timerId: number = -1 @State
阅读全文
摘要:
Okhttp.ets /** * 网络请求 */ import axios from '@ohos/axios' import httpConstants from '../net/HttpConstants' import errorCode from '../utils/errorCode' i
阅读全文
Okhttp.ets /** * 网络请求 */ import axios from '@ohos/axios' import httpConstants from '../net/HttpConstants' import errorCode from '../utils/errorCode' i
阅读全文
摘要:
TaskPool(任务池)和Worker的作用是为应用程序提供一个多线程的运行环境,用于处理耗时的计算任务或其他密集型任务。可以有效地避免这些任务阻塞主线程,从而最大化系统的利用率,降低整体资源消耗,并提高系统的整体性能。 本文将从实现特点和适用场景两个方面来进行TaskPool与Worker的比较
阅读全文
TaskPool(任务池)和Worker的作用是为应用程序提供一个多线程的运行环境,用于处理耗时的计算任务或其他密集型任务。可以有效地避免这些任务阻塞主线程,从而最大化系统的利用率,降低整体资源消耗,并提高系统的整体性能。 本文将从实现特点和适用场景两个方面来进行TaskPool与Worker的比较
阅读全文
摘要:
效果图: 示例代码 // 使用 DevEco Studio 3.1.1 Release 及以上版本,API 版本为 api 9 及以上。 // 主要功能及注意事项: // 该组件展示了一个乘客选择列表。列表中的每个项目包含一个复选框和对应的乘客姓名, // 用户点击任意一项即可切换其选中状态。组件通
阅读全文
效果图: 示例代码 // 使用 DevEco Studio 3.1.1 Release 及以上版本,API 版本为 api 9 及以上。 // 主要功能及注意事项: // 该组件展示了一个乘客选择列表。列表中的每个项目包含一个复选框和对应的乘客姓名, // 用户点击任意一项即可切换其选中状态。组件通
阅读全文
摘要:
图片演示效果: 代码演示: // 注:当前代码基于宽度为720的设计稿进行适配,使用lpx单位。 // 整段代码描述的功能: // 该代码实现了一个简单的搜索功能组件,其中包括: // 1. 输入框:用户可以在此输入要搜索的内容; // 2. 搜索按钮:点击后,将当前输入内容添加到搜索历史记录的首位
阅读全文
图片演示效果: 代码演示: // 注:当前代码基于宽度为720的设计稿进行适配,使用lpx单位。 // 整段代码描述的功能: // 该代码实现了一个简单的搜索功能组件,其中包括: // 1. 输入框:用户可以在此输入要搜索的内容; // 2. 搜索按钮:点击后,将当前输入内容添加到搜索历史记录的首位
阅读全文
摘要:
askPool运作机制 图1 TaskPool运作机制示意图 TaskPool支持开发者在主线程封装任务抛给任务队列,系统选择合适的工作线程,进行任务的分发及执行,再将结果返回给主线程。接口直观易用,支持任务的执行、取消。工作线程数量上限为4。 Worker运作机制 图2 Worker运作机制示意图
阅读全文
askPool运作机制 图1 TaskPool运作机制示意图 TaskPool支持开发者在主线程封装任务抛给任务队列,系统选择合适的工作线程,进行任务的分发及执行,再将结果返回给主线程。接口直观易用,支持任务的执行、取消。工作线程数量上限为4。 Worker运作机制 图2 Worker运作机制示意图
阅读全文
摘要:
1.同步方式获取 首先需要导包: import bundleManager from '@ohos.bundle.bundleManager' 工具类: public static async getVersionName(): Promise<string> { try { let bundleI
阅读全文
1.同步方式获取 首先需要导包: import bundleManager from '@ohos.bundle.bundleManager' 工具类: public static async getVersionName(): Promise<string> { try { let bundleI
阅读全文
摘要:
需求:加载验证码;1.下载验证码图像文件;2.获取header里面验证码ID 踩坑--踩坑--踩坑 根据文档使用 request.downloadFile 请求,官方示例: // pages/xxx.ets // 将网络资源文件下载到应用文件目录并读取一段内容 import common from
阅读全文
需求:加载验证码;1.下载验证码图像文件;2.获取header里面验证码ID 踩坑--踩坑--踩坑 根据文档使用 request.downloadFile 请求,官方示例: // pages/xxx.ets // 将网络资源文件下载到应用文件目录并读取一段内容 import common from
阅读全文
摘要:
1.获取打印文件大小 /** * 获取打印文件大小 */ static getFileSize(byteNum: number) { if (byteNum < 0) { return "shouldn't be less than zero!"; } else if (byteNum < 1024
阅读全文
1.获取打印文件大小 /** * 获取打印文件大小 */ static getFileSize(byteNum: number) { if (byteNum < 0) { return "shouldn't be less than zero!"; } else if (byteNum < 1024
阅读全文
摘要:
RSA加解密开始构建工具类就是举步维艰,官方文档虽然很全,但是还是有很多小瑕疵,在自己经过几天的时间,彻底解决了中文乱码的问题、分段加密的问题。 首先看官方示例代码(以RSA非对称加解密(多次调用doFinal实现分段)为例:): import cryptoFramework from "@ohos
阅读全文
RSA加解密开始构建工具类就是举步维艰,官方文档虽然很全,但是还是有很多小瑕疵,在自己经过几天的时间,彻底解决了中文乱码的问题、分段加密的问题。 首先看官方示例代码(以RSA非对称加解密(多次调用doFinal实现分段)为例:): import cryptoFramework from "@ohos
阅读全文
摘要:
在进行base64编码中,遇到中文如果不进行处理一定会出现乱码 let result1: string = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(('一二三四五六七八九十123'))) LogUtils.i("result1 =
阅读全文
在进行base64编码中,遇到中文如果不进行处理一定会出现乱码 let result1: string = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(('一二三四五六七八九十123'))) LogUtils.i("result1 =
阅读全文
摘要:
import Emitter from '@ohos.events.emitter'; import pasteboard from '@ohos.pasteboard'; MyEmitterUtil 是一个针对 HarmonyOS 的事件驱动编程封装类,主要用于组件间的通信和数据传递。 使用要求:
阅读全文
import Emitter from '@ohos.events.emitter'; import pasteboard from '@ohos.pasteboard'; MyEmitterUtil 是一个针对 HarmonyOS 的事件驱动编程封装类,主要用于组件间的通信和数据传递。 使用要求:
阅读全文
摘要:
import http from '@ohos.net.http'; import promptAction from '@ohos.promptAction'; 封装HTTP接口请求类,提供格式化的响应信息输出功能。 使用 DevEco Studio 3.1.1 Release 及以上版本,API
阅读全文
import http from '@ohos.net.http'; import promptAction from '@ohos.promptAction'; 封装HTTP接口请求类,提供格式化的响应信息输出功能。 使用 DevEco Studio 3.1.1 Release 及以上版本,API
阅读全文
摘要:
import dataPreferences from '@ohos.data.preferences'; import bundleManager from '@ohos.bundle.bundleManager'; 本地首选项数据的保存,利用key value 【使用要求】 DevEco Stu
阅读全文
import dataPreferences from '@ohos.data.preferences'; import bundleManager from '@ohos.bundle.bundleManager'; 本地首选项数据的保存,利用key value 【使用要求】 DevEco Stu
阅读全文
摘要:
import common from '@ohos.app.ability.common'; import router from '@ohos.router' 封装app内的页面之间跳转、app与app之间的跳转工具类 【使用要求】 DevEco Studio 3.1.1 Release api
阅读全文
import common from '@ohos.app.ability.common'; import router from '@ohos.router' 封装app内的页面之间跳转、app与app之间的跳转工具类 【使用要求】 DevEco Studio 3.1.1 Release api
阅读全文
摘要:
背景 加深对@Observed@ObjectLink 装饰器使用的理解,以小故事做注释 效果 代码片段 这是一个故事 Boss为了交付两个完全一样的客户项目【只要写1万行代码】,在公司内部,把一个程序员配给了项目经理,让其监督写代码 项目经理领到指示后, 先告知客户一,公司为其配了专职程序员,由其随
阅读全文
背景 加深对@Observed@ObjectLink 装饰器使用的理解,以小故事做注释 效果 代码片段 这是一个故事 Boss为了交付两个完全一样的客户项目【只要写1万行代码】,在公司内部,把一个程序员配给了项目经理,让其监督写代码 项目经理领到指示后, 先告知客户一,公司为其配了专职程序员,由其随
阅读全文
摘要:
背景 这是一个基础概念,其实没有什么原因,练习过程中,自然可以感受到其用法,后期加上真实项目的演练,会形成习惯 功能核心理念 “在自定义组件中添加一个点击跳转操作。若直接在组件内嵌入事件方法,将会导致所有引入该自定义组件的地方均增加了该功能。为解决此问题,ArkUI引入了@BuilderParam装
阅读全文
背景 这是一个基础概念,其实没有什么原因,练习过程中,自然可以感受到其用法,后期加上真实项目的演练,会形成习惯 功能核心理念 “在自定义组件中添加一个点击跳转操作。若直接在组件内嵌入事件方法,将会导致所有引入该自定义组件的地方均增加了该功能。为解决此问题,ArkUI引入了@BuilderParam装
阅读全文
摘要:
背景 悬浮视图或者窗体,在Android和iOS两大移动平台均有使用,HarmonyOS 也实现了此功能,如下为大家分享一下效果 准备 熟读HarmonyOS 悬浮窗口指导 熟读HarmonyOS 手势指导 熟读ALC签名指导,用于可以申请 “ohos.permission.SYSTEM_FLOAT
阅读全文
背景 悬浮视图或者窗体,在Android和iOS两大移动平台均有使用,HarmonyOS 也实现了此功能,如下为大家分享一下效果 准备 熟读HarmonyOS 悬浮窗口指导 熟读HarmonyOS 手势指导 熟读ALC签名指导,用于可以申请 “ohos.permission.SYSTEM_FLOAT
阅读全文
摘要:
介绍 本篇主要介绍如何在HarmonyOS中,在页面跳转之间如何传值 HarmonyOS 的页面指的是带有@Entry装饰器的文件,其不能独自存在,必须依赖UIAbility这样的组件容器 如下是官方关于State模型开发模式下的应用包结构示意图,Page就是带有@Entry装饰器的文件 那么在页面
阅读全文
介绍 本篇主要介绍如何在HarmonyOS中,在页面跳转之间如何传值 HarmonyOS 的页面指的是带有@Entry装饰器的文件,其不能独自存在,必须依赖UIAbility这样的组件容器 如下是官方关于State模型开发模式下的应用包结构示意图,Page就是带有@Entry装饰器的文件 那么在页面
阅读全文
摘要:
背景 HarmonyOS平台通过Web控件可支持网页加载展示,Web在中是作为专项参考的。 本篇文章将从Android和iOS平台研发角度出发来实践学习API功能 说明 整个示例是以HarmonyOS开发文档网址作为加载目标 页面布局增加了三个按钮“后退”,“前进”, “刷新” 效果 准备 请参照
阅读全文
背景 HarmonyOS平台通过Web控件可支持网页加载展示,Web在中是作为专项参考的。 本篇文章将从Android和iOS平台研发角度出发来实践学习API功能 说明 整个示例是以HarmonyOS开发文档网址作为加载目标 页面布局增加了三个按钮“后退”,“前进”, “刷新” 效果 准备 请参照
阅读全文
摘要:
介绍 服务卡片指导文档位于“开发/应用模型/Stage模型开发指导/Stage模型应用组件”路径下,说明其极其重要。 本篇文章将分享实现服务卡片的过程和代码 准备 请参照[官方指导],创建一个Demo工程,选择Stage模型 熟读HarmonyOS 官方指导 “[创建一个ArkTS卡片]” 实践总结
阅读全文
介绍 服务卡片指导文档位于“开发/应用模型/Stage模型开发指导/Stage模型应用组件”路径下,说明其极其重要。 本篇文章将分享实现服务卡片的过程和代码 准备 请参照[官方指导],创建一个Demo工程,选择Stage模型 熟读HarmonyOS 官方指导 “[创建一个ArkTS卡片]” 实践总结
阅读全文
摘要:
介绍 HarmonyOS的沙盒机制完全屏蔽了应用对手机公共存储空间的访问,安全性提高已不言而喻。 本篇文章的主要目的是为了能通过一个简单工具,可视化的让一个新手能相对轻松的学习文件&数据存储。HarmonyOS 应用开发工具DevEco Studio也没有提供读取存储器的功能,所以做一个简单版本的应
阅读全文
介绍 HarmonyOS的沙盒机制完全屏蔽了应用对手机公共存储空间的访问,安全性提高已不言而喻。 本篇文章的主要目的是为了能通过一个简单工具,可视化的让一个新手能相对轻松的学习文件&数据存储。HarmonyOS 应用开发工具DevEco Studio也没有提供读取存储器的功能,所以做一个简单版本的应
阅读全文
摘要:
介绍 瀑布流式展示图片文字,在当前产品设计中已非常常见,本篇将介绍关于WaterFlow的图片浏览场景,顺便集成Video控件,以提高实践的趣味性 准备 请参照[官方指导],创建一个Demo工程,选择Stage模型 效果 竖屏 横屏 数据源 | 功能介绍 瀑布流式图片展示 横竖屏图片/视频展示 核心
阅读全文
介绍 瀑布流式展示图片文字,在当前产品设计中已非常常见,本篇将介绍关于WaterFlow的图片浏览场景,顺便集成Video控件,以提高实践的趣味性 准备 请参照[官方指导],创建一个Demo工程,选择Stage模型 效果 竖屏 横屏 数据源 | 功能介绍 瀑布流式图片展示 横竖屏图片/视频展示 核心
阅读全文
摘要:
介绍 在HarmonyOS中,参考官方指导,其实你会发现在‘指南’和‘API参考’两个文档中,对消息传递使用的技术不是一对一的关系,那么今天这篇文章带你全面了解HarmonyOS 中的消息传递 概况 参照官方指导,我总结了两部分:1. 官方“指南”,即下图中的“Stage模型” 2. 总结的内容,即
阅读全文
介绍 在HarmonyOS中,参考官方指导,其实你会发现在‘指南’和‘API参考’两个文档中,对消息传递使用的技术不是一对一的关系,那么今天这篇文章带你全面了解HarmonyOS 中的消息传递 概况 参照官方指导,我总结了两部分:1. 官方“指南”,即下图中的“Stage模型” 2. 总结的内容,即
阅读全文
摘要:
背景 几乎每家应用中都带有搜索功能,关于这个功能的页面不是特别复杂,但如果要追究其背后的一系列逻辑,可能是整个应用中最复杂的一个功能。今天主要实践目标,会抛开复杂的逻辑,尝试纯粹实现一个“搜索主页”,主要包含,输入框文字输入,热门词展示,热门帖子展示。全篇主要使用到的控件是TextInput, Fl
阅读全文
背景 几乎每家应用中都带有搜索功能,关于这个功能的页面不是特别复杂,但如果要追究其背后的一系列逻辑,可能是整个应用中最复杂的一个功能。今天主要实践目标,会抛开复杂的逻辑,尝试纯粹实现一个“搜索主页”,主要包含,输入框文字输入,热门词展示,热门帖子展示。全篇主要使用到的控件是TextInput, Fl
阅读全文
摘要:
HarmonyOS 有19种装饰器 必须【2】 绘制一个页面,这两个肯定会用到 @Entry @Component 可选【17】 @State @Prop @Link @ObjectLink @Watch @Styles @StorageProp @StorageLink @Provide @Con
阅读全文
HarmonyOS 有19种装饰器 必须【2】 绘制一个页面,这两个肯定会用到 @Entry @Component 可选【17】 @State @Prop @Link @ObjectLink @Watch @Styles @StorageProp @StorageLink @Provide @Con
阅读全文
摘要:
HarmonyOS 平台中使用网络请求,需要引入 "@ohos.net.http", 并且需要在 module.json5 文件中申请网络权限, 即 “ohos.permission.INTERNET” 本篇文章将尝试使用 @ohos.net.http 来实现网络请求 场景设定 WeiBo UniD
阅读全文
HarmonyOS 平台中使用网络请求,需要引入 "@ohos.net.http", 并且需要在 module.json5 文件中申请网络权限, 即 “ohos.permission.INTERNET” 本篇文章将尝试使用 @ohos.net.http 来实现网络请求 场景设定 WeiBo UniD
阅读全文
摘要:
本篇分享一下 HarmonyOS 中的Socket使用方法 将从2个方面实践: HarmonyOS 手机应用连接PC端 SocketServer HarmonyOS 手机应用连接MQTT 服务端 通过循序渐进的方式,全面了解实践HarmonyOS中的Socket用法 注意:编译时IDE会给出如下警告
阅读全文
本篇分享一下 HarmonyOS 中的Socket使用方法 将从2个方面实践: HarmonyOS 手机应用连接PC端 SocketServer HarmonyOS 手机应用连接MQTT 服务端 通过循序渐进的方式,全面了解实践HarmonyOS中的Socket用法 注意:编译时IDE会给出如下警告
阅读全文
摘要:
背景 写HarmonyOS穿戴应用研发,仅仅是为了一线研发人员提供少许的帮助。 在有些公司,可能因为业务的需要,所以要求研发人员一定要在华为手表穿戴上研发特定的功能,并且理所应当的认为这个开发成本就一个顺手的事情。 开发应用顺手的原因无非就几点 宣传 - HarmonyOS已经看似非常成熟 实践UI
阅读全文
背景 写HarmonyOS穿戴应用研发,仅仅是为了一线研发人员提供少许的帮助。 在有些公司,可能因为业务的需要,所以要求研发人员一定要在华为手表穿戴上研发特定的功能,并且理所应当的认为这个开发成本就一个顺手的事情。 开发应用顺手的原因无非就几点 宣传 - HarmonyOS已经看似非常成熟 实践UI
阅读全文
摘要:
介绍 MQTT是物联网中的一种协议,在HarmonyOS API9平台,解决方案以C++库移植为实现方案。 遥遥领先的平台,使用MQTT怎能不遥遥领先呢! 新年快乐,本篇将带领你手把手实现HarmonyOS ArkTS语言的MQTT协议。 准备 阅读MQTT 5.0协议 安装Mosquitto服务器
阅读全文
介绍 MQTT是物联网中的一种协议,在HarmonyOS API9平台,解决方案以C++库移植为实现方案。 遥遥领先的平台,使用MQTT怎能不遥遥领先呢! 新年快乐,本篇将带领你手把手实现HarmonyOS ArkTS语言的MQTT协议。 准备 阅读MQTT 5.0协议 安装Mosquitto服务器
阅读全文
摘要:
一、场景介绍 二、 接口说明 HTTP数据请求功能主要由http模块提供。 使用该功能需要申请ohos.permission.INTERNET权限。 涉及的接口如下表,具体的接口说明请参考API文档。 接口名 功能描述 createHttp() 创建一个http请求。 request() 根据URL
阅读全文
一、场景介绍 二、 接口说明 HTTP数据请求功能主要由http模块提供。 使用该功能需要申请ohos.permission.INTERNET权限。 涉及的接口如下表,具体的接口说明请参考API文档。 接口名 功能描述 createHttp() 创建一个http请求。 request() 根据URL
阅读全文
摘要:
使用异步并发可以解决单次I/O任务阻塞的问题,但是如果遇到I/O密集型任务,同样会阻塞线程中其它任务的执行,这时需要使用多线程并发能力来进行解决。 I/O密集型任务的性能重点通常不在于CPU的处理能力,而在于I/O操作的速度和效率。这种任务通常需要频繁地进行磁盘读写、网络通信等操作。此处以频繁读写系
阅读全文
使用异步并发可以解决单次I/O任务阻塞的问题,但是如果遇到I/O密集型任务,同样会阻塞线程中其它任务的执行,这时需要使用多线程并发能力来进行解决。 I/O密集型任务的性能重点通常不在于CPU的处理能力,而在于I/O操作的速度和效率。这种任务通常需要频繁地进行磁盘读写、网络通信等操作。此处以频繁读写系
阅读全文
摘要:
软件说明 协议传输通道仅为TCPSocket 基于HarmonyOS SDK API 9开发 开发语言:ArkTS,TypeScript 应用操作说明 测试首页 “连接” : 用于连接远端服务器。具备“连接 & 断开” 两个功能 “设置” : 用于添加更多主题 “订阅” & “解除” : 仅用于默认
阅读全文
软件说明 协议传输通道仅为TCPSocket 基于HarmonyOS SDK API 9开发 开发语言:ArkTS,TypeScript 应用操作说明 测试首页 “连接” : 用于连接远端服务器。具备“连接 & 断开” 两个功能 “设置” : 用于添加更多主题 “订阅” & “解除” : 仅用于默认
阅读全文
摘要:
背景 HarmonyOS 论坛中有研发人员求助,反馈通知没有没有声音,因此在真机上验证了一下,果不其然,没有通知的提示音,后来解决办法也非常简单,在手机设置应用中,将可以打开的通知提示统统改为铃声。 问题是解决了,但有必要分享一下HarmonyOS中的通知问题 实践总结 slotType的设置,一定
阅读全文
背景 HarmonyOS 论坛中有研发人员求助,反馈通知没有没有声音,因此在真机上验证了一下,果不其然,没有通知的提示音,后来解决办法也非常简单,在手机设置应用中,将可以打开的通知提示统统改为铃声。 问题是解决了,但有必要分享一下HarmonyOS中的通知问题 实践总结 slotType的设置,一定
阅读全文
摘要:
背景 大多数软件产品上线前,都会采用有规则的日志来对软件进行相关数据的采集,这个过程称为:埋点,采集的数据主要用于产品分析。 埋点技术已在PC端, 移动端非常成熟,并且有大批量以此为生的公司。 本篇将探究一下HarmonyOS中的埋点,目标是统计用户浏览页面轨迹 准备 了解移动端的埋点技术方案 了解
阅读全文
背景 大多数软件产品上线前,都会采用有规则的日志来对软件进行相关数据的采集,这个过程称为:埋点,采集的数据主要用于产品分析。 埋点技术已在PC端, 移动端非常成熟,并且有大批量以此为生的公司。 本篇将探究一下HarmonyOS中的埋点,目标是统计用户浏览页面轨迹 准备 了解移动端的埋点技术方案 了解
阅读全文
摘要:
背景 如何在HarmonyOS 系统上出设计稿? 问题1: 为什么要计算虚拟高度,即 virtualHeight static adaptDimension(value: number): number { let deviceDisplay: display.Display = GlobalCon
阅读全文
背景 如何在HarmonyOS 系统上出设计稿? 问题1: 为什么要计算虚拟高度,即 virtualHeight static adaptDimension(value: number): number { let deviceDisplay: display.Display = GlobalCon
阅读全文
摘要:
背景 公司内部已经有现成的MQTT动态库,想在HarmonyOS平台上共享使用。查找官方指导后,发现可以通过NAPI方式,将MQTT C++库导入进来,然后封装一层ArkTS接口就可直接使用。 本篇内容是在按照官方指导下,自己做的一些调研性质的实践。 阅读完成后 将学会如何在已有的HarmonyOS
阅读全文
背景 公司内部已经有现成的MQTT动态库,想在HarmonyOS平台上共享使用。查找官方指导后,发现可以通过NAPI方式,将MQTT C++库导入进来,然后封装一层ArkTS接口就可直接使用。 本篇内容是在按照官方指导下,自己做的一些调研性质的实践。 阅读完成后 将学会如何在已有的HarmonyOS
阅读全文
摘要:
本篇将会介绍另外两种集成方式: NAPI源码 + 动态库(即 .so) TS接口 + 动态库(即 .so) Native C++应用研发概况 Native C++应用场景,总结起来就如下 "部分源码+动态库": 国密算法SM4已经提前被编译成了so文件,这个时候我们只需在CMakeList.txt文
阅读全文
本篇将会介绍另外两种集成方式: NAPI源码 + 动态库(即 .so) TS接口 + 动态库(即 .so) Native C++应用研发概况 Native C++应用场景,总结起来就如下 "部分源码+动态库": 国密算法SM4已经提前被编译成了so文件,这个时候我们只需在CMakeList.txt文
阅读全文
摘要:
使用Worker进行长时间数据分析 通过某地区提供的房价数据训练一个简易的房价预测模型,该模型支持通过输入房屋面积和房间数量去预测该区域的房价,模型需要长时间运行,房价预测需要使用前面的模型运行结果,因此需要使用Worker。 1.DevEco Studio提供了Worker创建的模板,新建一个Wo
阅读全文
使用Worker进行长时间数据分析 通过某地区提供的房价数据训练一个简易的房价预测模型,该模型支持通过输入房屋面积和房间数量去预测该区域的房价,模型需要长时间运行,房价预测需要使用前面的模型运行结果,因此需要使用Worker。 1.DevEco Studio提供了Worker创建的模板,新建一个Wo
阅读全文
摘要:
CPU密集型任务是指需要占用系统资源处理大量计算能力的任务,需要长时间运行,这段时间会阻塞线程其它事件的处理,不适宜放在主线程进行。例如图像处理、视频编码、数据分析等。 基于多线程并发机制处理CPU密集型任务可以提高CPU利用率,提升应用程序响应速度。 当进行一系列同步任务时,推荐使用Worker;
阅读全文
CPU密集型任务是指需要占用系统资源处理大量计算能力的任务,需要长时间运行,这段时间会阻塞线程其它事件的处理,不适宜放在主线程进行。例如图像处理、视频编码、数据分析等。 基于多线程并发机制处理CPU密集型任务可以提高CPU利用率,提升应用程序响应速度。 当进行一系列同步任务时,推荐使用Worker;
阅读全文
摘要:
在使用TaskPool时,执行的并发函数需要使用该装饰器修饰,否则无法通过相关校验。从API version 9开始,该装饰器支持在ArkTS卡片中使用。 装饰器说明 @Concurrent并发装饰器 说明 装饰器参数 无。 使用场景 仅支持在Stage模型的工程中使用。 装饰的函数类型 允许标注a
阅读全文
在使用TaskPool时,执行的并发函数需要使用该装饰器修饰,否则无法通过相关校验。从API version 9开始,该装饰器支持在ArkTS卡片中使用。 装饰器说明 @Concurrent并发装饰器 说明 装饰器参数 无。 使用场景 仅支持在Stage模型的工程中使用。 装饰的函数类型 允许标注a
阅读全文
摘要:
着色器绘制彩色三角形 使用WebGL开发时,为保证界面图形显示效果,请使用真机运行。 此场景为使用WebGL绘制的彩色三角形图形(GPU绘制)。开发示例如下: 创建页面布局。index.hml示例如下: <div class="container"> <canvas ref="canvas1" st
阅读全文
着色器绘制彩色三角形 使用WebGL开发时,为保证界面图形显示效果,请使用真机运行。 此场景为使用WebGL绘制的彩色三角形图形(GPU绘制)。开发示例如下: 创建页面布局。index.hml示例如下: <div class="container"> <canvas ref="canvas1" st
阅读全文
摘要:
一、场景介绍 WebGL主要帮助开发者在前端开发中完成图形图像的相关处理,比如绘制彩色图形等。目前该功能仅支持使用兼容JS的类Web开发范式开发。 二、接口说明 表1 WebGL主要接口列表 接口名 描述 canvas.getContext 获取canvas对象上下文。 webgl.createBu
阅读全文
一、场景介绍 WebGL主要帮助开发者在前端开发中完成图形图像的相关处理,比如绘制彩色图形等。目前该功能仅支持使用兼容JS的类Web开发范式开发。 二、接口说明 表1 WebGL主要接口列表 接口名 描述 canvas.getContext 获取canvas对象上下文。 webgl.createBu
阅读全文
摘要:
Promise和async/await提供异步并发能力,是标准的JS异步语法。异步代码会被挂起并在之后继续执行,同一时间只有一段代码执行,适用于单次I/O任务的场景开发,例如一次网络请求、一次文件读写等操作。异步语法是一种编程语言的特性,允许程序在执行某些操作时不必等待其完成,而是可以继续执行其他操
阅读全文
Promise和async/await提供异步并发能力,是标准的JS异步语法。异步代码会被挂起并在之后继续执行,同一时间只有一段代码执行,适用于单次I/O任务的场景开发,例如一次网络请求、一次文件读写等操作。异步语法是一种编程语言的特性,允许程序在执行某些操作时不必等待其完成,而是可以继续执行其他操
阅读全文
摘要:
async/await是一种用于处理异步操作的Promise语法糖,使得编写异步代码变得更加简单和易读。通过使用async关键字声明一个函数为异步函数,并使用await关键字等待Promise的解析(完成或拒绝),以同步的方式编写异步操作的代码。 async函数是一个返回Promise对象的函数,用
阅读全文
async/await是一种用于处理异步操作的Promise语法糖,使得编写异步代码变得更加简单和易读。通过使用async关键字声明一个函数为异步函数,并使用await关键字等待Promise的解析(完成或拒绝),以同步的方式编写异步操作的代码。 async函数是一个返回Promise对象的函数,用
阅读全文
摘要:
Promise和async/await提供异步并发能力,适用于单次I/O任务的场景开发,本文以使用异步进行单次文件写入为例来提供指导。 实现单次I/O任务逻辑。 import fs from '@ohos.file.fs'; import common from '@ohos.app.ability
阅读全文
Promise和async/await提供异步并发能力,适用于单次I/O任务的场景开发,本文以使用异步进行单次文件写入为例来提供指导。 实现单次I/O任务逻辑。 import fs from '@ohos.file.fs'; import common from '@ohos.app.ability
阅读全文
摘要:
一、体验窗口沉浸式能力说明 在看视频、玩游戏等场景下,用户往往希望隐藏状态栏、导航栏等不必要的系统窗口,从而获得更佳的沉浸式体验。此时可以借助窗口沉浸式能力(窗口沉浸式能力都是针对应用主窗口而言的),达到预期效果。 二、开发步骤 1.获取应用主窗口。 通过getMainWindow接口获取应用主窗口
阅读全文
一、体验窗口沉浸式能力说明 在看视频、玩游戏等场景下,用户往往希望隐藏状态栏、导航栏等不必要的系统窗口,从而获得更佳的沉浸式体验。此时可以借助窗口沉浸式能力(窗口沉浸式能力都是针对应用主窗口而言的),达到预期效果。 二、开发步骤 1.获取应用主窗口。 通过getMainWindow接口获取应用主窗口
阅读全文
摘要:
一、设置应用主窗口说明 在Stage模型下,应用主窗口由UIAbility创建并维护生命周期。在UIAbility的onWindowStageCreate回调中,通过WindowStage获取应用主窗口,即可对其进行属性设置等操作。还可以在应用配置文件中设置应用主窗口的属性,如最大窗口宽度maxWi
阅读全文
一、设置应用主窗口说明 在Stage模型下,应用主窗口由UIAbility创建并维护生命周期。在UIAbility的onWindowStageCreate回调中,通过WindowStage获取应用主窗口,即可对其进行属性设置等操作。还可以在应用配置文件中设置应用主窗口的属性,如最大窗口宽度maxWi
阅读全文
摘要:
一、设置悬浮窗说明 悬浮窗可以在已有的任务基础上,创建一个始终在前台显示的窗口。即使创建悬浮窗的任务退至后台,悬浮窗仍然可以在前台显示。通常悬浮窗位于所有应用窗口之上;开发者可以创建悬浮窗,并对悬浮窗进行属性设置等操作。 二、开发步骤 前提条件:创建WindowType.TYPE_FLOAT即悬浮窗
阅读全文
一、设置悬浮窗说明 悬浮窗可以在已有的任务基础上,创建一个始终在前台显示的窗口。即使创建悬浮窗的任务退至后台,悬浮窗仍然可以在前台显示。通常悬浮窗位于所有应用窗口之上;开发者可以创建悬浮窗,并对悬浮窗进行属性设置等操作。 二、开发步骤 前提条件:创建WindowType.TYPE_FLOAT即悬浮窗
阅读全文
摘要:
样例简介 智能养花机通过感知花卉、盆栽等植宠生长环境的温度、湿度信息,适时为它们补充水分。在连接网络后,配合数字管家应用,用户可远程进行浇水操作。用户还可在应用中设定日程,有计划的按日、按周进行浇水。在日程中用户可添加其它智能设备(例如:智能窗帘),一起呵护植宠的成长。 运行效果 当设备应用启动之后
阅读全文
样例简介 智能养花机通过感知花卉、盆栽等植宠生长环境的温度、湿度信息,适时为它们补充水分。在连接网络后,配合数字管家应用,用户可远程进行浇水操作。用户还可在应用中设定日程,有计划的按日、按周进行浇水。在日程中用户可添加其它智能设备(例如:智能窗帘),一起呵护植宠的成长。 运行效果 当设备应用启动之后
阅读全文
摘要:
平时在开发的过程中,我们会在应用中共享数据,在不同的页面间共享信息。虽然常用的共享信息,也可以通过不同页面中组件间信息共享的方式,但有时使用应用级别的状态管理会让开发工作变得简单。 根据不同的使用场景,ArkTS提供了以下几种应用状态管理的能力: LocalStorage:使用范围在同一页面,页面与
阅读全文
平时在开发的过程中,我们会在应用中共享数据,在不同的页面间共享信息。虽然常用的共享信息,也可以通过不同页面中组件间信息共享的方式,但有时使用应用级别的状态管理会让开发工作变得简单。 根据不同的使用场景,ArkTS提供了以下几种应用状态管理的能力: LocalStorage:使用范围在同一页面,页面与
阅读全文
摘要:
样例简介 智能台灯设备不仅接收数字管家应用下发的指令来控制台灯的开关及亮度,而且还可以加入到数字管家的日程管理中。通过日程可以设定台灯开关的时间段,使其在特定的时间段内,台灯自动打开或者熄灭,并能自动调节相应时间段台灯的亮度;通过日程管家还可以实现台灯和其他的智能设备联动。 运行效果 当设备应用启动
阅读全文
样例简介 智能台灯设备不仅接收数字管家应用下发的指令来控制台灯的开关及亮度,而且还可以加入到数字管家的日程管理中。通过日程可以设定台灯开关的时间段,使其在特定的时间段内,台灯自动打开或者熄灭,并能自动调节相应时间段台灯的亮度;通过日程管家还可以实现台灯和其他的智能设备联动。 运行效果 当设备应用启动
阅读全文
摘要:
组件化一直是移动端比较流行的开发方式,有着编译运行快,业务逻辑分明,任务划分清晰等优点,针对Android端的组件化;与Android端的组件化相比,HarmonyOS的组件化可以说实现起来就颇费一番周折,因为HarmonyOS经过更新迭代之后,最新的开发方式已经和之前兼容AOSP阶段有着很大的区别
阅读全文
组件化一直是移动端比较流行的开发方式,有着编译运行快,业务逻辑分明,任务划分清晰等优点,针对Android端的组件化;与Android端的组件化相比,HarmonyOS的组件化可以说实现起来就颇费一番周折,因为HarmonyOS经过更新迭代之后,最新的开发方式已经和之前兼容AOSP阶段有着很大的区别
阅读全文
摘要:
如果你要做的是系统级别的悬浮窗,就需要判断是否具备悬浮窗权限。然而这又不是一个标准的动态权限,你需要兼容各种奇葩机型的悬浮窗权限判断。 fun checkPermission(context: Context): Boolean = if (Build.VERSION.SDK_INT < Build
阅读全文
如果你要做的是系统级别的悬浮窗,就需要判断是否具备悬浮窗权限。然而这又不是一个标准的动态权限,你需要兼容各种奇葩机型的悬浮窗权限判断。 fun checkPermission(context: Context): Boolean = if (Build.VERSION.SDK_INT < Build
阅读全文
摘要:
样例简介 智能窗帘设备不仅接收数字管家应用下发的指令来控制窗帘开启的时间,而且还可以加入到数字管家的日程管理中。通过日程可以设定窗帘开关的时间段,使其在特定的时间段内,窗帘自动打开或者关闭;通过日程管家还可以实现窗帘和其他的智能设备联动。 运行效果 当设备应用启动之后,操作效果如下: 样例原理 如上
阅读全文
样例简介 智能窗帘设备不仅接收数字管家应用下发的指令来控制窗帘开启的时间,而且还可以加入到数字管家的日程管理中。通过日程可以设定窗帘开关的时间段,使其在特定的时间段内,窗帘自动打开或者关闭;通过日程管家还可以实现窗帘和其他的智能设备联动。 运行效果 当设备应用启动之后,操作效果如下: 样例原理 如上
阅读全文
摘要:
简介 传统的日志系统里汇聚了整个设备上所有程序运行的过程流水日志,难以识别其中的关键信息。因此,应用开发者需要一种数据打点机制,用来评估如访问数、日活、用户操作习惯以及影响用户使用的关键因素等关键信息。 HiAppEvent是在系统层面为应用开发者提供的一种事件打点机制,用于帮助应用记录在运行过程中
阅读全文
简介 传统的日志系统里汇聚了整个设备上所有程序运行的过程流水日志,难以识别其中的关键信息。因此,应用开发者需要一种数据打点机制,用来评估如访问数、日活、用户操作习惯以及影响用户使用的关键因素等关键信息。 HiAppEvent是在系统层面为应用开发者提供的一种事件打点机制,用于帮助应用记录在运行过程中
阅读全文
摘要:
智能扫地机 样例简介 此Demo采用润和的智能小车套件为硬件模型,通过修改代码具备了扫地机器人简易的避障功能及防跌落功能,并且能通过wifi接入数字管家应用场景。智能扫地机不仅能接收数字管家应用下发的指令启动或停止扫地机器人,而且还可以加入到数字管家的日程管理中。通过日程可以设定智能扫地机启动的
阅读全文
智能扫地机 样例简介 此Demo采用润和的智能小车套件为硬件模型,通过修改代码具备了扫地机器人简易的避障功能及防跌落功能,并且能通过wifi接入数字管家应用场景。智能扫地机不仅能接收数字管家应用下发的指令启动或停止扫地机器人,而且还可以加入到数字管家的日程管理中。通过日程可以设定智能扫地机启动的
阅读全文
摘要:
组件是 OpenHarmony 页面最小显示单元,一个页面可由多个组件组合而成,也可只由一个组件组合而成,这些组件可以是ArkUI开发框架自带系统组件,比如 Text 、 Button 等,也可以是自定义组件,本节笔者简单介绍一下自定义组件的语法规范。 定义组件 自定义一个组件,首先要定义好名称,尽
阅读全文
组件是 OpenHarmony 页面最小显示单元,一个页面可由多个组件组合而成,也可只由一个组件组合而成,这些组件可以是ArkUI开发框架自带系统组件,比如 Text 、 Button 等,也可以是自定义组件,本节笔者简单介绍一下自定义组件的语法规范。 定义组件 自定义一个组件,首先要定义好名称,尽
阅读全文
摘要:
使用ArkTS中的canvas实现签名板的功能,canvas画布大家都很熟悉,我们会用它经常实现一些画板或者图表、表格之类的功能。canvas签名板是我在开发APP过程中实现的一个功能,开发过程中也是遇到比较多的问题。我会按照以下几点来讲解开发整个过程: 一、屏幕旋转 实现签名板的第一个功能就是旋转
阅读全文
使用ArkTS中的canvas实现签名板的功能,canvas画布大家都很熟悉,我们会用它经常实现一些画板或者图表、表格之类的功能。canvas签名板是我在开发APP过程中实现的一个功能,开发过程中也是遇到比较多的问题。我会按照以下几点来讲解开发整个过程: 一、屏幕旋转 实现签名板的第一个功能就是旋转
阅读全文
摘要:
概述 为支撑HarmonyOS操作系统的自动化测试活动开展,我们提供了支持JS/TS语言的单元及UI测试框架,支持开发者针对应用接口进行单元测试,并且可基于UI操作进行UI自动化脚本的编写。 本指南重点介绍自动化测试框架的主要功能,同时介绍编写单元/UI自动化测试脚本的方法以及执行过程。 简介 Ha
阅读全文
概述 为支撑HarmonyOS操作系统的自动化测试活动开展,我们提供了支持JS/TS语言的单元及UI测试框架,支持开发者针对应用接口进行单元测试,并且可基于UI操作进行UI自动化脚本的编写。 本指南重点介绍自动化测试框架的主要功能,同时介绍编写单元/UI自动化测试脚本的方法以及执行过程。 简介 Ha
阅读全文
摘要:
构建第一个页面 使用文本组件 工程同步完成后,在 Project 窗口,点击 entry > src > main > ets > pages ,打开 Index.ets 文件,可以看到页面由 Row 、 Column 、 Text 组件组成。 index.ets 文件的示例如下: @Entry @
阅读全文
构建第一个页面 使用文本组件 工程同步完成后,在 Project 窗口,点击 entry > src > main > ets > pages ,打开 Index.ets 文件,可以看到页面由 Row 、 Column 、 Text 组件组成。 index.ets 文件的示例如下: @Entry @
阅读全文
摘要:
样例简介 本项目是基于BearPi套件开发的智能儿童手表系统,该系统通过与GSM模块(型号:SIM808)的通信来实现通话和定位功能。 智能儿童手表系统可以通过云和手机建立连接,同步时间和获取天气信息,通过手机下达日程安排到儿童手表,并显示在儿童手表的屏幕端,还可以通过SIM808模块获取地理位置信
阅读全文
样例简介 本项目是基于BearPi套件开发的智能儿童手表系统,该系统通过与GSM模块(型号:SIM808)的通信来实现通话和定位功能。 智能儿童手表系统可以通过云和手机建立连接,同步时间和获取天气信息,通过手机下达日程安排到儿童手表,并显示在儿童手表的屏幕端,还可以通过SIM808模块获取地理位置信
阅读全文
摘要:
OpenHarmony 应用的资源分类和资源的访问以及应用开发使用的像素单位以及各单位之间相互转换的方法。 资源分类 移动端应用开发常用到的资源比如图片,音视频,字符串等都有固定的存放目录,OpenHarmony 把这些应用的资源文件统一放在 resources 目录下的各子目录中便于开发者使用和维
阅读全文
OpenHarmony 应用的资源分类和资源的访问以及应用开发使用的像素单位以及各单位之间相互转换的方法。 资源分类 移动端应用开发常用到的资源比如图片,音视频,字符串等都有固定的存放目录,OpenHarmony 把这些应用的资源文件统一放在 resources 目录下的各子目录中便于开发者使用和维
阅读全文
摘要:
介绍 服务卡片的布局和使用,其中卡片内容显示使用了一次开发,多端部署的能力实现多设备自适应。 用到了卡片扩展模块接口,[@ohos.app.form.FormExtensionAbility] 。 卡片信息和状态等相关类型和枚举接口,[@ohos.app.form.formInfo]。 卡片数据绑定
阅读全文
介绍 服务卡片的布局和使用,其中卡片内容显示使用了一次开发,多端部署的能力实现多设备自适应。 用到了卡片扩展模块接口,[@ohos.app.form.FormExtensionAbility] 。 卡片信息和状态等相关类型和枚举接口,[@ohos.app.form.formInfo]。 卡片数据绑定
阅读全文
摘要:
介绍 本工程使用[@ohos.app.ability.common] 接口中的AbilityContext类,获取资源管理器resourceManager,使用[@ohos.resourceManager.d.ts]中的接口,展示了格式化字符串查询、基于指定屏幕分辨率查询媒体资源、获取系统资源管理对
阅读全文
介绍 本工程使用[@ohos.app.ability.common] 接口中的AbilityContext类,获取资源管理器resourceManager,使用[@ohos.resourceManager.d.ts]中的接口,展示了格式化字符串查询、基于指定屏幕分辨率查询媒体资源、获取系统资源管理对
阅读全文
摘要:
智能电子牌开发样例 样例简介 本Demo是基于hi3516dv300开发板,使用开源鸿蒙OpenHarmony 开发的应用。通过该应用不仅可以查看时间、日期以及对应的室内外温湿度、空气质量等,还可以查看当日的行程,让我们随时随地把握行程,不会遗漏任何重要的安排。 应用运行效果图 左边栏显示的是实时时
阅读全文
智能电子牌开发样例 样例简介 本Demo是基于hi3516dv300开发板,使用开源鸿蒙OpenHarmony 开发的应用。通过该应用不仅可以查看时间、日期以及对应的室内外温湿度、空气质量等,还可以查看当日的行程,让我们随时随地把握行程,不会遗漏任何重要的安排。 应用运行效果图 左边栏显示的是实时时
阅读全文
摘要:
ArkUI开发框架是一套构建 HarmonyOS / OpenHarmony 应用界面的声明式UI开发框架,它支持程序使用 if/else 条件渲染, ForEach 循环渲染以及 LazyForEach 懒加载渲染。本节笔者介绍一下这三种渲染方式的使用。 if/else条件渲染 使用 if/els
阅读全文
ArkUI开发框架是一套构建 HarmonyOS / OpenHarmony 应用界面的声明式UI开发框架,它支持程序使用 if/else 条件渲染, ForEach 循环渲染以及 LazyForEach 懒加载渲染。本节笔者介绍一下这三种渲染方式的使用。 if/else条件渲染 使用 if/els
阅读全文

浙公网安备 33010602011771号