HiView插件开发 鸿蒙实战开发学习
本文目录导航:
- 鸿蒙实战开发学习:【HiView插件开发】
- 什么是事件驱动编程?列出三个常用的windows事件
- JavaScript中,1)何为事件驱动模式(文字陈述和代码) 2)JS中事件类型分类(用代码举例说明)
鸿蒙实战开发学习:【HiView插件开发】
Hiview是一个跨平台的终端设备维护测试服务集成系统,由插件管理平台和插件实现各自功能构成。
本文详述Hiview插件开发全流程。
插件概念涉及事件源、流水线等基本概念。
Hiview插件是运行在Hiview进程内,与Hiview二进制一同发布的,专门用于维护、故障管理的独立功能模块。
插件可以是事件驱动的,分为自驱动事件源与外部事件驱动。
事件驱动方式包括流水线驱动与订阅查询驱动。
单个插件支持静态加载(永不卸载)与插件代理加载,代理加载包括开机不加载、运行时动态加载与卸载、开机加载后再动态加载卸载。
选择代理加载的插件可动态卸载与加载,在卸载后,当外部事件触发,可再次加载。
特定插件通过继承Plugin类实现功能,以多态形式存在于插件管理平台中。
插件的事件处理或驱动机制需继承Plugin并实现相关方法或接口。
插件生命周期目前仅包含OnLoad和OnUnload两个回调。
动态插件表示以形式体现的单一实体,名称为。
动态插件与动态加载卸载插件、插件包的没有关系。
动态插件与静态插件功能无异,仅区别于实现形式。
插件注册方式有三种。
事件源定义继承EventSource实现特定功能,事件源是特殊插件,继承Plugin实现方法或接口。
事件源实例在文档中展示。
插件包概念允许将多个插件编译为独立形式,对应一个plugin_config文件。
插件包在平台中独立运行,内部功能与Hiview二进制中插件无差异。
流水线用于多个插件协同完成任务,顺序执行。
事件源与流水线对应,事件源可以绑定多个流水线,流水线包含多个插件。
事件源初始化后调用PublishPipelineEvent向绑定流水线分发事件,流程在文档中示例。
Hiview配置通过平台配置文件指定插件配置文件路径等信息。
平台配置文件默认位于/system/etc/hiview/hiview_platform_config,内容包括平台配置信息。
插件配置通过编写build/plugin_文件配置信息,编译自动生成plugin_config文件。
插件配置需包含内容示例。
独立插件包的插件配置直接编写xxx_plugin_config,不编写plugin_。
plugin_config文件示例完整内容可参考文档。
插件平台提供事件驱动模式,事件类型在文档文件中定义。
事件订阅分为单独订阅者EventListener模式与插件中动态订阅者模式。
平台功能接口通过调用GetHiviewContext()获取上下文,主要功能接口示例。
以事件源为例讲解注册、流转、监控机制,鸿蒙OpenHarmony知识已更新。

什么是事件驱动编程?列出三个常用的windows事件
事件驱动编程是一种编程范式,其中程序的执行取决于事件的发生和处理。
在事件驱动编程中,程序通常由一个事件循环控制,等待事件的发生,然后调用相应的事件处理程序来响应事件。
事件可以是用户交互、传感器输入、系统通知等。
在Windows操作系统中,有许多常见的事件类型,以下是其中三个常用的Windows事件:
JavaScript中,1)何为事件驱动模式(文字陈述和代码) 2)JS中事件类型分类(用代码举例说明)
12.2事件驱动与事件处理事件驱动是JavaScript响应用户操作的一种处理方式,而事件处理是JavaScript响应用户操作所调用的程序代码。
12.2.1事件驱动在多年以前,计算机程序通常是以批处理的模式运行。
所谓批处理,就是开发者事先写好一些代码,再将这些代码一次运行。
这种处理方式有点类似于通过HTML代码直接编写的网页。
浏览器只是将HTML代码逐行解析,并显示在浏览器窗口。
后来,在批处理模式中,开发者可以加入一些特定的代码,在程序批处理期间,可以停下来等待用户输入一些信息,并根据用户输入的信息来判断和执行某个程序分支,这就使程序有了初步的交互性。
随着鼠标、触摸屏等设备的出现,批处理时代就逐渐远去,取而代之的是事件驱动的时代。
当然,批处理也还能使用,只是使用的范围和频率比事件驱动要少得多。
以鼠标为例,在事件驱动中,用户可以使用鼠标单击等方式进行操作,程序则根据鼠标指针的位置以及单击的方式进行响应。
JavaScript使用的就是这种事件驱动的程序设计方式。
在JavaScript中,事件(Even)包括以下两个方面:● 用户在浏览器中产生的操作是事件,如单击鼠标、按下键盘上的键等。
● 文档本身产生的事件,如文档加载完毕、卸载文档等,都是事件。
12.2.2事件处理在JavaScript中,浏览器会使用事件来通知JavaScript程序响应用户的操作。
事件的类型有很多种,如鼠标事件、键盘事件、加载与卸载事件、得到焦点与失去焦点事件等。
在事件产生的时候,浏览器会调用一个JavaScript程序来响应这个事件,这就是JavaScript的事件处理方式。
要想让浏览器可以调用合适的JavaScript程序,就必须要做到以下 3点:(1)设置HTML文档中响应事件的元素。
在一个HTML文档中,并非所有元素都会去响应事件。
就鼠标单击事件而言,一般在HTML文档的正文不会响应该事件,但在按钮中一般都会响应该事件。
(2)设置元素响应事件的类型。
在确定了哪些元素响应事件之后,要设置该元素响应事件的类型。
例如,一个按钮通常会响应鼠标单击事件(click事件),而一个下拉列表框通常会响应选项变化事件(change事件)。
在同一个元素中,也可以响应多个事件。
例如,一个超链接,在鼠标移动到该超链接上时,可以响应鼠标移动到对象上事件(mouseover事件),当鼠标从超链接上移开时,又可以响应鼠标移开事件(mouseout事件)。
(3)设置响应事件的程序。
为了让浏览器可以响应事件,必须要设置响应事件的程序。
例如一个按钮被单击时,浏览器会响应这个click事件,此时浏览器就会在JavaScript中寻找一个合适的程序,并运行该程序。
这个程序可以是用户自定义的函数,也可以是一段JavaScript代码,还可以是JavaScript内置对象的方法等。
看看这个更详细