Ability的基本概念(2)

千鋒武漢發表於2021-07-23

      今天我們繼續給大家介紹Page Ability,喜歡的同學記得儲存收藏起來。

      Page Ability基本概念

      Page和AbilitySlice:Page模板(以下簡稱“Page”)是FA唯一支援的模板,用於提供與使用者互動的能力。一個Page可以由一個或多個AbilitySlice構成,AbilitySlice是指應用的單個頁面及其控制邏輯的總和。

      當一個Page由多個AbilitySlice共同構成時,這些AbilitySlice頁面提供的業務能力應具有高度相關性。例如,新聞瀏覽功能可以透過一個Page來實現,其中包含了兩個AbilitySlice:一個AbilitySlice用於展示新聞列表,另一個AbilitySlice用於展示新聞詳情。Page和AbilitySlice的關係如圖所示。

千鋒IT培訓鴻蒙教程

      相比於桌面場景,移動場景下應用之間的互動更為頻繁。通常,單個應用專注於某個方面的能力開發,當它需要其他能力輔助時,會呼叫其他應用提供的能力。例如,外賣應用提供了聯絡商家的業務功能入口,當使用者在使用該功能時,會跳轉到通話應用的撥號頁面。與此類似,HarmonyOS支援不同Page之間的跳轉,並可以指定跳轉到目標Page中某個具體的AbilitySlice。

      AbilitySlice之間導航

      當發起導航的AbilitySlice和導航目標的AbilitySlice處於同一個Page時,您可以透過present()方法實現導航。如下程式碼片段展示透過點選按鈕導航到其他AbilitySlice的方法:

      第一步:建立一個ability_main.xml檔案

千鋒IT培訓鴻蒙教程2

      第二步:建立background_button.xml檔案

千鋒IT培訓鴻蒙教程3

      第三步:在layout目錄下的“ability_main.xml”檔案中,使用background_element="$graphic:background_button"的方式引用“background_button.xml”檔案:

千鋒IT培訓鴻蒙教程4

      第四步:分別建立第二個要跳轉的介面和程式碼模組

千鋒IT培訓鴻蒙教程5

      第五步:實現Ability之間的跳轉

千鋒IT培訓鴻蒙教程6

      如果開發者希望在使用者從導航目標AbilitySlice返回時,能夠獲得其返回結果,則應當使用presentForResult()實現導航。使用者從導航目標AbilitySlice返回時,系統將回撥onResult()來接收和處理返回結果,開發者需要重寫該方法。返回結果由導航目標AbilitySlice在其生命週期內透過setResult()進行設定。

千鋒IT培訓鴻蒙教程7

      以上就是這一期的鴻蒙開發教程了,下一期我們繼續介紹Page Ability生命週期相關內容,感興趣的可以關注一下。

      本文來自千鋒教育,轉載請註明出處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2782884/,如需轉載,請註明出處,否則將追究法律責任。

相關文章