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ì)比見下表。
- 開發(fā)前請(qǐng)熟悉鴻蒙開發(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)⒍疾灰粯樱琒tage模型下增加了入?yún)ant以便開發(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)程訪問,建議通過[want攜帶FD和文件信息]進(jìn)行跨進(jìn)程文件訪問。 getFileTypes?(uri: string, mimeTypeFilter: string, callback: AsyncCallback>): void NA Stage模型不支持uri跨進(jìn)程訪問,建議通過[want攜帶FD和文件信息]進(jìn)行跨進(jìn)程文件訪問。 getType?(uri: string, callback: AsyncCallback): void NA Stage模型不支持uri跨進(jìn)程訪問,建議通過[want攜帶FD和文件信息]進(jìn)行跨進(jìn)程文件訪問。 executeBatch?(ops: Array, callback: AsyncCallback>): void NA DataShareExtensonAbility不提供該接口,開發(fā)者需根據(jù)業(yè)務(wù)功能重新實(shí)現(xiàn)。 call?(method: string, arg: string, extras: PacMap, callback: AsyncCallback): void NA HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
DataShareExtensonAbility不提供該接口,開發(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ù),建議提取公共模塊。 |
審核編輯 黃宇
-
組件
+關(guān)注
關(guān)注
1文章
529瀏覽量
18297 -
鴻蒙
+關(guān)注
關(guān)注
59文章
2508瀏覽量
43768
發(fā)布評(píng)論請(qǐng)先 登錄
DataAbility組件概述介紹
鴻蒙開發(fā)Ability Kit程序框架服務(wù):API切換概述 API切換

鴻蒙開發(fā)Ability Kit程序框架服務(wù):PageAbility切換 組件切換

鴻蒙開發(fā)Ability Kit程序框架服務(wù):ServiceAbility切換 組件切換

鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型指導(dǎo) module的切換

鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型指導(dǎo) app和deviceConfig的切換

鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型與Stage模型應(yīng)用組件互通綜述

鴻蒙開發(fā)Ability Kit程序框架服務(wù):任務(wù)管理

鴻蒙開發(fā)組件:DataAbility權(quán)限控制

鴻蒙Ability Kit(程序框架服務(wù))【應(yīng)用啟動(dòng)框架AppStartup】
鴻蒙Ability Kit(程序框架服務(wù))【UIAbility組件基本用法】

鴻蒙Ability Kit(程序框架服務(wù))【AbilityStage組件容器】

鴻蒙Ability Kit(程序框架服務(wù))【Ability與ServiceExtensionAbility通信】

鴻蒙Ability Kit(程序框架服務(wù))【UIExtensionAbility】

評(píng)論