一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙應(yīng)用模型:【Ability Kit】簡介

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

掃碼添加小助手

加入工程師交流群

Ability Kit簡介

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

使用場景

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

能力范圍

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

應(yīng)用程序包概述

在基于[Stage模型]開發(fā)應(yīng)用之前,開發(fā)者需要了解應(yīng)用的設(shè)計機(jī)制、應(yīng)用程序包結(jié)構(gòu)等基礎(chǔ)知識。

應(yīng)用與應(yīng)用程序包

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

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

應(yīng)用的多Module設(shè)計機(jī)制

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

Module類型

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

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

    • entry類型的Module:應(yīng)用的主模塊,包含應(yīng)用的入口界面、入口圖標(biāo)和主功能特性,編譯后生成entry類型的HAP。每一個應(yīng)用分發(fā)到同一類型的設(shè)備上的應(yīng)用程序包,只能包含唯一一個entry類型的HAP。
    • feature類型的Module:應(yīng)用的動態(tài)特性模塊,編譯后生成feature類型的HAP。一個應(yīng)用中可以包含一個或多個feature類型的HAP,也可以不包含。
  • Library類型的Module: 用于實現(xiàn)代碼和資源的共享。同一個Library類型的Module可以被其他的Module多次引用,合理地使用該類型的Module,能夠降低開發(fā)和維護(hù)成本。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對外導(dǎo)出的接口,應(yīng)用中的其他模塊需要通過.har文件來引用HSP的功能。為了表述方便,我們通常認(rèn)為Shared Library編譯后生成HSP。

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

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

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

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

訪問控制概述

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

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

應(yīng)用沙箱

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

應(yīng)用沙箱限定了只有目標(biāo)受眾才能訪問應(yīng)用內(nèi)的數(shù)據(jù),并限定了應(yīng)用可訪問的數(shù)據(jù)范圍。

應(yīng)用權(quán)限

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

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

系統(tǒng)控件

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

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

亮點/特征

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

鴻蒙文檔.png

與相關(guān)Kit的關(guān)系

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

ArkTS:ArkTS提供了語言運行時相關(guān)能力。

審核編輯 黃宇

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

    關(guān)注

    1

    文章

    3521

    瀏覽量

    50441
  • Module
    +關(guān)注

    關(guān)注

    0

    文章

    72

    瀏覽量

    13256
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2621

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    【HarmonyOS 5】鴻蒙星閃NearLink詳解

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

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

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

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

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

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

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

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

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

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

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

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

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

    FA模型綁定Stage模型ServiceExtensionAbility介紹

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

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

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

    Stage模型啟動FA模型PageAbility方法

    Stage模型啟動FA模型PageAbility 本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何啟動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模型是兩種不同的應(yīng)用
    發(fā)表于 04-24 07:27

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

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

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

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

    AIGC入門及鴻蒙入門

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

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

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