目錄
1 -> 在模塊中添加Ability
1.1 -> Stage模型添加UIAbility
1.1.1 -> 在模塊中添加UIAbility
1.1.2 -> 在模塊中添加Extension Ability
2 -> 創建服務卡片
2.1 -> 概述
2.2 -> 使用約束
2.3 -> 創建服務卡片
2.4 -> 創建動態/靜態卡片
2.5 -> 預覽服務卡片
1 -> 在模塊中添加Ability
Ability是應用/元服務所具備的能力的抽象,一個Module可以包含一個或多個Ability。應用/元服務先后提供了兩種應用模型:
- FA(Feature Ability)模型: API 7開始支持的模型,已經不再主推。
- Stage模型:HarmonyOS 3.1 Developer Preview版本開始新增的模型,是目前主推且會長期演進的模型。在該模型中,由于提供了AbilityStage、WindowStage等類作為應用組件和Window窗口的“舞臺”,因此稱這種應用模型為Stage模型。
- UIAbility組件:包含UI界面,提供展示UI的能力,主要用于和用戶交互。
- ExtensionAbility組件:提供特定場景的擴展能力,滿足更多的使用場景。
1.1 -> Stage模型添加UIAbility
1.1.1 -> 在模塊中添加UIAbility
選中對應的模塊,單擊鼠標右鍵,選擇New > Ability。
1. 設置Ability名稱,選擇是否在設備主屏幕上顯示該功能的啟動圖標,單擊Finish完成Ability創建。
1.1.2 -> 在模塊中添加Extension Ability
1.?在工程中選中對應的模塊,單擊鼠標右鍵,選擇New > Extension Ability,選擇不同的場景類型 。當前僅Application工程支持創建Extension Ability。
- EmbeddedUIExtensionAbility:提供了跨進程界面嵌入的能力。
- BackupAbility:用于應用接入數據備份恢復的能力。
- WorkScheduler:用于提供延遲任務回調實現的能力。
- RemoteNotificationAbility:用于提供獲取場景化消息數據和生命周期銷毀的回調的通知能力。
2. 設置Ability名稱,單擊Finish完成Extension Ability創建。
2 -> 創建服務卡片
2.1 -> 概述
服務卡片可將元服務/應用的重要信息以卡片的形式展示在桌面,用戶可通過快捷手勢使用卡片,通過輕量交互行為實現服務直達、減少層級跳轉的目的。
不同的SDK版本提供的卡片模板不同:
- 當前提供如下卡片模板:
模板名稱 | 支持的設備 | 支持的開發語言 | 模板描述 |
Hello World | Phone、Tablet、2in1 | ArkTS、JS | HelloWorld卡片,用于高效直觀地構建UI。當前Hello World卡片模板支持使用6*4尺寸。 |
Image With Information(圖文卡片模板) | Phone、Tablet、2in1 | ArkTS、JS | 圖文卡片模板主要在于展現圖片和一定數量文本的搭配,在這種布局下,圖片和文本屬于同等重要的信息。在不同尺寸下,圖片大小和文本數量會發生一定變化,用于凸顯關鍵信息。 |
Immersive Information(沉浸圖文卡片模板) | Phone、Tablet、2in1 | ArkTS、JS | 沉浸式卡片的裝飾性較強,能夠較好的提升卡片品質感并起到裝飾桌面的作用,合理的去布局信息與背景圖片之間的空間比例,可以提升用戶的個性化使用體驗。 |
List | Phone、Tablet、2in1 | ArkTS | 提供基本的列表功能。當前僅動態卡片支持在API 11及以上工程創建List卡片模板。 |
Control Button | Phone、Tablet、2in1 | ArkTS | 操控類型的卡片,展示文本信息與按鈕操作,點擊按鈕響應事件。當前僅靜態卡片支持API 11及以上工程創建Control Button卡片模板。 |
Control Search | Phone、Tablet、2in1 | ArkTS | 操控類型的卡片,適用于搜索場景。當前僅靜態卡片支持API 11及以上工程創建Control Search卡片模板。 |
2.2 -> 使用約束
- 每個module最多可以配置16張服務卡片。
- 卡片不支持調試。
- 元服務不支持創建JS卡片。
2.3 -> 創建服務卡片
創建一個工程后,可以通過如下方法進行創建服務卡片:
1. 創建服務卡片包括如下兩種方式:
- 選擇模塊(如entry模塊)下的任意文件,單擊菜單欄File > New > Service Widget創建服務卡片。
- 選擇模塊(如entry模塊)下的任意文件,單擊右鍵 > New > Service Widget創建服務卡片。
說明
- API 11?Stage模型及以上,創建元服務工程或在元服務工程中創建模塊時,不再默認創建服務卡片和EntryCard。
- API 10及以上Stage模型的工程中,在Service Widget菜單可直接選擇創建動態/靜態卡片。
2. 在Choose a Template for Your Service Widget界面中,選擇卡片模板,單擊Next。
3. 在Configure Your Service Widget界面中,配置卡片的基本信息,包括:
- Service widget name:卡片的名稱,在同一個應用/元服務中,卡片名稱不能重復,且只能包含大小寫字母、數字和下劃線。
- Display name:卡片預覽面板上顯示的卡片名稱。僅API 11?及以上Stage工程支持配置該字段。
- Description:卡片的描述信息。
- Language:界面開發語言,可選擇創建ArkTS/JS卡片。
- Support dimension:選擇卡片的規格。部分卡片支持同時設置多種規格。首次創建服務卡片時,將默認生成一個EntryCard目錄,用于存放卡片快照。
- Default dimension:在下拉框中可選擇默認的卡片。
- Ability name:選擇一個掛靠服務卡片的Form Ability,或者創建一個新的Form Ability。
- Module name:卡片所屬的模塊。
4. 單擊Finish完成卡片的創建。創建完成后,工具會自動創建出服務卡片的布局文件,并在form_config.json文件中寫入服務卡片的屬性字段。
?5. 卡片創建完成后,請根據開發指導,完成服務卡片的開發。
2.4 -> 創建動態/靜態卡片
DevEco Studio支持創建靜態/動態卡片。動態卡片支持自定義交互、動效、滑動等功能,功能豐富但內存占用較大;靜態卡片內存占用較小,有助實現整機內存優化,可實現靜態信息展示、刷新和點擊跳轉。
說明
當前僅API 10及以上Stage模型支持開發靜態卡片。
創建服務卡片后,在form_config.json文件中,可修改isDynamic參數配置。isDynamic置空或為"true",則該卡片為動態卡片;若賦值為"false",則該卡片為靜態卡片。
2.5 -> 預覽服務卡片
在開發服務卡片過程中,支持對卡片進行實時預覽。服務卡片通過ArkTS、JS文件進行布局設計,在開發過程中,可以對布局文件進行實時預覽,只要在布局文件中保存了修改的源代碼,在預覽器中就可以實時查看布局效果。在Phone和Tablet服務卡片的預覽效果中,每個尺寸的服務卡片提供3種場景的預覽效果,分別為極窄(Minimum)、默認(Default)、極寬(Maximum),開發者應確保三種尺寸的顯示效果均正常,以便適應不同屏幕尺寸的設備。
感謝各位大佬支持!!!
互三啦!!!