当前位置: 首页 > news >正文

HarmonyOS【应用服务开发】在模块中添加Ability

Ability是应用/服务所具备的能力的抽象,一个Module可以包含一个或多个Ability。应用/服务先后提供了两种应用模型:

  • FA(Feature Ability)模型: API 7开始支持的模型,已经不再主推。
  • Stage模型:API 9开始新增的模型,是目前主推且会长期演进的模型。在该模型中,由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口的“舞台”,因此称这种应用模型为Stage模型。
  • Stage模型包含两种Ability组件类型:
    • UIAbility组件:包含UI界面,提供展示UI的能力,主要用于和用户交互。
    • ExtensionAbility组件:提供特定场景的扩展能力,满足更多的使用场景。当前仅OpenHarmony工程支持使用ExtensionAbility组件

Stage模型添加UIAbility

在模块中添加UIAbility

选中对应的模块,单击鼠标右键,选择New > Ability

  1. 设置Ability名称,选择是否在设备主屏幕上显示该功能的启动图标,单击Finish完成Ability创建。

在模块中添加Extension Ability

  1. 在OpenHarmony工程中选中对应的模块,单击鼠标右键,选择New > Extension Ability,选择不同的场景类型 。
  • Accessibility:用于提供辅助功能业务的能力;
  • WorkScheduler:用于提供延迟任务回调实现的能力。

2.设置Ability名称,单击Finish完成Extension Ability创建。

FA模型添加Ability

ArkTS工程与JS工程在FA模型中添加Ability的操作方式一致,本节内容以ArkTS工程为例介绍在模块中添加Ability。

创建Particle Ability

  1. 选中对应的模块,单击鼠标右键,选择New > Ability ,然后选择对应的Data Ability/Service Ability模板。

2.根据选择的Ability模板,设置Ability的基本信息。

  • Ability name:Ability类名称,由大小写字母、数字和下划线组成。
  • Language:该Ability使用的开发语言。

3.单击Finish完成Ability的创建,可以在工程目录对应的模块中查看和编辑Ability。

创建Feature Ability

  1. 选中对应的模块,单击鼠标右键,选择New > Ability ,然后选择对应的Page Ability模板。

2.根据选择的Ability模板,设置Ability的基本信息。

  • Ability name:Ability类名称,由大小写字母、数字和下划线组成。
  • Launcher ability:表示该Ability在终端桌面上是否有启动图标,一个HAP可以有多个启动图标,来启动不同的FA。
  • Language:该Ability使用的开发语言。
  • Enable Super Visual:如果选择低代码方式开发,可打开此开关。

3.单击Finish完成Ability的创建,可以在工程目录对应的模块中查看和编辑Ability。

那么很多小伙伴肯定主要是查找一些鸿蒙开发相关的内容提升自己,在这里,我为大家准备了一套《Open Harmony4.0&Next》的学习导图从入门到进阶再到南北向开发实战的一整套完整体系,想要学习了解更多鸿蒙开发的相关知识可以借鉴:《做鸿蒙应用开发到底学习些啥?》

除了以上的知识内容,我还为大家整理了一份《鸿蒙 (Harmony OS)开发学习手册》都是整理成PDF文档方式,分享给大家参考学习:《鸿蒙基础入门开发宝典!》

《鸿蒙 (Harmony OS)开发学习手册》

一、入门必看

1. 应用开发导读(ArkTS)

2. 应用开发导读(Java)

3.......

二、HarmonyOS 概念

1. 系统定义

2. 技术架构

3. 技术特性

4. 系统安全

5......

三、如何快速入门?《鸿蒙开发学习指南》

1. 基本概念

2. 构建第一个ArkTS应用

3. 构建第一个JS应用

4. ……

四、开发基础知识

1. 应用基础知识

2. 配置文件

3. 应用数据管理

4. 应用安全管理

5. 应用隐私保护

6. 三方应用调用管控机制

7. 资源分类与访问

8. 学习ArkTS语言

9. ……

五、基于ArkTS 开发

1. Ability开发

2. UI开发

3. 公共事件与通知

4. 窗口管理

5. 媒体

6. 安全

7. 网络与链接

8. 电话服务

9. 数据管理

10. 后台任务(Background Task)管理

11. 设备管理

12. 设备使用信息统计

13. DFX

14. 国际化开发

15. 折叠屏系列

16. ……

更多了解更多鸿蒙开发的相关知识可以参考:《做鸿蒙应用开发到底学习些啥?》

相关文章:

HarmonyOS【应用服务开发】在模块中添加Ability

Ability是应用/服务所具备的能力的抽象,一个Module可以包含一个或多个Ability。应用/服务先后提供了两种应用模型: FA(Feature Ability)模型: API 7开始支持的模型,已经不再主推。Stage模型:AP…...

根据屏幕尺寸设置html根字号fontSize大小并刷新

<script> // rem等比适配配置文件 // 基准大小 const baseSize 16 // 设置 rem 函数 function setRem() {// 当前页面宽度相对于 1920宽的缩放比例&#xff0c;可根据自己需要修改。const scale document.documentElement.clientWidth / 1920console.log(document.docu…...

Flutter 中的 InteractiveViewer:轻松实现交互性

在Flutter中&#xff0c;为了创建具有交互性的用户界面&#xff0c;我们通常需要使用各种手势检测和动画。然而&#xff0c;Flutter提供了一个强大而简便的小部件&#xff0c;即InteractiveViewer&#xff0c;它可以帮助我们轻松实现拖动、缩放和其他手势交互效果。本文将介绍I…...

UE4 添加按键输入事件 并在蓝图中使用按键输入节点

绑定按键 选择Edit/ProjectSettings/Engine/Input 在bindings中可以选择添加ActionMappings或则AxisMappings ActionMappings:按键事件&#xff0c;有按下和抬起两个事件&#xff0c;需要分别用两个键触发AxisMappings:输入事件&#xff0c;返回值为float&#xff0c;对于键盘…...

Go 语言命名规范:清晰、简洁、一致

Go 语言命名规范&#xff1a;清晰、简洁、一致 Go 语言是一门注重简洁和一致性的编程语言&#xff0c;良好的命名规范是代码可读性和维护性的关键因素之一。在本篇博客中&#xff0c;我们将深入探讨 Go 语言的命名规范&#xff0c;包括标识符、包名、常量、变量、函数等各个方…...

代码随想录训练营第三十期|第十天|栈与队列part01|理论基础● 232.用栈实现队列● 225. 用队列实现栈

232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; class MyQueue {Stack<Integer> in;Stack<Integer> out;public MyQueue() {in new Stack<>();out new Stack<>();}public void push(int x) {in.push(x);}public int pop() {move();retu…...

Backtrader 文档学习-Indicators混合时间框架

Backtrader 文档学习-Indicators混合时间周期 1.不同时间周期 如果数据源在Cerebro引擎中具有不同的时间范围和不同的长度&#xff0c;指示器将会终止。 比如&#xff1a;data0是日线&#xff0c;data1是月线 。 pivotpoint btind.PivotPoint(self.data1) sellsignal self…...

网络攻击与检测防御:维护数字安全的关键挑战

随着数字化时代的深入&#xff0c;网络攻击已成为企业和个人面临的严峻挑战之一。本文将深入探讨不同类型的网络攻击&#xff0c;以及有效的检测和防御策略&#xff0c;以确保网络系统的安全性和稳定性。 1. 常见网络攻击类型&#xff1a; DDoS 攻击&#xff1a;分布式拒绝服…...

使用 Vector 在 Kubernetes 中收集日志

多年来&#xff0c;我们一直在使用 Vector 在我们的 Kubernetes 平台中收集日志&#xff0c;并成功地将其应用于生产中以满足各种客户的需求&#xff0c;并且非常享受这种体验。因此&#xff0c;我想与更大的社区分享它&#xff0c;以便更多的 K8s 运营商可以看到潜力并考虑他们…...

ardupilot开发 --- 固件定制(OEM) 篇

0. 前言 固件功能定制OEM Customization&#xff1a; 原厂设备制造商OEM&#xff08;Original Equipment Manufacturer&#xff09;、代工功能勾选参数预设固件名称自定义 1. 基于某个飞控硬件来定制自己的飞控产品 可以自定义的包括&#xff1a;固件名称、预设参数、lua脚本…...

爬虫代理IP在电商行业的应用

随着互联网的快速发展&#xff0c;电商行业已经成为人们购物的主要渠道之一。在电商行业中&#xff0c;数据分析和挖掘至关重要。爬虫代理IP作为一种能够提供大量模拟请求和收集数据的工具&#xff0c;被广泛应用于电商行业。下面介绍爬虫代理IP在电商行业中的应用。 1、保护隐…...

Vue配置语法检查及关闭语法检查的说明

1. 第一种方式&#xff1a;//eslint-disable-next-line 2. 第二种方式&#xff1a;/*eslint-disable*/ 3. 第三种方式&#xff1a;vue.config.js中配置 &#xff0c;具体配置如下&#xff1a; const { defineConfig } require(vue/cli-service)module.exports defineConfig…...

【Linux】yum

个人主页 &#xff1a; zxctsclrjjjcph 文章封面来自&#xff1a;艺术家–贤海林 如有转载请先通知 yum 1. 什么是yum&#xff1f;2. Linux系统(Centos)的生态3. yum的相关操作4. yum的本地配置5. 如何安装软件 1. 什么是yum&#xff1f; yum是一个软件下载安装的一个客户端&a…...

安装sftpgo

1.下载安装包;选择自己需要的cpu架构和操作系统的版本 https://github.com/drakkan/sftpgo/releases/tag/v2.5.6推荐使用版本下载地址 https://github.com/drakkan/sftpgo/releases/download/v2.5.6/sftpgo_v2.5.6_linux_x86_64.tar.xz2.解压文件到某个文件夹,根据需要修改配…...

JS-元素尺寸与位置

通过js的方式&#xff0c;得到元素在页面中的位置 获取宽高 元素.offsetWidth 元素.offsetHeight 1&#xff09;获取元素的自身宽高、包括元素自身设置的宽高paddingborder 2&#xff09;获取出来的是数值&#xff0c;方便计算 3&#xff09;注意&#xff1a;获取的是可视…...

2024-01-15(SpringMVCMybatis)

1.拦截器&#xff1a;如果我们想在多个handler方法(controller中的方法)执行之前或者之后都进行一些处理&#xff0c;甚至某些情况下需要拦截掉&#xff0c;不让handler方法执行&#xff0c;那么就可以使用SpringMVC为我们提供的拦截器。 拦截器和过滤器的区别&#xff1a;过滤…...

Node+Express编写接口---前端

前端页面 vue_node_admin: 第一个以node后端,vue为前端的后台管理项目https://gitee.com/ah-ah-bao/vue_node_admin.git...

防火墙技术

防火墙&#xff08;英语&#xff1a;Firewall&#xff09;技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备&#xff0c;帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障&#xff0c;以保护用户资料与信息安全性的一种技术。 防火墙技术的功能主要在于及…...

图灵日记之java奇妙历险记--String类

目录 String常用方法字符串构造String对象的比较字符串查找char charAt(int index)int indexOf(int ch)int indexOf(int ch, int fromIndex)int indexOf(String str)int indexOf(String str, int fromIndex)int lastIndexOf(String str)int lastIndexOf(String str, int fromIn…...

代码随想录算法训练营第六天| 242 有效的字母异位词 349 两个数组的交集 202 快乐数 1 两数之和

目录 242 有效的字母异位词 349 两个数组的交集 202 快乐数 1 两数之和 242 有效的字母异位词 排序 class Solution { public:bool isAnagram(string s, string t) {sort(s.begin(),s.end());sort(t.begin(),t.end());return t s;} }; 时间复杂度O(nlogn) 空间复杂度O(l…...

WarcraftHelper:魔兽争霸III终极增强插件 - 简单三步让经典游戏焕发新生

WarcraftHelper&#xff1a;魔兽争霸III终极增强插件 - 简单三步让经典游戏焕发新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典魔兽争…...

Warcraft Helper:让经典魔兽争霸3在现代系统高效运行的智能解决方案

Warcraft Helper&#xff1a;让经典魔兽争霸3在现代系统高效运行的智能解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper Warcraft Helper是一款…...

深度技术解析:Lenovo Legion Toolkit 高级性能调优与系统集成指南

深度技术解析&#xff1a;Lenovo Legion Toolkit 高级性能调优与系统集成指南 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit …...

stm32F103C8T6标准库定时器应用流水灯1——相关的寄存器

目录1.SysTick介绍2.芯片架构2.1 M3系统架构图3.SysTick使用4.readme5.定时器中断配置5.1 core_cm3.h文件5.1.1 函数头注释部分5.1.2 函数名5.1.3 判断重装值是否超过 24 位5.1.4 设置重装载寄存器5.1.5 设置中断优先级5.1.6 清空当前计数器5.1.7 配置 CTRL 寄存器&#xff08;…...

三周、1.81倍、百亿:中国AI的压制性时刻

调用量飙升、百亿美元涌入、智能体密集落地——过去七天&#xff0c;中国AI正在改写全球游戏规则。与此同时&#xff0c;内容创作者的“AI红利窗口”也正在打开。连续三周&#xff0c;中国AI压住美国5月18日&#xff0c;OpenRouter最新数据显示&#xff0c;5月11日至17日当周&a…...

Mythos大模型:跨栈系统直觉与自主运维能力解析

1. 这不是一次普通升级&#xff1a;Mythos 的能力跃迁本质是什么&#xff1f;如果你过去三年持续关注大模型演进&#xff0c;大概率会记得2023年Claude 2发布时那种“稳扎稳打”的观感——推理更连贯、长文本更可靠、越狱难度更高&#xff0c;但没人会说它“颠覆了什么”。2024…...

老旧小区门禁改造:业主权益与合规指引

一、费用来源与使用规范小区门禁改造并非全部由业主自费承担&#xff0c;可按合规渠道统筹资金&#xff0c;优先使用公共补贴与专项维修资金。资金使用优先级&#xff1a;政府老旧小区改造财政补贴&#xff1e;住宅专项维修资金&#xff1e;业主自筹财政补贴&#xff1a;老旧小…...

原来赛事专用匹克球工厂还有这么多门道?你了解吗?

引言在匹克球运动蓬勃发展的当下&#xff0c;赛事专用匹克球的品质至关重要。而赛事专用匹克球工厂背后&#xff0c;其实隐藏着诸多门道。泉州凯瑞麟体育用品有限公司作为行业内的佼佼者&#xff0c;在这方面有着独特的技术与经验。核心材料与技术创新赛事专用匹克球对核心材料…...

Unity中用Sentis部署YOLOv8 Nano实现移动端实时目标检测

1. 为什么是YOLOv8 Nano Sentis&#xff1f;不是ONNX Runtime&#xff0c;也不是TensorRT&#xff1f;去年在做一个AR巡检项目时&#xff0c;我卡在物体检测环节整整三周。客户要求在中端安卓手机&#xff08;骁龙665&#xff09;上实现每秒15帧以上的实时检测&#xff0c;同时…...

Unity哥特UI资源包:SDF字体与Shader Graph工程化实践

1. 为什么哥特UI在游戏开发中长期被低估&#xff0c;又为何现在必须认真对待“哥特UI”这个词&#xff0c;很多Unity开发者第一反应是&#xff1a;不就是黑底、尖角、浮雕字、带玫瑰纹样的按钮吗&#xff1f;配个暗红渐变完事。我2019年接手一个中世纪黑暗奇幻RPG时也这么想——…...