2.5 运行Ability

2.6 运行Ability的子界面

2.7 加载xml文件,展示内容

三、精选好文


一、准备


1.1 创建项目

进入HarmonyOS(鸿蒙)正式开发之前,可以通过一个简单的HelloWorld的示例代码来了解其运行时的相关流程。如下是通过DevEco Studio创建的一个简单HelloWorld示例代码结构,接下来会分析其启动流程。

image.png

1.2 运行项目

运行上面的HelloWorld,展示效果如下所示:

image.png

二、分析启动流程


2.1 启动流程图

一个简单的HarmonyOS(鸿蒙)HelloWorld程序,其基本运行流程,可以分为如下几个阶段:

启动流程.png

2.2 解析config.json文件

config.json文件是HarmonyOS(鸿蒙)应用程序的主要配置文件,其位于entry -> src -> main -> config.json,配置文件分为三大块,具体的说明可以参考我的另一篇文件,《HarmonyOS(鸿蒙)——config.json详解》

image.png

2.2 初始化

初始化主要通过config.json的module下的package和name来定位类com.example.demo.MyApplication.

image.png

MyApplication的内容如下,它会做一些应用的初始化工作

package com.example.demo;

import ohos.aafwk.ability.AbilityPackage;

public class MyApplication extends AbilityPackage {

@Override

public void onInitialize() {

super.onInitialize();

}

}

2.4 获取入口Ability全类名

入口Ability的全类名,也在config.json文件中进行配置

image.png

MainAbility对应config.json中的abilities中的相关配置信息

image.png

MainAbility的主要内容如下,主界面中会加载子界面,通过 super.setMainRoute(MainAbilitySlice.class.getName());的方式进行加载,关于页面的相关介绍可以查看我的另一篇文件《HarmonyOS(鸿蒙)—— Ability与页面》

1package com.example.demo;

2

3import com.example.demo.slice.MainAbilitySlice;

4import ohos.aafwk.ability.Ability;

5import ohos.aafwk.content.Intent;

6

7public class MainAbility extends Ability {

8    @Override

9    public void onStart(Intent intent) {

10        super.onStart(intent);

11        super.setMainRoute(MainAbilitySlice.class.getName());

12    }

13}

2.5 运行Ability

这一步就是启动上面的类

2.6 运行Ability的子界面

MainAbility运行后执行onStart方法会加载子页面,这里的子页面是MainAbilitySlice,其主要内容如下所示。

package com.example.demo.slice;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

最后

最后这里放上我这段时间复习的资料,这个资料也是偶然一位朋友分享给我的,里面包含了腾讯、字节跳动、阿里、百度2020-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。

还有 高级架构技术进阶脑图、高级进阶架构资料 帮助大家学习提升进阶,这里我也免费分享给大家也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

一起互勉~

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐