DataAbility切換
FA模型中的DataAbility對(duì)應(yīng)Stage模型中的DataShareExtensionAbility。
與ServiceExtensionAbility類似,Stage模型下的DataShareExtensionAbility為系統(tǒng)API,只有系統(tǒng)應(yīng)用才可以創(chuàng)建。因此,F(xiàn)A模型的DataAbility的切換,對(duì)于系統(tǒng)應(yīng)用和三方應(yīng)用策略有所不同。下面分別介紹這兩種場(chǎng)景。
系統(tǒng)應(yīng)用DataAbility切換至DataShareExtensionAbility
遷移步驟和PageAbility基本一致。
- 在Stage應(yīng)用中創(chuàng)建DataShareExtensionAbility。
- 將FA應(yīng)用中DataAbility的業(yè)務(wù)代碼遷移到新創(chuàng)建的DataShareExtensionAbility中。 DataAbility和DataShareExtensionAbility生命周期對(duì)比見(jiàn)下表。
- 開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]FA的DataAbility Stage的DataShareExtensionAbility 對(duì)比描述 onInitialized?(info: AbilityInfo): void onCreate?(want: Want, callback: AsyncCallback): void 兩者調(diào)用時(shí)機(jī)一致,函數(shù)名即入?yún)⒍疾灰粯?,Stage模型下增加了入?yún)ant以便開(kāi)發(fā)者在創(chuàng)建時(shí)獲取參數(shù)。 update?(uri: string, valueBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback): void update?(uri: string, predicates: dataSharePredicates.DataSharePredicates, value: ValuesBucket, callback: AsyncCallback): void 兩者意義和調(diào)用時(shí)機(jī)一致,參數(shù)順序和參數(shù)類型略有不同,需要簡(jiǎn)單改造。 query?(uri: string, columns: Array, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback): void query?(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns: Array, callback: AsyncCallback): void; 兩者意義和調(diào)用時(shí)機(jī)一致,參數(shù)順序和參數(shù)類型略有不同,需要簡(jiǎn)單改造。 delete?(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback): void delete?(uri: string, predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallback): 兩者意義和調(diào)用時(shí)機(jī)一致,參數(shù)類型略有不同,需要簡(jiǎn)單改造。 normalizeUri?(uri: string, callback: AsyncCallback): void normalizeUri?(uri: string, callback: AsyncCallback): void 兩者意義和調(diào)用時(shí)機(jī)一致,參數(shù)也一致。 batchInsert?(uri: string, valueBuckets: Array, callback: AsyncCallback): void batchInsert?(uri: string, values: Array, callback: AsyncCallback): void 兩者意義和調(diào)用時(shí)機(jī)一致,參數(shù)類型略有不同,需要簡(jiǎn)單改造。 denormalizeUri?(uri: string, callback: AsyncCallback): void denormalizeUri?(uri: string, callback: AsyncCallback): void 兩者意義和調(diào)用時(shí)機(jī)一致,參數(shù)也一致。 insert?(uri: string, valueBucket: rdb.ValuesBucket, callback: AsyncCallback): void insert?(uri: string, value: ValuesBucket, callback: AsyncCallback): void 兩者意義和調(diào)用時(shí)機(jī)一致,參數(shù)類型略有不同,需要簡(jiǎn)單改造。 openFile?(uri: string, mode: string, callback: AsyncCallback): void NA Stage模型不支持uri跨進(jìn)程訪問(wèn),建議通過(guò)[want攜帶FD和文件信息]進(jìn)行跨進(jìn)程文件訪問(wèn)。 getFileTypes?(uri: string, mimeTypeFilter: string, callback: AsyncCallback>): void NA Stage模型不支持uri跨進(jìn)程訪問(wèn),建議通過(guò)[want攜帶FD和文件信息]進(jìn)行跨進(jìn)程文件訪問(wèn)。 getType?(uri: string, callback: AsyncCallback): void NA Stage模型不支持uri跨進(jìn)程訪問(wèn),建議通過(guò)[want攜帶FD和文件信息]進(jìn)行跨進(jìn)程文件訪問(wèn)。 executeBatch?(ops: Array, callback: AsyncCallback>): void NA DataShareExtensonAbility不提供該接口,開(kāi)發(fā)者需根據(jù)業(yè)務(wù)功能重新實(shí)現(xiàn)。 call?(method: string, arg: string, extras: PacMap, callback: AsyncCallback): void NA HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿DataShareExtensonAbility不提供該接口,開(kāi)發(fā)者需根據(jù)業(yè)務(wù)功能重新實(shí)現(xiàn)。

三方應(yīng)用DataAbility改造為公共模塊
Stage模型三方應(yīng)用不能對(duì)其他三方提供數(shù)據(jù),應(yīng)用需要根據(jù)具體業(yè)務(wù)選擇切換方案。
| DataAbility業(yè)務(wù)類型 | 切換DataShareExtension策略 |
|---|---|
| 對(duì)三方提供數(shù)據(jù) | 需根據(jù)業(yè)務(wù)場(chǎng)景匹配到系統(tǒng)對(duì)應(yīng)的場(chǎng)景化[ExtensionAbility]。 |
| 應(yīng)用內(nèi)使用的數(shù)據(jù) | 對(duì)應(yīng)用內(nèi)其他組件提供數(shù)據(jù),建議提取公共模塊。 |
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
組件
+關(guān)注
關(guān)注
1文章
573瀏覽量
19023 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2963瀏覽量
45907
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
基于開(kāi)源鴻蒙的視頻播放開(kāi)發(fā)樣例
在開(kāi)源鴻蒙生態(tài)建設(shè)中,多媒體能力是構(gòu)建豐富用戶體驗(yàn)的核心要素。本開(kāi)發(fā)樣例針對(duì)視頻播放場(chǎng)景,聚焦開(kāi)源鴻蒙原生媒體框架,通過(guò)Video組件實(shí)現(xiàn)視
【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐
【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用
鴻蒙5開(kāi)發(fā)寶藏案例分享---在線短視頻流暢切換
“別卷了!鴻蒙官方早把‘性能優(yōu)化外掛’塞你手里了,就藏在開(kāi)發(fā)者聯(lián)盟的【最佳實(shí)踐】里!”
兄弟們,最近在鴻蒙開(kāi)發(fā)者聯(lián)盟里扒文檔時(shí), 無(wú)意間挖到個(gè)寶藏分區(qū)——【最佳實(shí)踐】 **。好家伙!幾
發(fā)表于 06-12 11:31
FA模型的DataAbility的切換介紹
,開(kāi)發(fā)者需根據(jù)業(yè)務(wù)功能重新實(shí)現(xiàn)。
三方應(yīng)用DataAbility改造為公共模塊
Stage模型三方應(yīng)用不能對(duì)其他三方提供數(shù)據(jù),應(yīng)用需要根據(jù)具體業(yè)務(wù)選擇切換方案。
DataAbility
發(fā)表于 06-06 08:10
FA模型和Stage模型API切換概述
API切換概述
FA模型和Stage模型由于線程模型和進(jìn)程模型的差異,部分接口僅在FA模型下才能使用,針對(duì)這部分接口在SDK的接口中有FAModelOnly的標(biāo)記,用于提醒開(kāi)發(fā)者這部分接口僅能
發(fā)表于 06-06 06:29
從FA模型切換到Stage模型時(shí):module的切換說(shuō)明
form_config.json。
srcLanguageAbility開(kāi)發(fā)語(yǔ)言的類型。/Stage模型不支持。
srcPath該標(biāo)簽標(biāo)識(shí)Ability對(duì)應(yīng)的JS組件代碼路徑。srcEntry該標(biāo)簽標(biāo)識(shí)
發(fā)表于 06-05 08:16
FA模型的ServiceAbility的切換介紹
,應(yīng)用可以根據(jù)具體業(yè)務(wù)選擇切換方案。
業(yè)務(wù)類型切換策略對(duì)其他三方應(yīng)用提供服務(wù)需根據(jù)業(yè)務(wù)場(chǎng)景匹配到系統(tǒng)對(duì)應(yīng)的場(chǎng)景化ExtensionAbility。
應(yīng)用內(nèi):前臺(tái)運(yùn)行時(shí)公共使用可以將該組件
發(fā)表于 06-05 07:24
如何將一個(gè)FA模型開(kāi)發(fā)的聲明式范式應(yīng)用切換到Stage模型
為app.json5和module.json5。
組件切換:PageAbility/ServiceAbility/DataAbility切換為UIAbility和ExtensionAb
發(fā)表于 06-04 06:22
DataAbility組件概述介紹
DataAbility組件概述
DataAbility,即\"使用Data模板的Ability\",主要用于對(duì)外部提供統(tǒng)一的數(shù)據(jù)訪問(wèn)抽象,不提供用戶交互界面
發(fā)表于 05-28 08:19
鴻蒙應(yīng)用元服務(wù)開(kāi)發(fā)-Account Kit配置登錄權(quán)限
和UnionID的格式說(shuō)明,兩者的定義與使用場(chǎng)景:
說(shuō)明
在開(kāi)發(fā)元服務(wù)時(shí),您需要考慮同一用戶在非元服務(wù)和元服務(wù)的用戶數(shù)據(jù)是否互通。如果您之前使用OpenID來(lái)關(guān)聯(lián)用戶數(shù)據(jù),我們建議將用
發(fā)表于 04-15 16:03
鴻蒙應(yīng)用元服務(wù)開(kāi)發(fā)-Account Kit獲取手機(jī)號(hào)
一、概述
當(dāng)元服務(wù)需要獲取用戶手機(jī)號(hào)時(shí),可通過(guò)調(diào)用Scenario Fusion Kit提供的Button組件,引導(dǎo)用戶完成手機(jī)號(hào)授權(quán)。
Scenario Fusion Kit通過(guò)提供
發(fā)表于 04-08 16:14
鴻蒙應(yīng)用元服務(wù)開(kāi)發(fā)-Account Kit獲取收貨地址
Fusion Kit對(duì)應(yīng)的Button組件并設(shè)置openType為CHOOSE_ADDRESS,打開(kāi)華為賬號(hào)收貨地址管理頁(yè)面。
用戶可以在收貨地址管理頁(yè)面添加新的收貨地址或者選擇已有收貨地址,點(diǎn)擊確認(rèn)后
發(fā)表于 04-07 17:15
鴻蒙應(yīng)用元服務(wù)開(kāi)發(fā)-Account Kit獲取華為賬號(hào)用戶信息概述
獲取與展示。
(二)業(yè)務(wù)流程
流程說(shuō)明:
元服務(wù)調(diào)用Scenario Fusion Kit對(duì)應(yīng)的Button組件,選擇CHOOSE_AVATAR模式。
用戶點(diǎn)擊Button,拉起頭像選擇頁(yè)面。
用戶有
發(fā)表于 04-02 11:10
鴻蒙應(yīng)用元服務(wù)開(kāi)發(fā)-Account Kit獲發(fā)票抬頭
一、場(chǎng)景介紹
當(dāng)元服務(wù)需要獲取用戶發(fā)票抬頭時(shí),可使用選擇發(fā)票抬頭Button,幫助用戶打開(kāi)發(fā)票抬頭選擇頁(yè)面進(jìn)行選擇或管理發(fā)票抬頭。
二、業(yè)務(wù)流程
流程說(shuō)明:
用戶需要使用發(fā)票抬頭時(shí),元服務(wù)通過(guò)調(diào)用
發(fā)表于 04-01 15:26
鴻蒙應(yīng)用元服務(wù)開(kāi)發(fā)-Account Kit概述
Account Kit(華為賬號(hào)服務(wù))提供簡(jiǎn)單、快速、安全的登錄功能,讓用戶快捷地使用華為賬號(hào)登錄元服務(wù)。用戶授權(quán)后,Account Kit可提供頭像、手機(jī)號(hào)碼等信息,幫助元
發(fā)表于 03-31 12:08
鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):DataAbility切換 組件切換
評(píng)論