DataAbility切換
FA模型中的DataAbility對應(yīng)Stage模型中的DataShareExtensionAbility。
與ServiceExtensionAbility類似,Stage模型下的DataShareExtensionAbility為系統(tǒng)API,只有系統(tǒng)應(yīng)用才可以創(chuàng)建。因此,F(xiàn)A模型的DataAbility的切換,對于系統(tǒng)應(yīng)用和三方應(yī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生命周期對比見下表。
- 開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]FA的DataAbility Stage的DataShareExtensionAbility 對比描述 onInitialized?(info: AbilityInfo): void onCreate?(want: Want, callback: AsyncCallback): void 兩者調(diào)用時機一致,函數(shù)名即入?yún)⒍疾灰粯?,Stage模型下增加了入?yún)ant以便開發(fā)者在創(chuàng)建時獲取參數(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ù)順序和參數(shù)類型略有不同,需要簡單改造。 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ù)順序和參數(shù)類型略有不同,需要簡單改造。 delete?(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback): void delete?(uri: string, predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallback): 兩者意義和調(diào)用時機一致,參數(shù)類型略有不同,需要簡單改造。 normalizeUri?(uri: string, callback: AsyncCallback): void normalizeUri?(uri: string, callback: AsyncCallback): void 兩者意義和調(diào)用時機一致,參數(shù)也一致。 batchInsert?(uri: string, valueBuckets: Array, callback: AsyncCallback): void batchInsert?(uri: string, values: Array, callback: AsyncCallback): void 兩者意義和調(diào)用時機一致,參數(shù)類型略有不同,需要簡單改造。 denormalizeUri?(uri: string, callback: AsyncCallback): void denormalizeUri?(uri: string, callback: AsyncCallback): void 兩者意義和調(diào)用時機一致,參數(shù)也一致。 insert?(uri: string, valueBucket: rdb.ValuesBucket, callback: AsyncCallback): void insert?(uri: string, value: ValuesBucket, callback: AsyncCallback): void 兩者意義和調(diào)用時機一致,參數(shù)類型略有不同,需要簡單改造。 openFile?(uri: string, mode: string, callback: AsyncCallback): void NA Stage模型不支持uri跨進程訪問,建議通過[want攜帶FD和文件信息]進行跨進程文件訪問。 getFileTypes?(uri: string, mimeTypeFilter: string, callback: AsyncCallback>): void NA Stage模型不支持uri跨進程訪問,建議通過[want攜帶FD和文件信息]進行跨進程文件訪問。 getType?(uri: string, callback: AsyncCallback): void NA Stage模型不支持uri跨進程訪問,建議通過[want攜帶FD和文件信息]進行跨進程文件訪問。 executeBatch?(ops: Array, callback: AsyncCallback>): void NA DataShareExtensonAbility不提供該接口,開發(fā)者需根據(jù)業(yè)務(wù)功能重新實現(xiàn)。 call?(method: string, arg: string, extras: PacMap, callback: AsyncCallback): void NA HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
DataShareExtensonAbility不提供該接口,開發(fā)者需根據(jù)業(yè)務(wù)功能重新實現(xiàn)。
三方應(yīng)用DataAbility改造為公共模塊
Stage模型三方應(yīng)用不能對其他三方提供數(shù)據(jù),應(yīng)用需要根據(jù)具體業(yè)務(wù)選擇切換方案。
DataAbility業(yè)務(wù)類型 | 切換DataShareExtension策略 |
---|---|
對三方提供數(shù)據(jù) | 需根據(jù)業(yè)務(wù)場景匹配到系統(tǒng)對應(yīng)的場景化[ExtensionAbility]。 |
應(yīng)用內(nèi)使用的數(shù)據(jù) | 對應(yīng)用內(nèi)其他組件提供數(shù)據(jù),建議提取公共模塊。 |
審核編輯 黃宇
-
組件
+關(guān)注
關(guān)注
1文章
518瀏覽量
17934 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2393瀏覽量
43079
發(fā)布評論請先 登錄
相關(guān)推薦
鴻蒙開發(fā)Ability Kit程序框架服務(wù):API切換概述 API切換
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>:API<b class='flag-5'>切換</b>概述 API<b class='flag-5'>切換</b>](https://file1.elecfans.com/web2/M00/F3/F3/wKgaomZ7tpOABHPIAACGvTvpA9o889.jpg)
鴻蒙開發(fā)Ability Kit程序框架服務(wù):PageAbility切換 組件切換
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>:PageAbility<b class='flag-5'>切換</b> <b class='flag-5'>組件</b><b class='flag-5'>切換</b>](https://file1.elecfans.com/web2/M00/F4/B2/wKgaomZ9V_mAFCmsAAEmkiq_e4E734.jpg)
鴻蒙開發(fā)Ability Kit程序框架服務(wù):ServiceAbility切換 組件切換
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>:ServiceAbility<b class='flag-5'>切換</b> <b class='flag-5'>組件</b><b class='flag-5'>切換</b>](https://file1.elecfans.com/web2/M00/EB/FD/wKgZomZga66AH7OqAAB0JZzan-Y410.png)
鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型指導 module的切換
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>:FA模型<b class='flag-5'>切換</b>Stage模型指導 module的<b class='flag-5'>切換</b>](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型指導 app和deviceConfig的切換
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>:FA模型<b class='flag-5'>切換</b>Stage模型指導 app和deviceConfig的<b class='flag-5'>切換</b>](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型與Stage模型應(yīng)用組件互通綜述
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>:FA模型與Stage模型應(yīng)用<b class='flag-5'>組件</b>互通綜述](https://file1.elecfans.com/web2/M00/F2/5C/wKgZomZ5J5OAKymYAAQbWDMAR2M322.jpg)
鴻蒙開發(fā)組件:DataAbility權(quán)限控制
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>組件</b>:<b class='flag-5'>DataAbility</b>權(quán)限控制](https://file1.elecfans.com/web2/M00/C6/E9/wKgaomYEK1aAOyTeAADysXFhWs8242.png)
鴻蒙Ability Kit(程序框架服務(wù))【應(yīng)用啟動框架AppStartup】
鴻蒙Ability Kit(程序框架服務(wù))【Ability與ServiceExtensionAbility通信】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【<b class='flag-5'>Ability</b>與ServiceExtensionAbility通信】](https://file1.elecfans.com/web2/M00/EC/91/wKgaomZfBTaAUYFaAAIK5_JVZ4U512.jpg)
鴻蒙Ability Kit(程序框架服務(wù))【ExtensionAbility組件】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【ExtensionAbility<b class='flag-5'>組件</b>】](https://file1.elecfans.com/web2/M00/EA/D2/wKgaomZVz_2AdNl_AADm68VM4QA306.jpg)
鴻蒙Ability Kit(程序框架服務(wù))【ServiceExtensionAbility】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【ServiceExtensionAbility】](https://file1.elecfans.com/web2/M00/C6/E9/wKgaomYEK1aAOyTeAADysXFhWs8242.png)
鴻蒙Ability Kit(程序框架服務(wù))【Ability內(nèi)頁面間的跳轉(zhuǎn)】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【<b class='flag-5'>Ability</b>內(nèi)頁面間的跳轉(zhuǎn)】](https://file1.elecfans.com/web2/M00/E3/5B/wKgaomY7dICAanabAG9fQxOwEh0579.jpg)
評論