版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
鴻蒙應(yīng)用開發(fā)項目教程項目7云林財務(wù)助手應(yīng)用開發(fā)云林科技為了提升公司員工的個人財務(wù)管理能力,將上線一款可以獨立使用的財務(wù)管理程序,因此需開發(fā)一個財務(wù)助手應(yīng)用,公司經(jīng)理把這個任務(wù)交給了技術(shù)部湯工程師,并提出應(yīng)用要有美觀的界面,可以方便地進(jìn)行各種操作;要有擴展性,后期可以方便嵌入公司App;只需手機就可使用等要求。云林財務(wù)助手應(yīng)用主界面如圖7-1所示。項目導(dǎo)入圖7-1云林財務(wù)助手應(yīng)用主界面【項目分析】了解用戶首選項。了解分布式數(shù)據(jù)庫。了解關(guān)系數(shù)據(jù)庫。【知識目標(biāo)】能夠熟練使用用戶首選項。能夠熟練使用分布式數(shù)據(jù)庫。能夠熟練使用關(guān)系數(shù)據(jù)庫?!灸芰δ繕?biāo)】具有責(zé)任擔(dān)當(dāng)意識和團(tuán)結(jié)協(xié)作精神。【素養(yǎng)目標(biāo)】具有助力民族復(fù)興的家國情懷。7.1用戶首選項
用戶首選項(Preferences)是數(shù)據(jù)管理的重要內(nèi)容之一。7.1.1用戶首選項概述
用戶首選項為應(yīng)用提供鍵值(Key-Value)型的數(shù)據(jù)處理能力,支持應(yīng)用持久化輕量級數(shù)據(jù),并對其進(jìn)行修改和查詢。當(dāng)用戶需要一個全局唯一的存儲位置時,可以采用Preference進(jìn)行存儲。Preferences會將數(shù)據(jù)緩存在內(nèi)存中,當(dāng)用戶讀取的時候,能夠快速從內(nèi)存中獲取數(shù)據(jù),當(dāng)需要持久化時,可以使用flush()接口將內(nèi)存中的數(shù)據(jù)寫入持久化文件中。
Preferences會使應(yīng)用占用的內(nèi)存隨著存放的數(shù)據(jù)量增多而增大,因此,Preferences不適合存放過多數(shù)據(jù),其適用的場景一般為應(yīng)用保存用戶的個性化設(shè)置(字體大小、是否開啟夜間模式)等。1.用戶首選項的運作機制
用戶程序通過ArkTS接口調(diào)用用戶首選項讀寫對應(yīng)的數(shù)據(jù)文件。
開發(fā)者可以將用戶首選項持久化文件的內(nèi)容加載到Preferences實例中,每個文件唯一對應(yīng)一個Preferences實例,系統(tǒng)會通過靜態(tài)容器將該實例存儲在內(nèi)存中,直到用戶主動從內(nèi)存中移除該實例或者刪除該文件。
用戶首選項的持久化文件保存在應(yīng)用沙箱內(nèi)部,可以通過context獲取其路徑。2.用戶首選項的約束限制
用戶首選項的約束限制如下。(1)Key為String類型,要求非空且長度不超過1024個字節(jié)。(2)如果Value為String類型,則可以為空,不為空時長度不超過16MB。(3)內(nèi)存會隨著存儲數(shù)據(jù)量的增大而增大,所以存儲的數(shù)據(jù)量應(yīng)該是輕量級的,建議存儲的數(shù)據(jù)不超過一萬條,否則會在內(nèi)存方面產(chǎn)生較大的開銷。7.1.2用戶首選項開發(fā)
用戶首選項是保存應(yīng)用全局?jǐn)?shù)據(jù)的重要手段,其重要性不言而喻。
用戶首選項的開發(fā)步驟如下。(1)導(dǎo)入用戶首選項模塊。(2)獲取用戶首選項實例。(3)寫入數(shù)據(jù)。(4)讀取數(shù)據(jù)。(5)刪除數(shù)據(jù)。(6)保存數(shù)據(jù),即數(shù)據(jù)持久化。(7)訂閱數(shù)據(jù)變更。(8)刪除指定文件。
實現(xiàn)此示例的思路:利用preferences模塊以及按鈕組件、文本組件即可。具體步驟如下。(1)新建項目test7,在目錄ets下新建目錄class,在其下新建類文件StartData.ets(2)在目錄class下新建類文件Prefs.ets(3)將頁面文件Index.ets的代碼替換圖7-2用戶首選項開發(fā)示例7.2關(guān)系數(shù)據(jù)庫
關(guān)系數(shù)據(jù)庫是常見的也是非常重要的數(shù)據(jù)管理方式。7.2.1關(guān)系數(shù)據(jù)庫概述
關(guān)系數(shù)據(jù)庫基于SQLite組件,適用于存儲包含復(fù)雜關(guān)系數(shù)據(jù)的場景,例如一個班級的學(xué)生信息包括姓名、學(xué)號、各科成績等,由于數(shù)據(jù)之間有較強的對應(yīng)關(guān)系,復(fù)雜程度比鍵值型數(shù)據(jù)更高,此時需要使用關(guān)系數(shù)據(jù)庫來持久化保存數(shù)據(jù)。1.關(guān)系數(shù)據(jù)庫的基本概念(1)謂詞
謂詞是數(shù)據(jù)庫中用來代表數(shù)據(jù)實體的性質(zhì)、特征或者數(shù)據(jù)實體之間關(guān)系的詞項,主要用來定義數(shù)據(jù)庫的操作條件。(2)結(jié)果集
結(jié)果集指用戶查詢之后的結(jié)果集合,可以對數(shù)據(jù)進(jìn)行訪問。結(jié)果集提供了靈活的數(shù)據(jù)訪問方式,可以更方便地得到用戶想要的數(shù)據(jù)。2.關(guān)系數(shù)據(jù)庫的運作機制
關(guān)系數(shù)據(jù)庫對應(yīng)用提供通用的操作接口,底層使用SQLite作為持久化存儲引擎,支持SQLite具有的數(shù)據(jù)庫特性,包括但不限于事務(wù)、索引、視圖、觸發(fā)器、外鍵、參數(shù)化查詢和預(yù)編譯SQL語句。3.關(guān)系數(shù)據(jù)庫的約束限制(1)系統(tǒng)默認(rèn)日志方式是預(yù)寫日志(WriteAheadLog,WAL)模式,系統(tǒng)默認(rèn)落盤方式是完整模式(FULL模式)。(2)數(shù)據(jù)庫中有4個讀連接和1個寫連接,線程獲取到空閑讀連接時,即可進(jìn)行讀取操作。當(dāng)沒有空閑讀連接有空閑寫連接時,會將寫連接當(dāng)做讀連接來使用。(3)為保證數(shù)據(jù)的準(zhǔn)確性,數(shù)據(jù)庫同一時間只能支持一個寫操作。(4)應(yīng)用卸載完成后,設(shè)備上的相關(guān)數(shù)據(jù)庫文件及臨時文件會被自動清除。(5)為保證插入并讀取數(shù)據(jù)成功,建議一條數(shù)據(jù)不要超過2MB。若超過2MB,即使插入成功,讀取也會失敗。7.2.2關(guān)系數(shù)據(jù)庫開發(fā)
關(guān)系數(shù)據(jù)庫的相關(guān)接口大部分為異步接口。異步接口均有callback和Promise兩種返回形式,建議采用Promise。
關(guān)系數(shù)據(jù)庫的開發(fā)步驟如下。(1)使用關(guān)系數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)持久化,需要獲取一個RdbStore。其中,參數(shù)Context為應(yīng)用上下文,參數(shù)STORE_CONFIG為與關(guān)系數(shù)據(jù)庫存儲相關(guān)的配置。應(yīng)用創(chuàng)建的數(shù)據(jù)庫與其上下文(Context)有關(guān),即使使用同樣的數(shù)據(jù)庫名稱,不同的應(yīng)用上下文也會產(chǎn)生多個數(shù)據(jù)庫,如每個UIAbility都有各自的上下文。
應(yīng)用首次獲取數(shù)據(jù)庫(調(diào)用getRdbStore())后,應(yīng)用沙箱內(nèi)會產(chǎn)生對應(yīng)的數(shù)據(jù)庫文件。使用數(shù)據(jù)庫的過程中,可能會在數(shù)據(jù)庫文件所在的目錄下產(chǎn)生以-wal和-shm結(jié)尾的臨時文件。此時若開發(fā)者希望移動數(shù)據(jù)庫文件到其他地方,則需要同時移動這些臨時文件,應(yīng)用卸載完成后,其在設(shè)備上產(chǎn)生的數(shù)據(jù)庫文件及臨時文件也會被清除。(2)獲取RdbStore后,調(diào)用insert()接口插入數(shù)據(jù)。
關(guān)系數(shù)據(jù)庫沒有顯式的flush操作來實現(xiàn)持久化,數(shù)據(jù)插入后即保存在持久化文件中。(3)根據(jù)謂詞指定的實例對象對數(shù)據(jù)進(jìn)行修改或刪除。(4)根據(jù)謂詞指定的查詢條件查找數(shù)據(jù)。
當(dāng)應(yīng)用完成查詢數(shù)據(jù)操作,不再使用結(jié)果集(ResultSet)時,請及時調(diào)用close()方法關(guān)閉結(jié)果集,釋放系統(tǒng)為其分配的內(nèi)存。(5)刪除數(shù)據(jù)庫。圖7-3關(guān)系數(shù)據(jù)庫開發(fā)示例7.3分布式數(shù)據(jù)庫
分布式數(shù)據(jù)庫(DistributedDatabase)既是重要的數(shù)據(jù)管理方式,也是鴻蒙系統(tǒng)的重要特性之一。7.3.1分布式數(shù)據(jù)庫概述
分布式數(shù)據(jù)庫可以在多個節(jié)點上存儲和管理數(shù)據(jù),提供高可用性、高可靠性和高性能的數(shù)據(jù)訪問能力。1.分布式數(shù)據(jù)庫的特點(1)分布式存儲。
數(shù)據(jù)在多個節(jié)點上分布存儲,以實現(xiàn)負(fù)載均衡和水平擴展。(2)數(shù)據(jù)同步。
節(jié)點之間通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)同步,確保數(shù)據(jù)在多個節(jié)點之間的一致性。(3)高可用性和高可靠性。
通過數(shù)據(jù)復(fù)制、容錯和故障恢復(fù)機制,確保數(shù)據(jù)的高可用性和高可靠性。(4)高性能。
提供高效的數(shù)據(jù)查詢和檢索能力,支持分布式事務(wù)和一致性哈希等技術(shù)。2.分布式數(shù)據(jù)庫的模式(1)單版本分布式數(shù)據(jù)庫
單版本分布式數(shù)據(jù)庫是指數(shù)據(jù)在本地以單個鍵值對(Key-Value)的形式保存,每個Key最多保存一個條目項。當(dāng)數(shù)據(jù)在本地被用戶修改時,直接在這個條目上進(jìn)行修改,并按照寫入或更改的順序?qū)⒆钚碌男薷闹饤l同步至遠(yuǎn)端設(shè)備。(2)設(shè)備協(xié)同分布式數(shù)據(jù)庫
設(shè)備協(xié)同分布式數(shù)據(jù)庫建立在單版本分布式數(shù)據(jù)庫之上,通過在Key前面拼接本設(shè)備的DeviceID,確保每個設(shè)備產(chǎn)生的數(shù)據(jù)嚴(yán)格隔離。它支持以設(shè)備的維度查詢分布式數(shù)據(jù),但不支持修改遠(yuǎn)端設(shè)備同步過來的數(shù)據(jù)。3.分布式數(shù)據(jù)庫的約束限制(1)對于設(shè)備協(xié)同分布式數(shù)據(jù)庫,針對每條記錄,Key的長度小于等于896Byte,Value的長度小于4MB。(2)對于單版本分布式數(shù)據(jù)庫,針對每條記錄,Key的長度小于等于1KB,Value的長度小于4MB。(3)每個應(yīng)用程序最多支持同時打開16個鍵值型分布式數(shù)據(jù)庫。(4)鍵值型分布式數(shù)據(jù)庫的事件回調(diào)方法中不允許進(jìn)行阻塞操作,如修改UI組件。7.3.2分布式數(shù)據(jù)庫開發(fā)
分布式數(shù)據(jù)庫的相關(guān)接口大部分為異步接口。異步接口均有callback和Promise兩種返回形式,建議采用Promise。(1)若要使用分布式數(shù)據(jù)庫,需要先獲取一個KVManager實例,用于管理數(shù)據(jù)庫對象。(2)創(chuàng)建并獲取分布式數(shù)據(jù)庫。(3)調(diào)用put()方法向分布式數(shù)據(jù)庫中插入數(shù)據(jù)。當(dāng)Key存在時,put()方法會修改其值,否則新增一條數(shù)據(jù)。(4)調(diào)用get()方法獲取指定鍵的值。(5)調(diào)用delete()方法刪除指定鍵值的數(shù)據(jù)。(6)調(diào)用deleteKVStore()方法刪除分布式數(shù)據(jù)庫。圖7-4分布式數(shù)據(jù)庫開發(fā)示例【項目實現(xiàn)】云林財務(wù)助手應(yīng)用開發(fā)
接到任務(wù)后,湯工程師分析了項目要求,把此項目分成兩個任務(wù)來實現(xiàn):設(shè)計云林財務(wù)助手應(yīng)用界面和編寫云林財務(wù)助手應(yīng)用代碼。任務(wù)7-1設(shè)計云林財務(wù)助手應(yīng)用界面1.任務(wù)分析
云林財務(wù)助手應(yīng)用主界面可以采用Stack組件進(jìn)行布局,使用Search組件創(chuàng)建搜索欄,使用List組件展示賬目清單,使用Image組件設(shè)置正下方的添加按鈕及刪除按鈕。2.代碼實現(xiàn)(1)新建項目project7,在類文件AccountTable.ets中獲取財務(wù)詳細(xì)數(shù)據(jù)。(2)將頁面文件Index.ets的所有內(nèi)容替換。3.運行效果
云林財務(wù)助手應(yīng)用主界面效果如圖7-5所示。圖7-5云林財務(wù)助手應(yīng)用主界面效果任務(wù)7-2編寫云林財務(wù)助手應(yīng)用代碼1.任務(wù)分析
云林財務(wù)助手個人賬務(wù)發(fā)布界面要能夠填寫賬目類別和賬目金額等內(nèi)容。界面整體采用Tabs組件布局,包括可供選擇的賬目類型和賬目的具體類別、用于輸入賬目金額數(shù)字的輸入框及“確定”按鈕。2.代碼實現(xiàn)(1)在類文件AccountData.ets中定義財務(wù)數(shù)據(jù)表(2)在類文件Rdb.ets中封裝對數(shù)據(jù)表的操作(3)在類文件DialogComponent.ets中自定義彈窗3.運行效果
將上述文件保存,并且引入相關(guān)的工具類文件及圖片、字符串、顏色、布爾值等文件,保存項目,編譯后在模擬器上運行,效果如圖7-6所示,云林財務(wù)助手應(yīng)用成功實現(xiàn)。圖7-6云林財務(wù)助手賬目添加、修改與刪除【小結(jié)及提高】
本項目設(shè)計了云林財務(wù)助手應(yīng)用。通過學(xué)習(xí)本項目,讀者能夠掌握常用的用戶首選項、關(guān)系數(shù)據(jù)庫、分布式數(shù)據(jù)庫,能夠熟練地結(jié)合前面介紹的相關(guān)知識來解決實際問題。本項目實用性很強,還可以進(jìn)一步拓展,如財務(wù)數(shù)據(jù)分頁、分類統(tǒng)計等。
引導(dǎo)學(xué)生認(rèn)識到自己的社會角色和責(zé)任,明確自己的使命和目標(biāo),從而樹立起強烈的責(zé)任擔(dān)當(dāng)意識。這種意識不僅體現(xiàn)在對自己的要求上,更體現(xiàn)在對社會、對國家的貢獻(xiàn)上。鼓勵學(xué)生勇于面對困難和挑戰(zhàn),敢于承擔(dān)責(zé)任,不畏艱難,勇往直前。合作是團(tuán)結(jié)協(xié)作精神的核心,鼓勵學(xué)生學(xué)會與他人合作,相互支持、相互幫助,共同完成任務(wù)和目標(biāo)。這種合作不僅有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 涼山2025年四川涼山會理市招聘“一村一幼”輔導(dǎo)員56人筆試歷年參考題庫附帶答案詳解
- 職業(yè)人群健康權(quán)益保障的傳播策略
- 企業(yè)消防安全三級檢查制度
- 衛(wèi)生計生服務(wù)室制度
- 衛(wèi)生院藥事委員會制度
- 四個一體醫(yī)療衛(wèi)生制度
- 京東集團(tuán)薪酬管理手冊制度
- 耐藥性逆轉(zhuǎn)策略在臨床實踐中的應(yīng)用
- 2025-2026學(xué)年河北省邢臺市七校高三上學(xué)期期中考試語文試題(解析版)
- 乘警五勤制度
- 2026年湖南郴州市百福控股集團(tuán)有限公司招聘9人筆試參考題庫及答案解析
- 屋面防水施工質(zhì)量保證措施
- 2026年認(rèn)證網(wǎng)約車考試題庫及完整答案一套
- 社區(qū)環(huán)境資源與健康行為可及性
- 2026年廣州市自來水公司招考專業(yè)技術(shù)人員易考易錯模擬試題(共500題)試卷后附參考答案
- 代謝綜合征診療指南(2025年版)
- 散文系列《補鞋子的人》精-品解讀
- 安徽省合肥一中2025-2026學(xué)年高三上學(xué)期1月考試化學(xué)(含答案)
- 2025國開本科《公共部門人力資源管理》期末歷年真題(含答案)
- 河北省唐山市2024-2025學(xué)年高一上學(xué)期期末數(shù)學(xué)試題(含答案)
- 新課標(biāo)解讀培訓(xùn)
評論
0/150
提交評論