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

要想入门鸿蒙开发,扎实的基础知识是不可或缺的,所以,今天我就教大家一个鸿蒙应用开发基础知识点------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)

相关推荐
我要吐泡泡了哦10 分钟前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎
骑鱼过海的猫12310 分钟前
【tomcat】tomcat学习笔记
笔记·学习·tomcat
贾saisai2 小时前
Xilinx系FPGA学习笔记(九)DDR3学习
笔记·学习·fpga开发
北岛寒沫2 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习
铁匠匠匠4 小时前
从零开始学数据结构系列之第六章《排序简介》
c语言·数据结构·经验分享·笔记·学习·开源·课程设计
架构文摘JGWZ5 小时前
Java 23 的12 个新特性!!
java·开发语言·学习
小齿轮lsl5 小时前
PFC理论基础与Matlab仿真模型学习笔记(1)--PFC电路概述
笔记·学习·matlab
Aic山鱼6 小时前
【如何高效学习数据结构:构建编程的坚实基石】
数据结构·学习·算法
qq11561487076 小时前
Java学习第八天
学习
天玑y6 小时前
算法设计与分析(背包问题
c++·经验分享·笔记·学习·算法·leetcode·蓝桥杯