那曲檬骨新材料有限公司

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙上寫一個(gè)賬目記錄Demo

OpenHarmony技術(shù)社區(qū) ? 來(lái)源:OST開源開發(fā)者 ? 2023-05-29 11:09 ? 次閱讀

當(dāng)看到 DevEco Studio 3.1 Release | 動(dòng)態(tài)共享包開發(fā),編譯更快,包更小這篇文章時(shí),就馬上想動(dòng)手寫一個(gè) Demo,把平常工作寫后端結(jié)構(gòu)搬上來(lái)。

從 0 開始寫一個(gè)動(dòng)態(tài)共享包 Demo 有點(diǎn)費(fèi)時(shí),于是在 Codelabs 看到一個(gè)關(guān)系型數(shù)據(jù)庫(kù)(ArkTS)的 Sample,就想著在這基礎(chǔ)上,把數(shù)據(jù)庫(kù)表操作,抽到動(dòng)態(tài)共享包模塊,然后在 Entry 模塊上引入使用。

到這里可能有小伙伴有疑問(wèn)?其實(shí)用靜態(tài)共享包把數(shù)據(jù)庫(kù)表操作抽出來(lái),在 Entry 模塊上引入使用,對(duì)的,這樣也是可以達(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 的效果圖:

4d18b216-fd26-11ed-90ce-dac502259ad0.gif

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

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

https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-data-relationalstore-0000001493744128-V3?catalogVersion=V3
開發(fā)及引用動(dòng)態(tài)共享包:
https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/hsp-0000001521396322-V3?catalogVersion=V3
項(xiàng)目結(jié)構(gòu)圖:

4e2d4734-fd26-11ed-90ce-dac502259ad0.png

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

4e680b76-fd26-11ed-90ce-dac502259ad0.png

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

4eae559a-fd26-11ed-90ce-dac502259ad0.png

講解

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

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

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

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

導(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"

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

②Entry 模塊引入使用

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

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

運(yùn)行引用 HSP 的使用方模塊,單擊 Run > Edit Configurations,選擇 Deploy Multi Hap 標(biāo)簽頁(yè),勾選 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ī)或模擬器上。

4ee49c2c-fd26-11ed-90ce-dac502259ad0.png

總結(jié)

體驗(yàn)了一番動(dòng)態(tài)共享包實(shí)例,感覺(jué)太爽了,不用把全部代碼都寫在 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ù)覽器不支持。

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

本示例僅支持標(biāo)準(zhǔn)系統(tǒng)上運(yùn)行,支持設(shè)備:華為手機(jī) 3.1 系統(tǒng)或運(yùn)行在 DevEco Studio 上的華為手機(jī)遠(yuǎn)程模擬器 API9。

本示例為 Stage 模型,支持 API version 9 及以上版本 SDK。

本示例需要使用 DevEco Studio 3.1 Release 及以上版本進(jìn)行編譯運(yùn)行。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)注

    7

    文章

    2733

    瀏覽量

    47747
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    3846

    瀏覽量

    64685
  • 結(jié)構(gòu)圖
    +關(guān)注

    關(guān)注

    1

    文章

    38

    瀏覽量

    23079
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2392

    瀏覽量

    43050

原文標(biāo)題:鴻蒙上寫一個(gè)賬目記錄Demo

文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙上實(shí)現(xiàn)文件上傳功能

    此帖主要講解通過(guò)開發(fā)文檔示例代碼個(gè)完整 Demo,方便初學(xué)者理解開發(fā)文檔內(nèi)容。
    的頭像 發(fā)表于 05-22 10:51 ?5318次閱讀
    <b class='flag-5'>鴻蒙上</b>實(shí)現(xiàn)文件上傳功能

    如何用C語(yǔ)言個(gè)查單詞的小demo

    如何用C語(yǔ)言個(gè)查單詞的小demo
    發(fā)表于 10-27 06:34

    請(qǐng)問(wèn)OpenHarmony鴻蒙demo gradle報(bào)錯(cuò)怎么解決?

    鴻蒙demo gradle報(bào)錯(cuò)怎么解決build.gradle:4: Could not find method ohos() for arguments
    發(fā)表于 04-01 11:27

    請(qǐng)問(wèn)鴻蒙hap包是否支持插件化開發(fā)?

    如題,安卓上可以使用dexclassloader機(jī)制動(dòng)態(tài)加載其他apk作為插件使用,鴻蒙上用類似的能力嗎?有什么解決方案呢?
    發(fā)表于 06-16 11:34

    s12x_demo_CW,matlab的個(gè)demo

    matlab的個(gè)demo 需要用2009打開
    發(fā)表于 07-06 09:15 ?13次下載

    鴻蒙上使用Python進(jìn)行物聯(lián)網(wǎng)編程

    炫耀!然而,這卻是非常重要的步:在鴻蒙上用使用 Python 進(jìn)行物聯(lián)網(wǎng)編程是可行的!!! 既然可行,加上 Python 語(yǔ)言天生的優(yōu)勢(shì)(易于掌握,開發(fā)效率高),那么真的值得持續(xù)打造,將鴻蒙上的 Python 進(jìn)行到底。 所以
    的頭像 發(fā)表于 09-28 09:55 ?4399次閱讀
    在<b class='flag-5'>鴻蒙上</b>使用Python進(jìn)行物聯(lián)網(wǎng)編程

    開發(fā)個(gè)鴻蒙版仿蘋果計(jì)算器教程.附代碼

    眾所周知鴻蒙 JS 框架是非常輕量級(jí)的 MVVM 模式。通過(guò)使用和 Vue2 相似的屬性劫持技術(shù)實(shí)現(xiàn)了響應(yīng)式系統(tǒng)。 學(xué)習(xí)鴻蒙很長(zhǎng)時(shí)間了,想個(gè)
    的頭像 發(fā)表于 10-11 14:17 ?4769次閱讀
    開發(fā)<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>鴻蒙</b>版仿蘋果計(jì)算器教程.附代碼

    如何用所學(xué)的鴻蒙知識(shí)做一個(gè)小應(yīng)用

    的視頻應(yīng)用,說(shuō)真的,看到這個(gè)活動(dòng)我很開心,又可以用所學(xué)的鴻蒙知識(shí)來(lái)做一個(gè)小應(yīng)用了! ? 看了小提示,都是 JS 組件來(lái)實(shí)現(xiàn)的,當(dāng)我看到分布式也可以用 JS 來(lái)寫時(shí),當(dāng)時(shí)覺(jué)得 JS 也太強(qiáng)大了,因?yàn)橹?b class='flag-5'>寫
    的頭像 發(fā)表于 10-19 09:23 ?1791次閱讀

    鴻蒙上安裝按鈕實(shí)現(xiàn)下載、暫停、取消、顯示等操作

    今天給大家分享在鴻蒙上一個(gè)按鈕實(shí)現(xiàn)下載、暫停、取消、顯示下載進(jìn)度操作。
    的頭像 發(fā)表于 01-04 14:32 ?2386次閱讀

    鴻蒙上實(shí)現(xiàn)“數(shù)字華容道”小游戲

    本篇文章教大家如何在鴻蒙上實(shí)現(xiàn)“數(shù)字華容道”小游戲。
    的頭像 發(fā)表于 12-26 09:52 ?1305次閱讀

    鴻蒙上實(shí)現(xiàn)簡(jiǎn)單的“每日新聞”

    這是篇講解如何實(shí)現(xiàn)基于鴻蒙 JS 的簡(jiǎn)單的每日新聞。
    的頭像 發(fā)表于 12-26 09:58 ?912次閱讀

    鴻蒙上點(diǎn)亮LED燈

    篇我們成功的在鴻蒙開發(fā)板上輸出了 Hello World!這篇將帶大家點(diǎn)亮 LED 燈。
    的頭像 發(fā)表于 01-16 10:28 ?2115次閱讀

    鴻蒙上開發(fā)“小蜜蜂”游戲

    小時(shí)候我們有個(gè)熟悉的游戲叫小蜜蜂。本文教大家在鴻蒙上學(xué)做這個(gè)小蜜蜂游戲。
    的頭像 發(fā)表于 04-03 11:27 ?1740次閱讀

    鴻蒙上一個(gè)loading加載動(dòng)畫

    本篇文章介紹了如何實(shí)現(xiàn)個(gè)簡(jiǎn)單的 loading 加載動(dòng)畫,并且在文末提供了個(gè) demo 工程供讀者下載學(xué)習(xí)。
    的頭像 發(fā)表于 04-17 10:20 ?5046次閱讀

    鴻蒙開發(fā)實(shí)例:【demo-搜索歷史記錄

    HarmonyOs-demo-搜索歷史記錄
    的頭像 發(fā)表于 03-26 22:40 ?746次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)實(shí)例:【<b class='flag-5'>demo</b>-搜索歷史<b class='flag-5'>記錄</b>】
    澳门百家乐娱乐场开户注册| 大发888在线娱乐城二十一点| 亚斯博彩网| 百家乐pc| 沙龙百家乐官网赌场娱乐网规则| 尉犁县| 广发百家乐的玩法技巧和规则| 长兴县| 大发888国际娱乐城lm0| 正规百家乐游戏下载| 百家乐官网购怎么样| 永利高足球投注网| 网上赌百家乐有假| 金冠百家乐官网的玩法技巧和规则 | 百家乐官网tt娱乐场开户注册 | 威尼斯人娱乐城可靠吗| 百家乐打印机分析| 百家乐官网赌博策略论坛| 长葛市| 大发888官方游戏平台| 百家乐园鼎盛娱乐场| 德晋百家乐官网的玩法技巧和规则 | 百家乐官网缩水工具| 百家乐官网视频游戏挖坑| 88娱乐城官网| A8百家乐的玩法技巧和规则| 百家乐体育nba| 百家乐官网赌场大全| 安远县| 易胜国际| 大发888娱乐城官方下载lm0| 百家乐对保| 利来国际娱乐网站| 百家乐玩法介| 玩百家乐新2娱乐城| 菲彩百家乐官网的玩法技巧和规则 | 青田县| bet365忠实奖金| 百家乐翻天电影| 网络百家乐破解平台| 太阳百家乐官网网址|