99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙應用模型:【Ability Kit】簡介

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-29 14:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Ability Kit簡介

Ability Kit(程序框架服務)提供了應用程序開發(fā)和運行的應用模型,是系統(tǒng)為開發(fā)者提供的應用程序所需能力的抽象提煉,它提供了應用程序必備的組件和運行機制。有了應用模型,開發(fā)者可以基于一套統(tǒng)一的模型進行應用開發(fā),使應用開發(fā)更簡單、高效。

使用場景

  • 應用的多Module開發(fā):應用可通過不同類型的Module(HAP、HAR、HSP)來實現(xiàn)應用的功能開發(fā)。其中,HAP用于實現(xiàn)應用的功能和特性,HAR與HSP用于實現(xiàn)代碼和資源的共享。
  • 應用內的交互:應用內的不同組件之間可以相互跳轉。比如,在支付應用中,通過入口UIAbility組件啟動收付款UIAbility組件。
  • 應用間的交互:當前應用可以啟動其他應用,來完成某個任務或操作。比如,啟動瀏覽器應用來打開網(wǎng)站、啟動文件應用來瀏覽或編輯文件等。
  • 應用的跨設備流轉:通過應用的跨端遷移和多端協(xié)同,獲得更好的使用體驗。比如,在平板上播放的視頻,遷移到智慧屏繼續(xù)播放。
  • 開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

能力范圍

  • 提供應用進程創(chuàng)建和銷毀、應用生命周期調度能力。
  • 提供應用組件運行入口、應用組件生命周期調度、組件間交互等能力。
  • 提供應用上下文環(huán)境、系統(tǒng)環(huán)境變化監(jiān)聽等能力。
  • 提供應用流轉能力。
  • 提供多包機制、共享包、應用信息配置等能力,詳見[應用程序包概述]。

應用程序包概述

在基于[Stage模型]開發(fā)應用之前,開發(fā)者需要了解應用的設計機制、應用程序包結構等基礎知識。

應用與應用程序包

用戶應用程序泛指運行在設備的操作系統(tǒng)之上,為用戶提供特定服務的程序,簡稱“應用”。一個應用所對應的軟件包文件,稱為“應用程序包”。

當前系統(tǒng)提供了應用程序包開發(fā)、安裝、查詢、更新、卸載的管理機制,便于開發(fā)者開發(fā)和管理應用。同時,系統(tǒng)還屏蔽了不同的芯片平臺的差異(包括x86/ARM,32位/64位等),應用程序包在不同的芯片平臺都能夠安裝運行,這使得開發(fā)者可以聚焦于應用的功能實現(xiàn)。

應用的多Module設計機制

  • 支持模塊化開發(fā): 一個應用通常會包含多種功能,將不同的功能特性按模塊來劃分和管理是一種良好的設計方式。在開發(fā)過程中,我們可以將每個功能模塊作為一個獨立的Module進行開發(fā),Module中可以包含源代碼、資源文件、第三方庫、配置文件等,每一個Module可以獨立編譯,實現(xiàn)特定的功能。這種模塊化、松耦合的應用管理方式有助于應用的開發(fā)、維護與擴展。
  • 支持多設備適配: 一個應用往往需要適配多種設備類型,在采用多Module設計的應用中,每個Module都會標注所支持的設備類型。有些Module支持全部類型的設備,有些Module只支持某一種或幾種型的設備(比如平板),那么在應用市場分發(fā)應用包時,也能夠根據(jù)設備類型做精準的篩選和匹配,從而將不同的包合理的組合和部署到對應的設備上。

Module類型

Module按照使用場景可以分為兩種類型:

  • Ability類型的Module: 用于實現(xiàn)應用的功能和特性。每一個Ability類型的Module編譯后,會生成一個以.hap為后綴的文件,我們稱其為HAP(Harmony Ability Package)包。HAP包可以獨立安裝和運行,是應用安裝的基本單位,一個應用中可以包含一個或多個HAP包,具體包含如下兩種類型。

    • entry類型的Module:應用的主模塊,包含應用的入口界面、入口圖標和主功能特性,編譯后生成entry類型的HAP。每一個應用分發(fā)到同一類型的設備上的應用程序包,只能包含唯一一個entry類型的HAP。
    • feature類型的Module:應用的動態(tài)特性模塊,編譯后生成feature類型的HAP。一個應用中可以包含一個或多個feature類型的HAP,也可以不包含。
  • Library類型的Module: 用于實現(xiàn)代碼和資源的共享。同一個Library類型的Module可以被其他的Module多次引用,合理地使用該類型的Module,能夠降低開發(fā)和維護成本。Library類型的Module分為Static和Shared兩種類型,編譯后會生成共享包。

    • Static Library:靜態(tài)共享庫。編譯后會生成一個以.har為后綴的文件,即靜態(tài)共享包HAR(Harmony Archive)。
    • Shared Library:動態(tài)共享庫。編譯后會生成一個以.hsp為后綴的文件,即動態(tài)共享包HSP(Harmony Shared Package)。

    說明:

    實際上,Shared Library編譯后除了會生成一個.hsp文件,還會生成一個.har文件。這個.har文件中包含了HSP對外導出的接口,應用中的其他模塊需要通過.har文件來引用HSP的功能。為了表述方便,我們通常認為Shared Library編譯后生成HSP。

    HAR與HSP兩種共享包的主要區(qū)別體現(xiàn)在:

    共享包類型編譯和運行方式發(fā)布和引用方式
    HARHAR中的代碼和資源跟隨使用方編譯,如果有多個使用方,它們的編譯產(chǎn)物中會存在多份相同拷貝。HAR除了支持應用內引用,還可以獨立打包發(fā)布,供其他應用引用。
    HSPHSP中的代碼和資源可以獨立編譯,運行時在一個進程中代碼也只會存在一份。HSP一般隨應用進行打包,當前只支持應用內引用,不支持獨立發(fā)布和跨應用的引用。

    圖1 HAR和HSP在APP包中的形態(tài)示意圖
    in-app-hsp-har

  • 提供程序訪問控制能力,詳見[訪問控制概述]。

訪問控制概述

默認情況下,應用只能訪問有限的系統(tǒng)資源。但某些情況下,應用存在擴展功能的訴求,需要訪問額外的系統(tǒng)數(shù)據(jù)(包括用戶個人數(shù)據(jù))和功能,系統(tǒng)也必須以明確的方式對外提供接口來共享其數(shù)據(jù)或功能。

系統(tǒng)通過訪問控制的機制,來避免數(shù)據(jù)或功能被不當或惡意使用。當前訪問控制的機制涉及多方面,包括應用沙箱、應用權限、系統(tǒng)控件等方案。

應用沙箱

系統(tǒng)上運行的應用程序均部署在受保護的沙箱中,通過沙箱的安全隔離機制,可以限制應用程序的不當行為(如應用間非法訪問數(shù)據(jù)、篡改設備等)。每個程序都擁有唯一的ID([TokenID]),系統(tǒng)基于此ID識別與限制應用的訪問行為。

應用沙箱限定了只有目標受眾才能訪問應用內的數(shù)據(jù),并限定了應用可訪問的數(shù)據(jù)范圍。

應用權限

系統(tǒng)根據(jù)應用的[APL]等級設置進程域和數(shù)據(jù)域標簽,并通過訪問控制機制限制應用可訪問的數(shù)據(jù)范圍,從而實現(xiàn)在機制上消減應用數(shù)據(jù)泄露的風險。

不同APL等級的應用能夠申請的權限等級不同,且不同的系統(tǒng)資源(如:通訊錄等)或系統(tǒng)能力(如:訪問攝像頭、麥克風等)受不同的應用權限保護。通過嚴格的分層權限保護,有效抵御惡意攻擊,確保系統(tǒng)安全可靠。

系統(tǒng)控件

系統(tǒng)提供了系統(tǒng)Picker、安全控件等臨時授權的方式替代權限申請,在特定的場景中,應用無需向用戶申請權限也可臨時訪問受限資源,實現(xiàn)精準化權限管控,更好地保護用戶隱私。

  • [系統(tǒng)Picker]
    由系統(tǒng)獨立進程實現(xiàn),在應用拉起Picker,并由用戶操作Picker后,應用可以獲取Picker返回的資源或結果。舉例說明,當應用需要讀取用戶圖片時,可通過使用照片Picker,在用戶選擇所需要的圖片資源后,直接返回該圖片資源,而不需要授予應用讀取圖片文件的權限。
  • [安全控件]
    由系統(tǒng)提供UI控件,應用在界面內集成對應控件,用戶點擊后,應用將獲得臨時授權,從而執(zhí)行相關操作。舉例說明,當應用需要分享當前位置時,可使用位置控件,用戶點擊后,將會在本次前臺期間獲得精準定位的授權,可以調用位置服務獲取精準定位。當發(fā)生滅屏、應用切后臺、應用退出等任一情況時,臨時授權結束。

亮點/特征

  1. 為復雜應用而設計
    • 多個應用組件共享同一個ArkTS引擎(運行ArkTS語言的虛擬機)實例,應用組件之間可以方便的共享對象和狀態(tài),同時減少復雜應用運行對內存的占用。
    • 采用面向對象的開發(fā)方式,使得復雜應用代碼可讀性高、易維護性好、可擴展性強。
    • 提供模塊化能力開發(fā)的支持。
  2. 原生支持應用組件級的跨端遷移和多端協(xié)同
    Stage模型實現(xiàn)了應用組件與UI解耦:
    • 在跨端遷移場景下,系統(tǒng)在多設備的應用組件之間遷移數(shù)據(jù)/狀態(tài)后,UI便可利用ArkUI的聲明式特點,通過應用組件中保存的數(shù)據(jù)/狀態(tài)恢復用戶界面,便捷實現(xiàn)跨端遷移。
    • 在多端協(xié)同場景下,應用組件具備組件間通信的RPC調用能力,天然支持跨設備應用組件的交互。
  3. 支持多設備和多窗口形態(tài)
    應用組件管理和窗口管理在架構層面解耦:
    • 便于系統(tǒng)對應用組件進行裁剪(無屏設備可裁剪窗口)。
    • 便于系統(tǒng)擴展窗口形態(tài)。
    • 在多設備(如桌面設備和移動設備)上,應用組件可使用同一套生命周期。
  4. 平衡應用能力和系統(tǒng)管控成本
    Stage模型重新定義應用能力的邊界,平衡應用能力和系統(tǒng)管控成本。
    • 提供特定場景(如服務卡片、輸入法)的應用組件,以便滿足更多的使用場景。
    • 規(guī)范化后臺進程管理:為保障用戶體驗,Stage模型對后臺應用進程進行了有序治理,應用程序不能隨意駐留在后臺,同時應用后臺行為受到嚴格管理,防止惡意應用行為。
    • HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

鴻蒙文檔.png

與相關Kit的關系

ArkUI: Ability Kit在UIAbility組件可以使用ArkUI提供的組件、事件、動效、狀態(tài)管理等能力。

ArkTS:ArkTS提供了語言運行時相關能力。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模型
    +關注

    關注

    1

    文章

    3522

    瀏覽量

    50446
  • Module
    +關注

    關注

    0

    文章

    72

    瀏覽量

    13258
  • 鴻蒙
    +關注

    關注

    60

    文章

    2622

    瀏覽量

    44075
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【HarmonyOS 5】鴻蒙星閃NearLink詳解

    【HarmonyOS 5】鴻蒙星閃NearLink詳解 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、前言 鴻蒙星閃NearLink
    的頭像 發(fā)表于 07-11 18:24 ?332次閱讀
    【HarmonyOS 5】<b class='flag-5'>鴻蒙</b>星閃NearLink詳解

    【HarmonyOS 5】鴻蒙中的UIAbility詳解(二)

    UIAbility,根據(jù)下圖可知,在鴻蒙中UIAbility繼承于Ability,開發(fā)者無法直接繼承Ability。只能使用其兩個子類:UIAbility和ExtensionAbility。 本文將對
    的頭像 發(fā)表于 07-11 18:17 ?273次閱讀
    【HarmonyOS 5】<b class='flag-5'>鴻蒙</b>中的UIAbility詳解(二)

    鴻蒙中Stage模型與FA模型詳解

    【HarmonyOS 5】鴻蒙中Stage模型與FA模型詳解 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (
    的頭像 發(fā)表于 07-07 11:50 ?183次閱讀

    鴻蒙開發(fā)API9 到 API12,有哪些不同

    ? ##HarmonyOS 應用開發(fā)## 雖然API9已經(jīng)屬于過時了,但是現(xiàn)在很多學校里教的還是基于API9的鴻蒙開發(fā),當學生需要在畢業(yè)設計中使用API12進行開發(fā)時,還是需要先掌握一些兩者的區(qū)別
    發(fā)表于 06-29 22:47

    HarmonyOS NEXT應用開發(fā)-Notification Kit(用戶通知服務)notificationManager.requestEnableNotification10+

    用界面加載完成后(即調用loadContent成功),方可使用該接口。 模型約束:此接口僅可在Stage模型下使用。 系統(tǒng)能力
    發(fā)表于 06-12 17:28

    FA模型和Stage模型API切換概述

    API切換概述 FA模型和Stage模型由于線程模型和進程模型的差異,部分接口僅在FA模型下才能使用,針對這部分接口在SDK的接口中有FA
    發(fā)表于 06-06 06:29

    從FA模型切換到Stage模型時:module的切換說明

    見下列表格。 表1 FA模型module標簽與Stage模型module標簽差異對比 FA標簽標簽說明對應的Stage標簽差異說明mainAbility服務中心圖標露出的ability,常駐進程拉起時會啟動
    發(fā)表于 06-05 08:16

    FA模型綁定Stage模型ServiceExtensionAbility介紹

    FA模型綁定Stage模型ServiceExtensionAbility 本文介紹FA模型的三種應用組件如何綁定Stage模型的ServiceExtensionAbility組件
    發(fā)表于 06-04 07:55

    Stage模型綁定FA模型ServiceAbility的方法

    Stage模型綁定FA模型ServiceAbility 本小節(jié)介紹Stage模型的兩種應用組件如何綁定FA模型ServiceAbility組件。 UIAbility關聯(lián)訪問
    發(fā)表于 06-04 06:54

    Stage模型啟動FA模型PageAbility方法

    Stage模型啟動FA模型PageAbility 本小節(jié)介紹Stage模型的兩種應用組件如何啟動FA模型的PageAbility組件。 UIAbility啟動PageAbility
    發(fā)表于 06-04 06:36

    KaihongOS操作系統(tǒng)FA模型與Stage模型介紹

    FA模型與Stage模型介紹 KaihongOS操作系統(tǒng)中,F(xiàn)A模型(Feature Ability)和Stage模型是兩種不同的應用
    發(fā)表于 04-24 07:27

    鴻蒙原生應用開發(fā)也可以使用DeepSeek了

    ,請訪問華為開發(fā)者官網(wǎng)下載并安裝最新版本5.0.7.210。安裝完成后,打開DevEco Studio,創(chuàng)建一個新的鴻蒙應用項目,選擇適合的模板(如Empty Ability)。 第二步:安裝
    發(fā)表于 02-20 18:06

    華為發(fā)布鴻蒙HarmonyOS 5.0.2 Release

    性能、穩(wěn)定性等方面的優(yōu)化。 此次發(fā)布將API升至14 Release,為開發(fā)者帶來了更強大的工具集。 在Ability Kit方面,支持在配置文件中聲明除入口Ability以外的UIAbility組件
    的頭像 發(fā)表于 01-23 16:17 ?1606次閱讀

    AIGC入門及鴻蒙入門

    模型,能夠生成與給定文本描述相符的圖像。 鴻蒙系統(tǒng)入門 1. 基礎知識: 鴻蒙系統(tǒng)(HarmonyOS)是華為推出的一款分布式操作系統(tǒng),旨在實現(xiàn)跨設備、跨平臺的無縫協(xié)同體驗。 鴻蒙
    發(fā)表于 01-13 10:32

    HarmonyOS NEXT應用元服務開發(fā)Intents Kit(意圖框架服務)綜述

    過程即智慧分發(fā)。其中系統(tǒng)入口包括:小藝對話、小藝搜索、小藝建議等。 系統(tǒng)入口、意圖框架、鴻蒙生態(tài)的關系如下: 二、Intents Kit優(yōu)勢 利用HarmonyOS的大模型、多維設備感知等AI能力
    發(fā)表于 11-28 10:43