自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)系型數(shù)據(jù)庫—?jiǎng)討B(tài)共享包開發(fā)

數(shù)據(jù)庫 其他數(shù)據(jù)庫
用靜態(tài)共享包把數(shù)據(jù)庫表操作抽出來,在Entry模塊上引入使用,對的,這樣也是可以達(dá)到分離,但如果有部分公共的資源和代碼,只能在開發(fā)靜態(tài)共享,并且打包到每個(gè)依賴的HAP里,這樣導(dǎo)致包體積較大,且有重復(fù)多份公共資源和代碼重復(fù)打包到應(yīng)用中。

想了解更多關(guān)于開源的內(nèi)容,請?jiān)L問:

51CTO 開源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

前言

當(dāng)看到DevEco Studio 3.1 Release | 動(dòng)態(tài)共享包開發(fā),編譯更快,包更小這篇文章時(shí),就馬上想動(dòng)手寫一個(gè)Demo, 把平常工作寫后端結(jié)構(gòu)搬上來,從0開始寫一個(gè)動(dòng)態(tài)共享包Demo有點(diǎn)費(fèi)時(shí),于是在Codelabs看到一個(gè)關(guān)系型數(shù)據(jù)庫(ArkTS) 的Sample,就想著在這基礎(chǔ)上,把數(shù)據(jù)庫表操作,抽到動(dòng)態(tài)共享包模塊,然后在Entry模塊上引入使用,到這里可能有小伙伴有疑問?其實(shí)用靜態(tài)共享包把數(shù)據(jù)庫表操作抽出來,在Entry模塊上引入使用,對的,這樣也是可以達(dá)到分離,但如果有部分公共的資源和代碼,只能在開發(fā)靜態(tài)共享,并且打包到每個(gè)依賴的HAP里,這樣導(dǎo)致包體積較大,且有重復(fù)多份公共資源和代碼重復(fù)打包到應(yīng)用中。如果使用動(dòng)態(tài)共享,可以減少包體積,讓多個(gè)HAP能夠共享同一公共資源代碼。應(yīng)用內(nèi)動(dòng)態(tài)共享包指的是專門為某一應(yīng)用開發(fā)的動(dòng)態(tài)共享包,只能被該應(yīng)用內(nèi)部其他HAP/HSP使用,用于應(yīng)用內(nèi)部代碼、資源的共享。 應(yīng)用內(nèi)HSP跟隨其宿主應(yīng)用的APP包一起發(fā)布,與該宿主應(yīng)用具有相同的包名和生命周期。下面先看看這個(gè)賬目記錄Demo的效果圖:

關(guān)系型數(shù)據(jù)庫-動(dòng)態(tài)共享包開發(fā)-開源基礎(chǔ)軟件社區(qū)

知識(shí)點(diǎn)

關(guān)系型數(shù)據(jù)庫

https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-data-relationalstore-0000001493744128-V3?catalogVersinotallow=V3。

開發(fā)及引用動(dòng)態(tài)共享包

https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/hsp-0000001521396322-V3?catalogVersinotallow=V3。

項(xiàng)目結(jié)構(gòu)圖

關(guān)系型數(shù)據(jù)庫-動(dòng)態(tài)共享包開發(fā)-開源基礎(chǔ)軟件社區(qū)

動(dòng)態(tài)共享包結(jié)構(gòu)圖

關(guān)系型數(shù)據(jù)庫-動(dòng)態(tài)共享包開發(fā)-開源基礎(chǔ)軟件社區(qū)

頁面邏輯結(jié)構(gòu)圖

關(guān)系型數(shù)據(jù)庫-動(dòng)態(tài)共享包開發(fā)-開源基礎(chǔ)軟件社區(qū)

講解

1、動(dòng)態(tài)共享包創(chuàng)建、開發(fā)與導(dǎo)出

(1)創(chuàng)建動(dòng)態(tài)共享包具體操作參考官方文檔:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/hsp-0000001521396322-V3?catalogVersinotallow=V3.

(2)開發(fā)按照業(yè)務(wù)邏輯編寫相應(yīng)代碼就行.

(3)導(dǎo)出業(yè)務(wù)接口,給其它地方引用使用,在Index.ets文件編寫導(dǎo)出內(nèi)容,如下:

export { AccountTable } from "./database/tables/AccountTable"
export { AccountData } from "./bean/AccountData"
export { AccountItem } from "./bean/AccountItem"
export { Logger } from "./utils/Logger"

(4)編譯動(dòng)態(tài)共享包,參考1.1官方文檔鏈接,通過DevEco Studio菜單欄的Build > Make Module ${libraryName}進(jìn)行編譯構(gòu)建,生成HSP。

2、Entry模塊引入使用

(1)在使用方entry/feature模塊的oh-package.json5文件中添加HSP模塊引用,以引用名為sharedlibrary的HSP為例:

{
  ...
  "dependencies": {
    "@ohos/db_library": "file:../DB_library"
  }
}

(2) 運(yùn)行引用HSP的使用方模塊,單擊Run > Edit Configurations,選擇Deploy Multi Hap標(biāo)簽頁,勾選Deploy Multi Hap Packages,選擇使用方模塊(如entry)和HSP模塊(如sharedlibrary),點(diǎn)擊OK,單擊Run > Run’模塊名稱’(如Run ‘entry’)或。DevEco Studio會(huì)啟動(dòng)應(yīng)用/服務(wù)的編譯構(gòu)建,完成后應(yīng)用/服務(wù)即可運(yùn)行在本地真機(jī)或模擬器上.

關(guān)系型數(shù)據(jù)庫-動(dòng)態(tài)共享包開發(fā)-開源基礎(chǔ)軟件社區(qū)

總結(jié)

體驗(yàn)了一番動(dòng)態(tài)共享包實(shí)例,感覺太爽了,不用把全部代碼都寫在Entry模塊里,同時(shí)也節(jié)省了App的大小,目前應(yīng)用內(nèi)HSP指的是專門為某一應(yīng)用開發(fā)的HSP,只能被該應(yīng)用內(nèi)部其他HAP/HSP使用,用于應(yīng)用內(nèi)部代碼、資源的共享。 應(yīng)用內(nèi)HSP跟隨其宿主應(yīng)用的APP包一起發(fā)布,與該宿主應(yīng)用具有相同的包名和生命周期。遺憾當(dāng)前暫不支持跨應(yīng)用共享包,還有引用動(dòng)態(tài)共享包后,預(yù)覽器不支持。

資料文件是源代碼,感興趣小伙伴可以下載來體驗(yàn)一下,約束與限制如下:

  1. 本示例僅支持標(biāo)準(zhǔn)系統(tǒng)上運(yùn)行,支持設(shè)備:華為手機(jī)3.1系統(tǒng)或運(yùn)行在DevEco Studio上的華為手機(jī)遠(yuǎn)程模擬器API9。
  2. 本示例為Stage模型,支持API version 9及以上版本SDK。
  3. 本示例需要使用DevEco Studio 3.1 Release及以上版本進(jìn)行編譯運(yùn)行。

文章相關(guān)附件可以點(diǎn)擊下面的原文鏈接前往下載:

 https://ost.51cto.com/resource/2739。

想了解更多關(guān)于開源的內(nèi)容,請?jiān)L問:

51CTO 開源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

責(zé)任編輯:jianghua 來源: 51CTO 開源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2018-07-18 09:16:39

關(guān)系型非關(guān)系型數(shù)據(jù)庫

2021-09-06 10:24:12

鴻蒙HarmonyOS應(yīng)用

2010-12-10 10:17:21

關(guān)系型數(shù)據(jù)庫

2022-06-13 08:30:01

數(shù)據(jù)庫管理系統(tǒng)

2017-03-17 14:44:04

關(guān)系型數(shù)據(jù)庫原理

2013-03-28 10:22:33

數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫數(shù)據(jù)庫設(shè)計(jì)

2022-12-27 08:38:45

關(guān)系型數(shù)據(jù)庫設(shè)計(jì)

2016-08-23 14:25:19

MySQL約束數(shù)據(jù)庫

2021-01-26 13:31:48

數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫冗余

2021-07-28 14:40:57

鴻蒙HarmonyOS應(yīng)用

2023-05-20 08:11:55

2022-07-27 08:32:01

數(shù)據(jù)庫MySQL

2013-04-26 16:18:29

大數(shù)據(jù)全球技術(shù)峰會(huì)

2018-03-26 12:58:52

數(shù)據(jù)庫OracleMySQL

2013-06-28 11:28:21

Facebook數(shù)據(jù)庫大數(shù)據(jù)

2013-01-08 14:24:23

2011-06-07 17:14:15

關(guān)系型數(shù)據(jù)庫壓縮技術(shù)

2017-01-04 16:18:05

非數(shù)據(jù)庫NoSql關(guān)系型數(shù)據(jù)庫

2022-05-31 07:58:49

TiDB數(shù)據(jù)庫開源

2011-04-13 16:13:53

云計(jì)算關(guān)系型數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)