零基础学习鸿蒙开发,掌握这一点就够了!

要想入门鸿蒙开发,扎实的基础知识是不可或缺的,所以,今天我就教大家一个鸿蒙应用开发基础知识点------Ability。

Ability是HarmonyOS应用程序可以提供的功能的抽象。HarmonyOS应用程序的能力分为两种类型:Feature Ability 和 Particle Ability。Feature Ability 代表具有UI的功能,并旨在与用户进行交互。

Particle Ability表示没有UI的能力,并且主要用于提供对FA的支持,例如,提供计算功能作为后台服务或提供数据访问功能作为数据存储库。两种功能为您提供了不同的模板,以供您实现不同的功能。

当前,HarmonyOS提供以下类型的能力模板: 做鸿蒙应用开发到底学习些啥? (qq.com)

注意:在下面的描述中,页面,服务或数据功能表示使用相应模板的功能,而单独的功能表示使用任何类型的模板的功能。

1、页面:显示UI的功能

UI通过AbilitySlice呈现。你必须重写onStart(ohos.aafwk.content.Intent)方法,并使用setMainRoute(java.lang.String)和addActionRoute(java.lang.String,java.lang.String)方法来配置Page功能的条目。

2、服务:一种在后台运行且没有UI的功能

它用于开发始终在后台运行或与其他功能连接的服务。当服务能力与其他能力连接时,将返回一个远程对象,您可以使用该远程对象来调用该服务能力提供的功能。

数据:一种用于操作数据且没有UI的功能。它提供了用于插入,删除,更新和查询数据以及打开文件的方法。你必须实现这些方法。

3、Ability简述

每个应用程序都有一个配置文件:config.json。该文件存储在Java代码的根目录中。

应用程序文件结构的说明如下:

该条目存储应用程序的代码,资源文件和配置文件。文件夹名称是可编辑的。

entry / libs存储第三方库文件。创建项目时,IDE将自动生成此目录。

entry / src / main / java用于代码开发。你可以根据需要在此目录中更改文件名。创建项目时,IDE将自动生成此目录。

entry / src / main / resources / base / media为你的应用程序存储PNG和JPG图像文件。创建项目时,IDE将自动生成此目录。

entry / src / main / resources / base / element存储用于读取文本资源的资源文件。创建项目时,IDE将自动生成此目录。

该入口/ src目录/主/ config.json文件位于主根目录。该文件包含有关应用程序的配置信息。系统运行该应用程序,并基于此文件的内容在UI上显示内容。创建项目时,IDE将自动生成此文件。

要开发新能力,你必须在config.json文件中注册该能力。示例代码:

注意:应用程序的所有功能都必须在此文件中注册,并附加到功能标签上。

  • 类型标签指示能力使用的模板的类型,其值页面,服务或提供者分别指示页面,服务或数据模板。必须指定类型标签。
  • 名称标签表示能力的名称,必须指定。
  • 你可以保留其他标签的默认值。

4、能力生命周期

作为应用程序的基本单元,功能具有以下四个生命周期状态: 做鸿蒙应用开发到底学习些啥? (qq.com)

  • 初始:该异能已加载到内存中但未运行。这是所有能力的初始状态。
  • 不活跃:该功能已加载并执行,但不是交互式的。通常,在能力更改为ACTIVE或Background之前处于中间状态。在这种状态下,UI可能可见,但无法接收输入事件。
  • 活动:该功能可见且具有交互性。认为该能力具有焦点。
  • 背景:这种能力是看不见的。如果系统内存不足,则会首先破坏此状态下的功能。

下图显示了完整的能力生命周期。每个状态转换都会执行一个特定的回调。您可以覆盖回调方法。

注意:所有页面功能都必须实现onStart(ohos.aafwk.content.Intent)来设置其UI。要覆盖生命周期回调方法,必须首先调用与父类相对应的回调方法,例如super.onStart()。状态转换在主线程上实现。因此,建议您在生命周期回调中执行简短逻辑,以防止该功能的主线程被阻塞。

对于服务功能你可以重写onConnect(ohos.aafwk.content.Intent)方法以提供一个RemoteObject进行调用。默认情况下,返回null。

**那做鸿蒙应用开发到底学习些啥?**估计这是许多小伙伴的疑问。

首先我们得从入门最基础的学起,那就是**ArkTS开发语言,其次就是ArkUI声明式UI开发、Stage模型、网络/数据库管理、分布式应用开发、进程间通信与线程间通信技术、OpenHarmony多媒体技术......等。**像中间还有许多的知识点,在这我不一一概括了,这些我都以梳理成思维导图的形式了,分成了七个专题顺序。

因图片过大,暂且在这只能放上缩略版了,如需完整版的小伙伴,可以通过以下获取方式:点赞、关注、转发。私信回复(鸿蒙)即可获取鸿蒙开发资料 做鸿蒙应用开发到底学习些啥? (qq.com)

相关推荐
whyutianict_vv18 分钟前
从 Web 前端到 HarmonyOS ArkTS:一次 AI 鸿蒙全栈智能体开发的迁移实录
前端·人工智能·harmonyos
Aision_22 分钟前
代码安全学习手记(二):SCA 软件成分分析原理与 OWASP Dependency-Check 集成实战
运维·人工智能·学习·安全·web安全·网络安全
m0_7496902324 分钟前
【寻迹校园 HarmonyOS NEXT 实战 01】从校园痛点到可上架 MVP:失物招领应用产品设计
人工智能·深度学习·移动开发·harmonyos·arkts·arkui·产品设计
m0_7496902342 分钟前
【寻迹校园 HarmonyOS NEXT 实战 03】NavPathStack 路由实战:18 个页面如何集中管理
华为·移动开发·harmonyos·arkui·navigation·navpathstack
是隼人1 小时前
buuctf-pwn bjdctf_2020_babystack2题解 整数溢出(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
m0_749690232 小时前
【寻迹校园 HarmonyOS NEXT 实战 02】多模块工程拆解:entry、HAR 与 HSP 如何分工
华为·harmonyos·arkts·软件架构·har·hsp
电子云与长程纠缠2 小时前
UE5 Lyra PocketWorld进行3D内容UI预览 - 上
开发语言·学习·3d·ue5·游戏引擎
210Brian2 小时前
STM32学习笔记(六)EXTI外部中断(下)
笔记·stm32·学习
MartinYeung52 小时前
[论文学习]Latent Fusion Jailbreak: 融合有害与无害表征以诱导大语言模型产生不安全输出
学习·安全·语言模型
星恒随风2 小时前
C++ 哈希详解(二):开放定址、哈希桶与 C++ 哈希表底层实现
c++·笔记·学习·哈希算法·散列表