优惠码 第95页

鸿蒙OS 开发基础知识

鸿蒙OS 应用基础知识 鸿蒙OS 应用配置文件 鸿蒙OS 资源文件 鸿蒙OS 应用数据管理 鸿蒙OS 应用权限管理 鸿蒙OS 应用隐私保护

鸿蒙OS 入门

鸿蒙OS 概述 鸿蒙OS 开发基础知识 鸿蒙OS 快速入门

鸿蒙OS 概述

鸿蒙OS 系统定义 鸿蒙OS 技术特性 鸿蒙OS 技术架构 鸿蒙OS 系统安全

鸿蒙OS 线程间通信开发指导

场景介绍 EventHandler开发场景 EventHandler 的主要功能是将 InnerEvent 事件或者 Runnable 任务投递到其他的线程进行处理,其使用的场景包括: 开发者需要将 InnerEvent 事件投递到新的线程,按照优先级和延时进行处理。投递时,EventHandler 的优先级可在 IMMEDIATE、HIGH、LOW、IDLE 中选择,并设置合适的 delayTime。 开发者需要将 Runnable 任务投递到新的线程,并按照优先级和延时进行处理。投递时, EventHandler 的优先级可在 IMMEDIATE、HIGH、LOW、IDLE 中选择,并设置合适的 delayTime。 开发者需要在新创建的线程里投递事件到原线程进行处理。 EventRunner工作模式 EventRunner 的工作模式可以分为托管模式和手动模式。两种模式是在调用 EventRunner 的 create() 方法时,通过选择不同的参数来实现的,详见 API 参考。默认为托管模式。 托管模式:不需要开发者调用 run() 和 stop() 方法去启动和停止 EventRunner。当 EventRunner 实例化时,系统调用 run() 来启动 EventRunner;当 EventRunner 不被引用时,系统调用 stop() 来停止 EventRunner。 手动模式:需要开发者自行调用 EventRunner 的 run() 方法和 stop() 方法来确保线程的启动和停止。 接口说明 EventHandler EventHandler 的属性 Priority (优先级)介绍: EventRunner 将根据优先级的高低从事件队列中获取事件或者 Runnable 任务进行处理。 属性 描述 Priority.IMMEDIATE 表示事件被立即投递 Priority.HIGH 表示事件先于 LOW 优先级投递 Priority.LOW 表示事件优于 IDLE 优先级投递,事件的默认优先级是 LOW Priority.IDLE 表示在没有其他事件的情况下,才投递该事件 EventHandler 的主要接口介绍: 接口名 描述 EventHandler(EventRunner runner) 利用已有的 EventRunner 来创建 EventHandler current() 在processEvent 回调中,获取当前的 EventHandler processEvent(InnerEvent event) 回调处理事件,由开发者实现 sendEvent(InnerEvent event) 发送一个事件到事件队列,延时为 0 ms, 优先级为 LOW sendEvent(InnerEvent event, long delayTime) 发送一个延时事件到事件队列,优先级为 LOW sendEvent(InnerEvent event, long delayTime, EventHandler.Priority priority) 发送一个指定优先级的延时事件到事件队列 sendEvent(InnerEvent event, EventHandler.Priority priority) 发送一个指定优先级的事件到事件队列,延时为 0 ms sendSyncEvent(InnerEvent event) 发送一个同步事件到事件队列,延时为 0 ms,优先级为 LOW sendSyncEvent(InnerEvent event, EventHandler.Priority priority) 发送一个指定优先级的同步事件到事件队列,延时为 0 ms,优先级不可以是 IDLE postSyncTask(Runnable task) 发送一个 Runnable 同步任务到事件队列,延时为 0 ms, 优先级为 LOW postSyncTask(Runnable task, EventHandler.Priority priority) 发送一个指定优先级的 Runnable 同步任务到事件队列,延时为 0 ms postTask(Runnable task) 发送一个 Runnable 任务到事件队列,延时为 0 ms,优先级为 LOW postTask(Runnable task, long delayTime) 发送一个 Runnable 延时任务到事件队列,优先级为 LOW postTask(Runnable task, long delayTime, EventHandler.Priority priority) 发送一个指定优先级的 Runnable 延时任务到事件队列 postTask(Runnable task, EventHandler.Priority priority) 发送一个指定优先级的 Runnable 任务到事件队列,延时为 0 ms sendTimingEvent(InnerEvent event, long taskTime) 发送一个定时事件到队列,在 taskTime 时间执行,如果 taskTime 小于当前时间,立即执行,优先级为 LOW sendTimingEvent(InnerEvent event, long taskTime, EventHandler.Priority priority) 发送一个带优先级的事件到队列,在 taskTime 时间执行,如果 taskTime 小于当前时间,立即执行 postTimingTask(Runnable task, long taskTime) 发送一个 Runnable 任务到队列,在 taskTime 时间执行,如果 taskTime 小于当前时间,立即执行,优先级为 LOW postTimingTask(Runnable task, long taskTime, EventHandler.Priority priority) 发送一个带优先级的 Runnable 任务到队列,在 taskTime 时间执行,如果 taskTime 小于当前时间,立即执行 removeEvent(int eventId) 删除指定 id 的事件...

鸿蒙OS 自定义组件-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

鸿蒙OS 自定义组件

JS UI 框架支持自定义组件,用户可根据业务需求将已有的组件进行扩展,增加自定义的私有属性和事件,封装成新的组件,方便在工程中多次调用,提高页面布局代码的可读性。具体的封装方法示例如下: 构建自定义组件 <!-- comp.hml --> <div class="item"> <text class="title-style">{{title}}</text> <text class="text-style" onclick="childClicked" focusable="true">点击这里查看隐藏文本</text> <text class="text-style" if="{{show}}">hello world</text> </div> /* comp.css */ .item { width: 700px; flex-direction: column; height: 300px; align-items: center; margin-top: 100px; } .text-style { width: 100%; text-align: center; font-weight: 500; font-family: Courier; font-size: 36px; } .title-style { font-weight: 500; font-family: Courier; font-size: 50px; color: #483d8b; } 引入自定义组件 <!-- xxx.hml --> <element name='comp' src='../../common/component/comp.hml'></element> <div class="container"> <text>父组件:{{text}}</text> <comp title="自定义组件" show-object="{{show}}" @event-type1="textClicked"></comp> </div> /* xxx.css */ .container { background-color: #f8f8ff; flex: 1; flex-direction: column; align-content: center; } // xxx.js export default { data: { text: '开始', show: false, }, textClicked (e) { this.text = e.detail.text; }, } 本示例中父组件通过添加自定义属性向子组件传递了名称为 title 的参数,子组件在 props 中接收,同时子组件也通过事件绑定向上传递了参数 text,接收时通过 e.detail 获取,要绑定子组件事件,父组件事件命名必须遵循事件绑定规则,详见 自定义组件开发规范。自定义组件效果如下图所示: 图1 自定义组件静态效果...

鸿蒙OS 配置文件的元素

此部分提供“config.json”文件中所有属性的详细解释。 配置文件的内部结构 应用的配置文件“config.json”中由“app”、“deviceConfig”和“module”三个部分组成,缺一不可。配置文件的内部结构说明参见表1。 表1 配置文件的内部结构说明 属性名称 含义 数据类型 是否可缺省 [app] 表示应用的全局配置信息。同一个应用的不同 HAP 包的“app”配置必须保持一致。 对象 否 [deviceConfig] 表示应用在具体设备上的配置信息。 对象 否 [module] 表示 HAP 包的配置信息。该标签下的配置只对当前 HAP 包生效。 对象 否 app对象的内部结构 app对象包含应用的全局配置信息,内部结构说明参见表2。 表2 app对象的内部结构说明 属性名称 子属性名称 含义 数据类型 是否可缺省 bundleName – 表示应用的包名,用于标识应用的唯一性。采用反域名形式的字符串表示(例如,com.huawei.himusic)。建议第一级为域名后缀“com”,第二级为厂商/个人名,第三级为应用名,也可以采用多级。支持的字符串长度为7~127字节。 字符串 否 vendor – 表示对应用开发厂商的描述。字符串长度不超过255字节。 字符串 可缺省,缺省值为空。 version – 表示应用的版本信息。 对象 否 code 表示应用的版本号,仅用于 HarmonyOS 管理该应用,对用户不可见。取值为大于零的整数。 数值 否 name 表示应用的版本号,用于向用户呈现。取值可以自定义。 字符串 否 apiVersion – 表示应用依赖的 HarmonyOS 的 API 版本。 对象 否 compatible 表示应用运行需要的API最小版本。取值为大于零的整数。 数值 否 target 表示应用运行需要的 API 目标版本。取值为大于零的整数。 数值 可缺省,缺省值为应用所在设备的当前 API 版本。 app示例: "app": { "bundleName": "com.huawei.hiworld.example", "vendor": "huawei", "version": { "code": 2, "name": "2.0" } "apiVersion": { "compatible": 3, "target": 3 } } deviceConfig对象的内部结构 deviceConfig包含在具体设备上的应用配置信息,可以包含default、car、tv、wearable、liteWearable、smartVision等属性。default标签内的配置是适用于所有设备通用,其他设备类型如果有特殊的需求,则需要在该设备类型的标签下进行配置。内部结构说明参见表3。 表3 deviceConfig对象的内部结构说明 属性名称 含义 数据类型 是否可缺省 default 表示所有设备通用的应用配置信息。 对象 否 car 表示车机特有的应用配置信息。 对象 可缺省,缺省为空。 tv 表示智慧屏特有的应用配置信息。 对象 可缺省,缺省为空。 wearable 表示智能穿戴特有的应用配置信息。 对象 可缺省,缺省为空。 liteWearable 表示轻量级智能穿戴特有的应用配置信息。 对象 可缺省,缺省为空。 smartVision 表示智能摄像头特有的应用配置信息。 对象 可缺省,缺省为空。...

鸿蒙OS IAbilityContinuation

启用在分布式系统中实施迁移的 Ability。 您可以使用Ability提供的迁移功能在分布式系统中的本地设备和远程设备之间迁移数据。实现此接口的能力或能力切片具有迁移能力。您可以通过在本地设备上调用 Ability#continueAbility()或 AbilitySlice#continueAbility()来发起迁移请求,然后实施此接口中提供的方法来保存或还原应用程序数据。保存的数据由分布式数据管理模块管理。启动功能后,远程设备可以获取并恢复已保存的数据。通过这种方式,本地设备上的功能将迁移到远程设备上。 方法总结 修饰符和类型 方法 描述 void onCompleteContinuation(int结果) 本地能力迁移完成后回叫。 默认作废 onRemoteTerminated() 在针对从本地设备到远程设备的能力执行了可逆迁移之后,当远程设备上的运行能力被破坏时调用,以通知本地设备。 布尔值 onRestoreData(IntentParams restoreData) 在远程设备上创建功能后,立即恢复在该功能上的迁移过程中保存的用户数据。 布尔值 onSaveData(IntentParams saveData) 保存在运行时生成的本地功能的用户数据(carried in the IntentParams  object)。 布尔值 onStartContinuation() 询问用户是否开始迁移。 方法细节 在开始继续 boolean onStartContinuation() 询问用户是否开始迁移。 当本地能力发起迁移请求时,将调用此方法。 如果该能力未实现此方法,则无法迁移此能力,并返回 false。如果 AbilitySlice 没有实现此方法,则不会影响其宿主功能是否可以迁移,并且默认情况下返回 true。 返回值: 如果用户允许迁移,则返回 true;否则,返回 false。 关于保存数据 boolean onSaveData(IntentParams saveData) 保存在运行时生成的本地功能的用户数据(carried in the IntentParams object)。触发迁移并准备好本地功能后,当分布式计划程序服务从本地功能请求数据时,将调用此方法。 参数: 参数名称 参数说明 保存数据 表示要保存的用户数据。 返回值: 如果成功保存数据,则返回 true;否则,返回 true。否则返回 false。 关于还原数据 布尔值 onRestoreData(IntentParams restoreData) 在远程设备上创建功能后,立即恢复在该功能上的迁移过程中保存的用户数据。仅在还原用户数据之后,才开始对该功能进行生命周期调度。 参数: 参数名称 参数说明 restoreData 指示要还原的用户数据。 返回值: 如果数据已成功还原,则返回 true;否则,返回 false。否则返回 false。 完全延续 onCompleteContinuation(int 结果)无效 本地能力迁移完成后回叫。 您可以在迁移完成后定义处理逻辑。例如,您可以显示提示,通知用户迁移成功,然后退出本地功能。 参数: 参数名称 参数说明 结果 指示迁移结果代码,由分布式系统定义。 在远程终端上 默认void onRemoteTerminated() 在针对从本地设备到远程设备的能力执行了可逆迁移之后,当远程设备上的运行能力被破坏时调用,以通知本地设备。通过调用Ability#continueAbilityReversible()或 Ability#continueAbilityReversible(String)触发可逆迁移 。

鸿蒙OS 分布式任务调度概述

在 HarmonyO S中,分布式任务调度平台对搭载 HarmonyOS 的多设备构筑的“超级虚拟终端”提供统一的组件管理能力,为应用定义统一的能力基线、接口形式、数据结构、服务描述语言,屏蔽硬件差异;支持远程启动、远程调用、业务无缝迁移等分布式任务。 分布式任务调度平台在底层实现 Ability(分布式任务调度的基本组件)跨设备的启动/关闭、连接及断开连接以及迁移等能力,实现跨设备的组件管理: 启动和关闭:向开发者提供管理远程 Ability 的能力,即支持启动 Page 模板的 Ability,以及启动、关闭 Service 和 Data 模板的 Ability。 连接和断开连接:向开发者提供跨设备控制服务( Service 和 Data 模板的 Ability )的能力,开发者可以通过与远程服务连接及断开连接实现获取或注销跨设备管理服务的对象,达到和本地一致的服务调度。 迁移能力:向开发者提供跨设备业务的无缝迁移能力,开发者可以通过调用 Page 模板 Ability 的迁移接口,将本地业务无缝迁移到指定设备中,打通设备间壁垒。 约束与限制 开发者需要在 Intent 中设置支持分布式的标记(例如:Intent.FLAG_ABILITYSLICE_MULTI_DEVICE 表示该应用支持分布式调度),否则将无法获得分布式能力。 开发者通过在 config.json 中添加分布式数据传输的权限申请:{“name”: “ohos.permission.servicebus.ACCESS_SERVICE”},获取跨设备连接的能力。 PA( Particle Ability,Service 和 Data 模板的 Ability)的调用支持连接及断开连接、启动及关闭这四类行为,在进行调度时: 开发者必须在 Intent 中指定 PA 对应的 bundleName 和 abilityName。 当开发者需要跨设备启动、关闭或连接 PA 时,需要在 Intent 中指定对端设备的 deviceId。开发者可通过如设备管理类 DeviceManager 提供的 getDeviceList 获取指定条件下匿名化处理的设备列表,实现对指定设备 PA 的启动/关闭以及连接管理。 FA(Feature Ability,Page 模板的 Ability)的调用支持启动和迁移行为,在进行调度时: 当启动 FA 时,需要开发者在 Intent 中指定对端设备的 deviceId、bundleName 和 abilityName。 FA 的迁移实现相同 bundleName 和 abilityName 的 FA 跨设备迁移,因此需要指定迁移设备的 deviceId。

鸿蒙OS 开发工具下载-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

鸿蒙OS 开发工具下载

HUAWEI DevEco Studio 下载地址 面向华为终端全场景多设备的一站式分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真和全方位的质量与安全保障。 [立即下载] [查看文档] 关键特性  融合 UX 设计视觉设计与 UI 界面开发打通,支撑 UI 界面高效开发,确保界面实现与视觉设计的一致性。  分布式多端开发应用开发支持多端界面实时预览和分布式能力快速集成,实现应用多端运行和分布式协同。  分布式多端调测多语言、多进程、多设备的一站式调试,提升复杂环境下的应用调试效率。  多端模拟仿真提供智慧屏、智能穿戴等多终端设备的模拟仿真环境,支持多场景构造,提高代码调试和应用测试效率。  全方位质量保障提供应用从代码级到二进制级的全套测试框架和服务,支持应用单元测试和兼容性、稳定性、性能、功耗等测试。  安全纯净提供安全隐私、漏洞、恶意广告等自动检测服务,确保应用使用体验。 DevEco Studio 2.0 Beta1 Platform DevEco Studio Package Size SHA-256 checksum 下载 Windows (64-bit) devecostudio-windows-tool-2.0.8.203.zip  616MB b8438f3ab5ba00792189291c7227b9d6896cfed14118b139b34da125d983019c   DevEco Studio 2.0 Beta3 Platform DevEco Studio Package Size SHA-256 checksum 下载 Windows (64-bit) devecostudio-windows-tool-2.0.12.201.zip 616M df89b8e04a0c535351eb9b78b3f86e61d4317b6c93b5d6fbbe72e55c5e5d9b1e 立即下载  Mac devecostudio-mac-tool-2.0.12.201.zip 679M 464625f6f2fa001393342ac32ed915cc2ca124035faf35034db24375b318894a 立即下载  系统要求 Windows macOS 操作系统:Windows10 64 位内存:8G 及以上硬盘:100G 及以上分辨率:1280*800 及以上 操作系统:Mac 10.13/10.14/10.15内存:8GB及以上硬盘:100GB及以上分辨率:1280*800像素及以上

鸿蒙OS Ability ViewStatus

https://www.w3cschool.cn/harmonyos/harmonyos-4lhg3ct1.html从供应商处获取AbilityForm客户端的查看状态。 供应商调用的回调方法ViewListener#onTouchEvent(AbilityForm,ViewsStatus)中使用ViewsStatus来查询客户端上组件的状态。 嵌套类摘要 从接口ohos.utils继承的嵌套类/接口。Sequenceable Sequenceable.Producer< T > 领域摘要 修饰符和类型 领域 描述 静态String KEY_TEXT 指示包含在AbilityForm供应商上调用的 ViewsStatus#getStatusByViewId(int)方法返回的Intent中的文本键。 方法总结 修饰符和类型 方法 描述 Intent getFullPageIntent() 获得在供应商上开始全页显示的Intent。 Intent getStatusByViewId(int viewId) 根据指定的组件ID获取组件的状态。 布尔值 marshalling​(Parcel) 将此Sequenceable对象封送到一个[Parcel中]https://www.w3cschool.cn/harmonyos/harmonyos-8z2j3cwt.html)。 布尔值 unmarshalling(Parcel) 解组从这个排序的对象Parcel。 从类 java.lang 继承的方法。object clone,equals,finalize,getClass,hashCode,notify,notifyAll,toString,wait,wait,wait 从接口ohos.utils继承的方法。Sequenceable hasFileDescriptor 领域细节 KEY_TEXT 公共静态最终StringKEY_TEXT 指示包含在AbilityForm供应商上调用的 ViewsStatus#getStatusByViewId(int)方法返回的Intent中的文本键。 也可以看看: Constant Field Values 方法细节 getStatusByViewId 公共IntentgetStatusByViewId(int viewId) 根据指定的组件ID获取组件的状态。 您可以基于返回的Intent对象中包含的键(例如,ViewsStatus#KEY_TEXT)获取所需的信息。 参数: 参数名称 参数说明 viewId 标识组件。该值不能为负数。 返回值: 返回包含组件信息的Intent对象。 getFullPageIntent 公共IntentgetFullPageIntent() 获得在供应商上开始全页显示的Intent。 如果供应商已调用AbilityForm#registerViewListener(int,ViewListener)来侦听AbilityForm的所有单击事件,则它将在单击事件时得到通知,然后使用此方法获取用于启动全页显示的Intent。该Intent可能包含由供应商设置的特殊Intent参数。 返回值: 返回用于开始全页显示的Intent。 编组 公共布尔编组(Parcel) 从接口复制的描述:Sequenceable将此Sequenceable对象编组为Parcel。 指定者: 在Sequenceable接口中marshalling​ 参数: 参数名称 参数说明 out 指示Parcel到了排序的对象将被封的对象.. 返回值: 如果封送成功,则返回true;否则,返回true。否则返回false。 也可以看看: Sequenceable.marshalling(Parcel) 解组 公共布尔解组(Parcel中) 从接口复制的描述:Sequenceable从Parcel解组此Sequenceable对象。 指定者: 在接口Sequencel中unmarshalling 参数: 参数名称 参数说明 in 指示已将Sequenceable对象编组到的Parcel对象。 返回值: 如果解组成功,则返回true;否则,返回false。否则返回false。 也可以看看: Sequenceable.unmarshalling(Parcel)