在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

鴻蒙Stage模型和FA模型區別

OpenHarmony技術社區 ? 來源:OST開源開發者 ? 2023-01-04 11:59 ? 次閱讀

筆者這兩個月一直在折騰分布式應用,并且分別基于 API8 的 FA 模型以及 API9 的 Stage 模型進行了開發,這兩天總算是基本開發完了,閑下來總結下這兩者的區別,順便跟大家嘮嘮開發時踩過的坑。

請求權限

Stage 模型中配置文件由 FA 模型的 config.json 改為 module.json5,同時一些字段名也發生了改變。

例如 reqPermissions 就改為 requestPermissions(好像這個區別并不是很起眼,但就是因為之前我有一個朋友在使用 Stage 模型開發時直接復制了 FA 模型的請求權限代碼,而我一開始也沒看出來哪里有問題,因為只差了幾個字母,后來我手敲代碼才找到了問題所在)。

FA:

"reqPermissions":[
{
"name":"ohos.permission.DISTRIBUTED_DATASYNC"
}
]
Stage:
"requestPermissions":[
{
"name":"ohos.permission.DISTRIBUTED_DATASYNC"
}
]

獲取 Context

FA:

letcontext=featureAbility.getContext();
Stage Stage 模型中包含多種 Context,比較常用的有 AbilityContext 和在 eTS 頁面中訪問 Context。 AbilityContext Stage 模型下,每個 Ability 中都包含了一個 Context 屬性:

aebc85c4-8be3-11ed-bfe3-dac502259ad0.png

在繼承 Ability 的類中通過 this.context 就可以獲取 AbilityContext,從而操作 Ability 的方法(如 startAbility、connectAbility 等)

importAbilityfrom'@ohos.application.Ability'

exportdefaultclassMainAbilityextendsAbility{
onCreate(want,launchParam){
this.context.requestPermissionsFromUser(PERMISSIONS)
}
onWindowStageCreate(windowStage){
letcontext=this.context;
}
...
};
在 eTS 頁面中訪問 Context: aec97d92-8be3-11ed-bfe3-dac502259ad0.png
//獲取當前component關聯的Context
letcontext=getContext(this)asany

啟動 Ability

FA:

featureAbility.startAbility({
want:{
bundleName:'com.haoc.distributevideoplayer',
abilityName:'com.haoc.distributevideoplayer.MainAbility',
deviceId:deviceId,
parameters:{
isFA:'FA'
}
}
})

Stage:

context.startAbility({
bundleName:'com.haoc.distributevideoplayer',
abilityName:'EntryAbility',
deviceId:deviceId,
parameters:{
isFA:'FA'
}
})
①Stage 模型不再使用 featureAbility 接口,而需要先獲取當前 Ability 的上下文,再由 AbilityContext 調用 startAbility 方法。 ②相比 FA 模型少了一對{}括號。 ③MainAbility 改名為 EntryAbility,且 abilityName 不再是由 package + Ability name 組成。

結語

由于開發時部分接口在 API9 以上才提供,所以需要將應用 API 升級到 9。 但其實 API9 也提供了 FA 模型,只需要在 API8 的基礎上進行小部分修改即可,那筆者為何還花費大量精力去折騰 Stage 模型呢? 一個是想體驗一下這兩者在開發上的差別,另一個是未來將不再主推 FA 模型,現在學習的成本沒有以后的成本高。 筆者在開發時還發現許多接口將被廢棄,例如 Ability,將會用 UIAbility 代替,不過接口基本上不會有很大改變,都是改個名字、加個參數之類。 關于兩種模型還有什么差別歡迎大家留言討論,文章有錯誤之處也歡迎指出。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模型
    +關注

    關注

    1

    文章

    3500

    瀏覽量

    50141
  • 鴻蒙
    +關注

    關注

    59

    文章

    2546

    瀏覽量

    43844

原文標題:鴻蒙Stage模型和FA模型區別

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    KaihongOS操作系統FA模型Stage模型介紹

    FA模型Stage模型介紹 KaihongOS操作系統中,FA模型(Feature Abil
    發表于 04-24 07:27

    FA模型綁定Stage模型ServiceExtensionAbility介紹

    FA模型綁定Stage模型ServiceExtensionAbility 本文介紹FA模型的三
    發表于 06-04 07:55

    FA模型訪問Stage模型DataShareExtensionAbility說明

    FA模型訪問Stage模型DataShareExtensionAbility 概述 無論FA模型
    發表于 06-04 07:53

    Stage模型啟動FA模型PageAbility方法

    Stage模型啟動FA模型PageAbility 本小節介紹Stage模型的兩種應用組件如何啟
    發表于 06-04 06:36

    如何將一個FA模型開發的聲明式范式應用切換到Stage模型

    模型切換概述 本文介紹如何將一個FA模型開發的聲明式范式應用切換到Stage模型,您需要完成如下動作: 工程切換:新建一個
    發表于 06-04 06:22

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

    module的切換 從FA模型切換到Stage模型時,開發者需要將config.json文件module標簽下的配置遷移到module.json5配置文件module標簽下,具體差異
    發表于 06-05 08:16

    FA模型卡片和Stage模型卡片切換

    卡片切換 卡片切換主要包含如下三部分: 卡片頁面布局:FA模型卡片和Stage模型卡片的布局都采用類web范式開發可以直接復用。 卡片配置文件:
    發表于 06-06 08:10

    FA模型Stage模型API切換概述

    API切換概述 FA模型Stage模型由于線程模型和進程模型的差異,部分接口僅在
    發表于 06-06 06:29

    鴻蒙開發Ability Kit程序框架服務:FA模型Stage模型應用組件互通綜述

    FA模型Stage模型是兩套不同的應用模型,他們擁有各自的組件。FA
    的頭像 發表于 06-24 16:43 ?935次閱讀
    <b class='flag-5'>鴻蒙</b>開發Ability Kit程序框架服務:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>與<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>應用組件互通綜述

    鴻蒙開發Ability Kit程序框架服務:FA模型啟動Stage模型UIAbility

    本文介紹FA模型的三種應用組件如何啟動Stage模型的UIAbility組件。
    的頭像 發表于 06-25 16:00 ?642次閱讀
    <b class='flag-5'>鴻蒙</b>開發Ability Kit程序框架服務:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>啟動<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>UIAbility

    鴻蒙開發Ability Kit程序框架服務:FA模型綁定Stage模型ServiceExtensionAbility

    本文介紹FA模型的三種應用組件如何綁定Stage模型的ServiceExtensionAbility組件。
    的頭像 發表于 06-25 10:43 ?526次閱讀
    <b class='flag-5'>鴻蒙</b>開發Ability Kit程序框架服務:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>綁定<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>ServiceExtensionAbility

    鴻蒙開發Ability Kit程序框架服務:FA模型訪問Stage模型DataShareExtensionAbility

    無論FA模型還是Stage模型,數據讀寫功能都包含客戶端和服務端兩部分。
    的頭像 發表于 06-25 14:30 ?673次閱讀
    <b class='flag-5'>鴻蒙</b>開發Ability Kit程序框架服務:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>訪問<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>DataShareExtensionAbility

    鴻蒙開發Ability Kit程序框架服務:Stage模型啟動FA模型PageAbility

    本小節介紹Stage模型的兩種應用組件如何啟動FA模型的PageAbility組件。
    的頭像 發表于 06-26 09:50 ?643次閱讀
    <b class='flag-5'>鴻蒙</b>開發Ability Kit程序框架服務:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>啟動<b class='flag-5'>FA</b><b class='flag-5'>模型</b>PageAbility

    鴻蒙開發Ability Kit程序框架服務:Stage模型綁定FA模型ServiceAbility

    本小節介紹Stage模型的兩種應用組件如何綁定FA模型ServiceAbility組件。
    的頭像 發表于 06-25 21:47 ?538次閱讀
    <b class='flag-5'>鴻蒙</b>開發Ability Kit程序框架服務:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>綁定<b class='flag-5'>FA</b><b class='flag-5'>模型</b>ServiceAbility

    鴻蒙開發Ability Kit程序框架服務:FA模型切換Stage模型概述

    本文介紹如何將一個FA模型開發的聲明式范式應用切換到Stage模型
    的頭像 發表于 06-26 14:40 ?588次閱讀
    <b class='flag-5'>鴻蒙</b>開發Ability Kit程序框架服務:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>切換<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>概述
    主站蜘蛛池模板: 国产美女主播在线 | 久久久xxx| 黄色绿像一级片 | 99亚洲精品卡2卡三卡4卡2卡 | 456成人| 日日摸人人拍人人澡 | 国产人成精品香港三级古代 | 拍拍拍美女黄色1000视频 | 午夜影视免费完整高清在线观看网站 | 成年人网站免费观看 | 在线种子搜索 | 狠狠色噜噜 | 丁香五月网久久综合 | 亚洲大成色www永久网址 | 色午夜在线 | 午夜影院普通 | 丁香视频在线观看播放 | 五月天婷婷爱 | 激情玖玖 | 免费观看视频在线 | 鲁丝一区二区三区 | 99久久综合| 波多野结衣在线视频免费观看 | 女人牲交一级毛片 | 九九99久久精品影视 | 爱爱免费视频网站 | 一级黄色录像视频 | 色偷偷综合 | 国产高清成人 | 天堂社区在线视频 | 欧美成网站 | 欧美黄色片 一级片 | 亚洲高清在线视频 | 欧美成人一区二区三区在线电影 | 黑人边吃奶边扎下面激情视频 | 亚洲人成毛片线播放 | 熊出没之环球大冒险旧版免费观看 | 亚洲手机看片 | www.精品视频 | 看片国产 | 色狠狠色综合吹潮 |