RM新时代网站-首页

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

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

3天內不再提示

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

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-25 14:30 ? 次閱讀

FA模型訪問Stage模型DataShareExtensionAbility

概述

無論FA模型還是Stage模型,數據讀寫功能都包含客戶端和服務端兩部分。

  • FA模型中,客戶端是由DataAbilityHelper提供對外接口,服務端是由DataAbility提供數據庫的讀寫服務。
  • Stage模型中,客戶端是由DataShareHelper提供對外接口,服務端是由DataShareExtensionAbility提供數據庫的讀寫服務。
  • 開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

服務端由FA模型升級到Stage模型后,會導致FA模型的客戶端在API 9(含)之后的版本上無法訪問服務端。

為了解決上述問題,系統(tǒng)在框架側提供了一個解決方案,讓開發(fā)者平滑過渡到API 9(含)之后的版本。

基本原理

一種兼容方法是DataAbilityHelper根據傳入的URI的前綴是DataAbility還是DataShare來決定是否調DataShareHelper的接口。但是這種方法需要開發(fā)者修改原客戶端代碼的URI,做不到無感知切換。

因此DataAbilityHelper不能僅依賴URI的前綴決定訪問DataAbility還是DataShareExtensionAbility,系統(tǒng)采用的方法是:

  1. 先按照傳入的URI拉起DataAbility;如果拉起失敗,再將傳入的URI的前綴轉換成DataShare再去嘗試拉起DataShareExtensionAbility。
  2. 如果URI無對應的DataAbility和DataShareExtensionAbility,則拉起失敗;反之,必定會拉起DataAbility或者DataShareExtensionAbility。

約束與限制

  1. 由DataAbility切換到DataShareExtensionAbility時,只能修改URI的前綴,不能修改URI的其他部分。FAvsStage-uri
  2. DataShareHelper并沒有實現(xiàn)原DataAbilityHelper對外API接口的所有功能,因此有部分接口是無法兼容的,具體如表1所示。
    表1 FA模型訪問stage模型DataShareExtensionAbility接口支持情況
    搜狗高速瀏覽器截圖20240326151547.png
接口HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿DataAbilityHelper是否提供DataShareHelper是否提供是否兼容
on
off
notifyChange
insert
delete
query
update
batchInsert
getType
getFileTypes
normalizeUri
denormalizeUri
openFile
call
executeBatch

審核編輯 黃宇

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

    關注

    33

    文章

    8575

    瀏覽量

    151015
  • 框架
    +關注

    關注

    0

    文章

    403

    瀏覽量

    17475
  • 模型
    +關注

    關注

    1

    文章

    3226

    瀏覽量

    48807
  • 鴻蒙
    +關注

    關注

    57

    文章

    2339

    瀏覽量

    42805
收藏 人收藏

    評論

    相關推薦

    鴻蒙Ability開發(fā)-Stage模型Ability的創(chuàng)建和使用

    Ability開發(fā)技術的簡單運用,更多的鴻蒙開發(fā)技術可以前往我主頁查詢,下面分享鴻蒙開發(fā)4.0
    發(fā)表于 01-08 15:34

    鴻蒙服務萬能卡片開發(fā)-stage模型fa模型的卡片區(qū)別

    一、項目類型 Application: 應用開發(fā) Atomic Service:原子化服務開發(fā) 這里選擇Empty Ability模板創(chuàng)建項目。 二、
    發(fā)表于 05-22 14:20

    鴻蒙應用模型:【Ability Kit】簡介

    Ability Kit程序框架服務)提供了應用程序開發(fā)
    的頭像 發(fā)表于 05-29 14:41 ?635次閱讀
    <b class='flag-5'>鴻蒙</b>應用<b class='flag-5'>模型</b>:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】簡介

    鴻蒙Ability Kit程序框架服務)【Ability內頁面間的跳轉】

    基于Stage模型下的Ability開發(fā),實現(xiàn)Ability內頁面間的跳轉和數據傳遞。
    的頭像 發(fā)表于 06-03 20:43 ?296次閱讀
    <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'>服務</b>)【<b class='flag-5'>Ability</b>內頁面間的跳轉】

    鴻蒙Ability Kit程序框架服務)【組件啟動規(guī)則(Stage模型)】

    組件啟動規(guī)則(Stage模型) 啟動組件是指一切啟動或連接應用組件的行為: 啟動UIAbility、ServiceExtensionAbility、DataShareExtensionAbility
    的頭像 發(fā)表于 06-10 18:47 ?913次閱讀
    <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'>服務</b>)【組件啟動規(guī)則(<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>)】

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

    FA模型Stage模型是兩套不同的應用模型,他們擁有各自的組件。FA
    的頭像 發(fā)表于 06-24 16:43 ?516次閱讀
    <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'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>與<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>應用組件互通綜述

    鴻蒙開發(fā)Ability Kit程序框架服務FA模型啟動Stage模型UIAbility

    本文介紹FA模型的三種應用組件如何啟動Stage模型的UIAbility組件。
    的頭像 發(fā)表于 06-25 16:00 ?359次閱讀
    <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'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>啟動<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>UIAbility

    鴻蒙開發(fā)Ability Kit程序框架服務FA模型綁定Stage模型ServiceExtensionAbility

    本文介紹FA模型的三種應用組件如何綁定Stage模型的ServiceExtensionAbility組件。
    的頭像 發(fā)表于 06-25 10:43 ?288次閱讀
    <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'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>綁定<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>ServiceExtensionAbility

    鴻蒙開發(fā)Ability Kit程序框架服務Stage模型啟動FA模型PageAbility

    本小節(jié)介紹Stage模型的兩種應用組件如何啟動FA模型的PageAbility組件。
    的頭像 發(fā)表于 06-26 09:50 ?360次閱讀
    <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'>服務</b>:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>啟動<b class='flag-5'>FA</b><b class='flag-5'>模型</b>PageAbility

    鴻蒙開發(fā)Ability Kit程序框架服務Stage模型綁定FA模型ServiceAbility

    本小節(jié)介紹Stage模型的兩種應用組件如何綁定FA模型ServiceAbility組件。
    的頭像 發(fā)表于 06-25 21:47 ?301次閱讀
    <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'>服務</b>:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>綁定<b class='flag-5'>FA</b><b class='flag-5'>模型</b>ServiceAbility

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

    本文介紹如何將一個FA模型開發(fā)的聲明式范式應用切換到Stage模型
    的頭像 發(fā)表于 06-26 14:40 ?336次閱讀
    <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'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>切換<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>概述

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

    為了便于開發(fā)者維護應用級別的屬性配置,Stage模型將config.json中的app和deviceConfig標簽提取到了app.json5中進行配置,并對部分標簽名稱進行了修改,具體差異見下表。
    的頭像 發(fā)表于 06-27 10:01 ?345次閱讀
    <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'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>切換<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>指導 app和deviceConfig的切換

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

    FA模型切換到Stage模型時,開發(fā)者需要將config.json文件module標簽下的配置遷移到module.json5配置文件mod
    的頭像 發(fā)表于 06-27 14:16 ?447次閱讀
    <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'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>切換<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>指導 module的切換

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

    FA模型中的DataAbility對應Stage模型中的DataShareExtensionAbility。
    的頭像 發(fā)表于 06-28 14:08 ?246次閱讀
    <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'>服務</b>:DataAbility切換 組件切換

    鴻蒙開發(fā)Ability Kit程序框架服務:API切換概述 API切換

    FA模型Stage模型由于線程模型和進程模型的差異,部分接口僅在
    的頭像 發(fā)表于 06-28 16:23 ?333次閱讀
    <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'>服務</b>:API切換概述 API切換
    RM新时代网站-首页