目錄
一、準備
1.1 創建專案
1.2 運行專案
二、分析啟動流程
2.1 啟動流程圖
2.2 決議config.json檔案
2.2 初始化
2.4 獲取入口Ability全類名
2.5 運行Ability
2.6 運行Ability的子界面
2.7 加載xml檔案,展示內容
三、精選好文
一、準備
1.1 創建專案
進入HarmonyOS(鴻蒙)正式開發之前,可以通過一個簡單的HelloWorld的示例代碼來了解其運行時的相關流程,如下是通過DevEco Studio創建的一個簡單HelloWorld示例代碼結構,接下來會分析其啟動流程,

1.2 運行專案
運行上面的HelloWorld,展示效果如下所示:

二、分析啟動流程
2.1 啟動流程圖
一個簡單的HarmonyOS(鴻蒙)HelloWorld程式,其基本運行流程,可以分為如下幾個階段:

2.2 決議config.json檔案
config.json檔案是HarmonyOS(鴻蒙)應用程式的主要組態檔,其位于entry -> src -> main -> config.json,組態檔分為三大塊,具體的說明可以參考我的另一篇檔案,《HarmonyOS(鴻蒙)——config.json詳解》

2.2 初始化
初始化主要通過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();
}
}
2.4 獲取入口Ability全類名
入口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}
2.5 運行Ability
這一步就是啟動上面的類
2.6 運行Ability的子界面
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();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
}
在MainAbilitySlice中我們發現,onStart加載類相關UI配置,ResourceTable.Layout_ability_main,ResourceTable是HarmonyOS應用程式啟動時動態生成的常量類,它會給每一個xml等檔案分配一個標志ID,要是想查看這個類,可以運行應用程式后在class檔案中查閱

2.7 加載xml檔案,展示內容
關于子頁面中的內容,均可以通過xml檔案來進行配置,這種基于xml配置內容樣式的方式也比較方便,易于統一管理和系統決議,

至此一個HarmonyOS(鴻蒙)HelloWorld程式的執行流程就這么多了,
三、精選好文
HarmonyOS(鴻蒙)DevEco Studio開發環境搭建
HarmonyOS(鴻蒙)開發一文入門
兩個案例五分鐘輕松入門Harmony(鴻蒙)開發
armonyOS與Android的全面對比
HarmonyOS(鴻蒙)全網最全資源匯總,吐血整理,趕緊收藏!
HarmonyOS(鴻蒙)—— Ability與頁面
HarmonyOS(鴻蒙)——config.json詳解
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/291695.html
標籤:其他
