运行上面的HelloWorld,展示效果如下所示:
![image.png](https://www.www.zyiz.net/i/ll/?i=img_
【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】 浏览器打开:qq.cn.hn/FTf 免费领取
convert/047d6767139c7182dccead2305621b8b.png)
二、分析启动流程
一个简单的HarmonyOS(鸿蒙)HelloWorld程序,其基本运行流程,可以分为如下几个阶段:
config.json文件是HarmonyOS(鸿蒙)应用程序的主要配置文件,其位于entry -> src -> main -> config.json,配置文件分为三大块,具体的说明可以参考我的另一篇文件,[《HarmonyOS(鸿蒙)——config.json详解》](
)
初始化主要通过config.json的module下的package和name来定位类com.example.demo.MyApplication.
MyApplication的内容如下,它会做一些应用的初始化工作
package com.example.demo;
import ohos.aafwk.ability.AbilityPackage;
public class MyApplication extends AbilityPackage {
@Override
public void onInitialize() {
super.onInitialize();
}
}
入口Ability的全类名,也在config.json文件中进行配置
MainAbility对应config.json中的abilities中的相关配置信息
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}
这一步就是启动上面的类
MainAbility运行后执行onStart方法会加载子页面,这里的子页面是MainAbilitySlice,其主要内容如下所示。
package com.example.demo.slice;
import com.example.demo.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
public class MainAbilitySlice extends AbilitySlice {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
}
@Override
public void onActive() {
super.onActive();