記賬本的設(shè)計_第1頁
記賬本的設(shè)計_第2頁
記賬本的設(shè)計_第3頁
記賬本的設(shè)計_第4頁
記賬本的設(shè)計_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、畢業(yè)設(shè)計(論文)報告紙課題名稱基于Android記賬本的設(shè)計院 系計算機與軟件學(xué)院專 業(yè)移動互聯(lián)網(wǎng)技術(shù)(Android技術(shù))班 級學(xué) 號學(xué)生姓名指導(dǎo)教師: 2016 年 05 月 日計算機與軟件學(xué)院畢業(yè)設(shè)計(論文)誠信承諾 我謹(jǐn)在此承諾:本人所寫的畢業(yè)論文基于Android的Time記賬本的設(shè)計,系本人獨立完成,沒有抄襲行為,凡涉及其他作者的觀點和材料,均作了注釋與說明,若有不實,后果由本人承擔(dān)。承諾人(簽名): 2016年 05 月 18 日摘 要在后PC時代的今天,手機已經(jīng)普及到人手一臺以上,智能手機成為最重要的移動終端,其兩大主流是Google Android系統(tǒng)及其IOS系統(tǒng)。特別是A

2、ndroid平臺,其具有開放的、配置優(yōu)、性價比高等特點,顯然越來越多的軟件使用Android技術(shù)開發(fā)。然而在基于Android技術(shù)開發(fā)的軟件中,卻沒有一款能夠滿足用戶對收支圖形化顯示的記賬軟件。為了解決用戶需求的問題,本畢業(yè)設(shè)計基于Android技術(shù)設(shè)計并實現(xiàn)了Time記賬本管理軟件的開發(fā)。該記賬軟件以Android Studio作為開發(fā)平臺,使用AChartEngine制作圖表,調(diào)用本地SQLite數(shù)據(jù)庫保存本地信息,同時利用LeanCloud云端數(shù)據(jù)來管理用戶賬戶,實現(xiàn)了對賬本(Bill)數(shù)據(jù)的增刪改查和用戶資產(chǎn)的增刪改查。 本記賬軟件包括以下幾個模塊:用戶密碼登陸,收支數(shù)據(jù)的錄入、個人明

3、細及匯總統(tǒng)計,數(shù)據(jù)云端備份。本設(shè)計著重實現(xiàn)記賬功能和資產(chǎn)管理功能。關(guān)鍵詞:記賬軟件;Android Studio;數(shù)據(jù)庫;AbstractIn the PC era today, mobile phones have spread to more than a hand, smart phones become the most important mobile terminal, its two big mainstream is Google Android and IOS system. The Android platform, in particular, it has open,

4、configuration and high cost performance characteristics, more and more obviously using Android software technology development. In the development of software based on Android technology, however, have no a graphical display can satisfy the users payments billing software. In order to solve the prob

5、lem of user demand, this graduation design is based on the Android technology is designed and implemented the Time for the development of the management software of charge to an account.The accounting software for Android Studio as a development platform, using AChartEngine charts, call a local SQLi

6、te database to store the local information, at the same time using LeanCloud cloud data to manage user accounts, realized with books to add and delete (Bill) data and user assets to add and delete.The accounting software includes the following several modules: user password login, balance of payment

7、s data entry, personal details and summary statistics, data cloud backup. This design focuses on accounting and asset management functions.Key words:accounting software;Android Studio;Database; 目 錄1 緒論11.1 選題背景11.2 記賬本的發(fā)展趨勢12 軟件需求分析22.1 需求分析22.2 可行性分析32.2.1 可行性研究前提32.2.2 技術(shù)可行性研究32.2.3 社會可行性研究32.2.4

8、時間可行性研究32.2.5 結(jié)論33 軟件詳細設(shè)計43.1 軟件功能結(jié)構(gòu)圖43.2 軟件業(yè)務(wù)流程43.2.1 登錄注冊模塊43.2.2 資產(chǎn)模塊53.2.3 支出、收入相關(guān)業(yè)務(wù)流程63.2.4 用戶數(shù)據(jù)的顯示圖表模塊73.2.5 服務(wù)模塊73.3 軟件命名規(guī)范83.3.1 數(shù)據(jù)庫命名規(guī)范83.3.2 程序代碼命名規(guī)范93.4 數(shù)據(jù)庫與數(shù)據(jù)庫表設(shè)計103.4.1 軟件數(shù)據(jù)庫設(shè)計103.4.2 LeanCloud云端 賬戶表103.4.3 LncomeAndExpenditure(收入/支出表)103.4.4 Assets(資產(chǎn)管理表)113.4.5 Category(支出/收入表)114 軟件的

9、實現(xiàn)與結(jié)果124.1 項目結(jié)構(gòu)MVC設(shè)計模式124.2 軟件公共類設(shè)計134.2.1 界面設(shè)計語言Material Design134.3 數(shù)據(jù)庫設(shè)計144.3.1 數(shù)據(jù)庫的創(chuàng)建144.3.2 數(shù)據(jù)庫的增刪改查144.3.3 本地數(shù)據(jù)庫的初始化154.4 主窗體設(shè)計實現(xiàn)164.5 收入支出版塊設(shè)計實現(xiàn)174.6 支出收入數(shù)據(jù)顯示版塊設(shè)計實現(xiàn)174.7 資產(chǎn)管理模塊的設(shè)計184.8 數(shù)據(jù)統(tǒng)計版塊設(shè)計實現(xiàn)194.8.1 分類收入、支出統(tǒng)計194.9 軟件設(shè)置版塊設(shè)置204.9.1 軟件設(shè)置主界面204.9.2 服務(wù)軟件子模塊204.10 賬戶管理版塊設(shè)計實現(xiàn)214.10.1 用戶登錄/注冊214.

10、10.2 修改用戶信息225 軟件測試過程與結(jié)果235.1 測試目的235.2 測試平臺簡介235.3 測試方法236 開發(fā)中遇到問題與解決方法256.1 Fragment之間的通信256.2 fragnment 與activity通信探究25總 結(jié)27謝 辭28參考文獻291 緒論1.1 選題背景一個有經(jīng)濟頭腦的人,在日常生活和投資中,都會對自己的收入和開銷做到心里有數(shù),以便于制定出自己的一套理財計劃,達到合理的經(jīng)濟統(tǒng)籌,有記賬習(xí)慣的人可以從以往的統(tǒng)計中看到自己主要消費方向,看出自己的消費是否合理。之所謂巧婦難為無米之炊,如果自己想要理財,先決條件得要有“財”才行。如何才能有財呢?開源節(jié)流呀

11、!有計劃的用錢,再將節(jié)流下來的錢去用于理財,這樣不就行了嗎?那又怎么樣來“開源”呢?記賬是個好辦法,它有針對性地羅列、統(tǒng)計計算資源信息。從查閱資料來看,一些比較發(fā)達國家的人生活中對理財有著很嚴(yán)格的計劃,因此國外的理財系統(tǒng)總體來說比較普遍,做的也比較完善。國內(nèi)的理財系統(tǒng)主要偏重于辦公財務(wù)軟件,而個人理財和家庭理財方面的比較少,因此需要開發(fā)相關(guān)的系統(tǒng)軟件,從而達到引導(dǎo)理性消費,合理安排收支。1.2 記賬本的發(fā)展趨勢記賬從過去的紙質(zhì)記賬到網(wǎng)絡(luò)記賬,再到現(xiàn)在流行的手機記賬,讓記賬成為了很好的傳統(tǒng)習(xí)慣,也變成了現(xiàn)代生活的一種時尚。隨著年齡的增長,消費項目逐漸多起來,有時一天下來收入、支出的小項目達到幾十

12、項,攢到晚上一塊兒記很容易就會落下。而且晚上經(jīng)常加班到很晚,回到家打開電腦再完成記賬這項任務(wù)也有些力不從心。記賬從過去的紙質(zhì)記賬到網(wǎng)絡(luò)記賬,再到現(xiàn)在流行的手機記賬,讓記賬成為了很好的傳統(tǒng)習(xí)慣,也變成了現(xiàn)代生活的一種時尚。如果進行賬目的整理,每天手動統(tǒng)計的話,用于統(tǒng)計的賬本和記錄會越來越多,不利于保管,容易造成丟失;其次,隨著紀(jì)錄的增多,如果要查找以前的記錄,會變得越來越困難。電腦記賬的話,不方便攜帶,要先在紙上記錄然后再錄入到電腦上,麻煩且浪費時間,記賬又是一種需要持之以恒的耐力才能實現(xiàn)的良好習(xí)慣,但是工作以后時間就沒那么固定。因此,需要一個功能比較完善的手機記賬系統(tǒng)來代替?zhèn)鹘y(tǒng)的手工和電腦統(tǒng)計

13、。在手機上裝上記賬軟件以后,等公交車或坐車的時候、甚至吃午飯、晚飯等待的時間都可以成為記賬的時間。本軟件詳細記錄用戶的每次收入、支出行為,并且可以做出統(tǒng)計,用戶可以對自己的收支情況做各種綜合的查詢,可以管理賬目,方便對數(shù)據(jù)的管理。2 軟件需求分析2.1 需求分析記賬管理是一個家庭和個人不可缺少的部分,但現(xiàn)在人使用的小型財務(wù)系統(tǒng)卻還是鳳毛麟角。記賬是很小的一個部分,但大到企業(yè),小到家庭以及個人都有十分重要的意義。本記賬系統(tǒng)的系統(tǒng)設(shè)計是基于Android語言,使用Android Studio作為開發(fā)平臺,實現(xiàn)記賬系統(tǒng)的系統(tǒng)構(gòu)建。而后臺的數(shù)據(jù)庫則使用了Sqlite+LeanCloud云端數(shù)據(jù)庫管理整

14、個記賬系統(tǒng)的后臺數(shù)據(jù)。包括以下幾個模塊:用戶密碼登陸,收支數(shù)據(jù)的錄入、個人明細及匯總統(tǒng)計,數(shù)據(jù)云端備份等,從而對家庭、個人收入與支出進行有效、系統(tǒng)的管理,并使之更全面和靈活。隨著支付手段及購物場景的日趨多樣化,人們對于自己的開支消費未能有著很好的整體把握,而單純的采用記事本記賬,條目繁多而雜亂。用戶對于收支記賬有著較大的需求。而專業(yè)的記賬軟件,通過良好的歸類和便捷的記賬功能,讓用戶方便的記下自己的每一筆開支,并且通過圖表形式,清晰的了解自己的收支情況和變化趨勢。隨著人們生活水平的不斷提高,越來越多的人開始注意到理財?shù)闹匾?,在計算機網(wǎng)絡(luò)技術(shù)高速發(fā)展的今天,原始的記賬方式已經(jīng)不能滿足人們的需要,

15、手機記賬不僅方便快捷,而且可以實現(xiàn)數(shù)據(jù)的長期保存,同時還可以實現(xiàn)賬本信息共享,并與更多的朋友分享自己的理財心得。論文首先對家庭及個人記賬本系統(tǒng)的研究背景進行了介紹,對系統(tǒng)需要解決的問題進行了詳細概述,討論了課題的重要性和研究意義,并且闡述了系統(tǒng)的開發(fā)流程和開發(fā)過程中使用的相關(guān)技術(shù);論文提出了系統(tǒng)的項目要求和項目目標(biāo),并對系統(tǒng)進行詳細的需求調(diào)研和需求分析,主要包括系統(tǒng)的業(yè)務(wù)需求分析、功能需求分析、數(shù)據(jù)需求分析和非功能性需求分析,并且給出了系統(tǒng)主要功能的業(yè)務(wù)流程圖、數(shù)據(jù)流圖和功能分析圖,并對數(shù)據(jù)庫進行描述。其次在系統(tǒng)設(shè)計過程中,主要對系統(tǒng)進行總體設(shè)計和模塊設(shè)計,總體設(shè)計主要包括對系統(tǒng)的架構(gòu)設(shè)計和功

16、能結(jié)構(gòu)設(shè)計,同時給出了系統(tǒng)的架構(gòu)模型和總體功能結(jié)構(gòu)圖,主要包括會員管理、賬本管理、收支分類管理、日常收支記錄管理、查詢和統(tǒng)計分析等六大功能模塊,并且分別描述每個模塊設(shè)計的功能結(jié)構(gòu)圖和處理流程圖,詳細闡述了系統(tǒng)的設(shè)計內(nèi)容。論文最后對研究的課題進行了總結(jié),闡述了本人的主要工作,指出了論文存在的不足,并對進一步的工作進行了展望。2.2 可行性分析 2.2.1 可行性研究前提1) 要求主要功能滿足用戶實際需求可便利地進行收入支出的增刪改操作對用戶數(shù)據(jù)進行正確的統(tǒng)計系統(tǒng)操作人性化、簡單易用保證軟件的安全性2) 目標(biāo)方便地進行收入、支出等數(shù)據(jù)進行管理整合能夠多個用戶一起使用,確保數(shù)據(jù)的安全性2.2.2 技

17、術(shù)可行性研究記賬本軟件在目前主流的智能Android手機上運行,在Android Studio IDE開發(fā),使用LeanCloud云端數(shù)據(jù)庫+調(diào)用本地Sqlite的方式進行數(shù)據(jù)存儲。2.2.3 社會可行性研究隨著支付手段及購物場景的日趨多樣化,人們對于自己的開支消費未能有著很好的整體把握,而單純的采用記事本記賬,條目繁多而雜亂。用戶對于收支記賬有著較大的需求。而專業(yè)的記賬軟件,通過良好的歸類和便捷的記賬功能,讓用戶方便的記下自己的每一筆開支,并且通過圖表形式,清晰的了解自己的收支情況和變化趨勢。2.2.4 時間可行性研究現(xiàn)在的時間流逝的飛快,人們肯定不會為了那些讓人頭疼的小賬目而浪費時間清理。

18、手機記賬軟件是非常契合現(xiàn)在人的便捷記賬需要。在手機上裝上記賬軟件以后,等公交車或坐車的時候,等電梯的工夫,甚至吃午飯、晚飯等時間都成為記賬的時間。讓你對花銷有一個完整的概念。2.2.5 結(jié)論根據(jù)以上分析,軟件開發(fā)在技術(shù)上,時間成本上都在可以接受的范圍,該系統(tǒng)具有很高的開發(fā)可行性,可以進行對該項目的開發(fā)。3 軟件詳細設(shè)計3.1 軟件功能結(jié)構(gòu)圖軟件主要實現(xiàn)記賬功能和資產(chǎn)管理功能,輔助添加大小寫計算,匯率換算,快遞,彩票等功能,使用圖表展示數(shù)據(jù)。為了數(shù)據(jù)保存,軟件實現(xiàn)了云端數(shù)據(jù)庫備份功能,使用戶在更換Android手機時保障數(shù)據(jù)的不丟失。當(dāng)用在同一部手機登錄不同的賬號時,記賬本軟件會將上一次用戶的數(shù)

19、據(jù)完全清楚,以保障用戶信息的安全,當(dāng)用戶在登錄賬戶時會從LeanCloud云端數(shù)據(jù)庫下載數(shù)據(jù)并完成初始化。具體軟件功能結(jié)構(gòu)圖如下圖3.1所示:圖3.1 記賬本軟件功能結(jié)構(gòu)圖3.2 軟件業(yè)務(wù)流程3.2.1 登錄注冊模塊記賬本軟件在云端保存用戶的信息,用戶在同一部手機首次登陸記賬本軟件時是需要登陸,用戶輸入登陸信息,記賬本軟件將數(shù)據(jù)發(fā)送到LeanCloud云端數(shù)據(jù)庫,LeanCloud云端數(shù)據(jù)庫返回驗證結(jié)果;當(dāng)用戶首次注冊時,記賬本軟件會將注冊數(shù)據(jù)發(fā)送到LeanCloud云端數(shù)據(jù)庫,LeanCloud云端數(shù)據(jù)庫在接受到數(shù)據(jù)后將數(shù)據(jù)保存,并返回注冊結(jié)果信息,記賬本軟件在接收到數(shù)據(jù)后,會將數(shù)據(jù)以緩存的

20、形式保存在本地,使用戶在下一次登錄時不需要再次輸入登錄信息。具體的用戶登錄流程如下圖3.2所示:圖3.2 登陸模塊業(yè)務(wù)流程3.2.2 資產(chǎn)模塊資產(chǎn)(銀行卡,支付寶)管理是記賬本軟件首要功能之一,用戶在首次安裝記賬本軟件的時候,記賬本軟件,即在后臺新建“支付寶”“現(xiàn)金”兩個默認的資產(chǎn)賬戶。當(dāng)用戶輸入資產(chǎn)信息(銀行卡賬戶)是記賬本軟件 講數(shù)據(jù)上傳至網(wǎng)絡(luò)并驗證用戶資產(chǎn)信息的合法性,當(dāng)用戶輸入的資產(chǎn)合法是將返回資產(chǎn)信息(所屬銀行),若用戶的輸入不和法是則返回錯誤信息,1、資產(chǎn)(銀行卡號格式錯誤)2、不存在的銀行卡賬戶等。資產(chǎn)支持注銷功能,但是用戶使用資產(chǎn)時所產(chǎn)生的賬單信息則不會同時被刪除。用戶刪除資產(chǎn)

21、后,資產(chǎn)內(nèi)用戶數(shù)據(jù)會被清空。操作具體流程如圖3.3所示:圖3.3資產(chǎn)管理流程圖3.2.3 支出、收入相關(guān)業(yè)務(wù)流程 支出,收入是記賬本軟件 的核心功能之一,主要用于記錄用戶的資產(chǎn)增加,減少項目的記錄。用戶在新增支出、收入時,會同時關(guān)聯(lián)一個資產(chǎn)賬戶,會將資產(chǎn)賬戶中的資產(chǎn)數(shù)數(shù)值進行增加和減少。用戶在新增支出,收入的時候要設(shè)置支出,收入類別,支出收入類別可以在界面菜單中增加刪除。操作具體流程如圖3.4所示:圖3.4 收入、支出業(yè)務(wù)流程圖3.2.4 用戶數(shù)據(jù)的顯示圖表模塊本系統(tǒng)中對輸入數(shù)據(jù)的統(tǒng)計是特色模塊。數(shù)據(jù)統(tǒng)計模塊的主要功能就是把輸入的收入、支出信息經(jīng)過相關(guān)計算使其以餅圖的形式展現(xiàn)給用戶,讓用戶能夠

22、一目了然的知道各個支出或收入的百分比具體的數(shù)據(jù)統(tǒng)計。操作流程如圖3.5所示:圖3.5 用戶數(shù)據(jù)統(tǒng)計業(yè)務(wù)流程圖3.2.5 服務(wù)模塊服務(wù)模塊主要有房貸計算,大小寫轉(zhuǎn)換,彩票,快遞,匯率換算等,服務(wù)模塊各個子模塊數(shù)據(jù)并沒有保存在數(shù)據(jù)庫,也不會上傳只是實現(xiàn)一些功能。服務(wù)模塊各個子模塊主要是調(diào)用相關(guān)API實現(xiàn)。例如大小寫轉(zhuǎn)換,用戶輸入阿拉伯?dāng)?shù)字,單擊轉(zhuǎn)換按鈕,記賬本軟件即將數(shù)據(jù)加上API拼接成字符串發(fā)送至網(wǎng)絡(luò),再從網(wǎng)絡(luò)接受數(shù)據(jù)處理。服務(wù)模塊典型實現(xiàn)方案如圖3.6所示: 如圖3.6 服務(wù)模塊典型實現(xiàn)方案圖3.3 軟件命名規(guī)范3.3.1 數(shù)據(jù)庫命名規(guī)范數(shù)據(jù)庫以相關(guān)的英文單詞縮寫命名,如表3.1所示。表3.1

23、 數(shù)據(jù)庫命名數(shù)據(jù)庫名稱描述Jizhangben.db記賬本軟件數(shù)據(jù)庫表命名以相應(yīng)意思的英語單詞,如表3.2所示。表3.2 數(shù)據(jù)庫表命名數(shù)據(jù)庫表名稱描述tb_account賬戶表字段命名除用戶id以_id下劃線開頭,其他均為相應(yīng)英語單詞,如表3.3所示。表3.3 數(shù)據(jù)庫字段命名字段名稱描述_id用戶idtime時間3.3.2 程序代碼命名規(guī)范數(shù)據(jù)類型命名規(guī)則。在系統(tǒng)中定義變量、常量時,以數(shù)據(jù)類型簡寫開頭加上對應(yīng)的英語簡寫,如表3.4所示。表3.4 數(shù)據(jù)類型命名規(guī)則數(shù)據(jù)類型簡寫整型int字符串str布爾型bl單精度浮點型flt雙精度浮點型dbl組件命名規(guī)則。在為組件申明id時以組件類型縮寫加對應(yīng)的

24、作用英語,如表3.5所示。表3.5 組件命名規(guī)則組件簡寫EditTexttxtBottonbtnTextViewtvSpinnerspListViewlv3.4 數(shù)據(jù)庫與數(shù)據(jù)庫表設(shè)計3.4.1 軟件數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫的設(shè)計思路:1) 確保數(shù)據(jù)庫中的每個數(shù)據(jù)表都有明確的數(shù)據(jù)關(guān)系。2) 統(tǒng)一數(shù)據(jù)庫中的命名規(guī)則,使得有良好的交互性,使程序能夠良好的運行。3) 減少程序中的重復(fù),盡可能多的通過表與表之間的關(guān)系進行聯(lián)查。3.4.2 LeanCloud云端 賬戶表LeanCloud云端 賬戶表(_User)用來保存用戶信息。objectld為用戶的唯一標(biāo)識,為表的主鍵,也為其他表的objectld相對應(yīng)。e

25、mail和password分別代表著用戶名和密碼,是用戶后期可以修改的,如表3.6所示。表3.6 用戶賬戶表字段名數(shù)據(jù)類型是否主鍵(Y/N)是否外鍵(Y/N)描述objectldStringYN用戶idemailsStringNN用戶名/郵箱passwordStringNN密碼3.4.3 LncomeAndExpenditure(收入/支出表)LncomeAndExpenditure收入/支出表。iae為收入/支出代碼1:收入,2支出, assets為資產(chǎn)id,如表3.7所示。表3.7 收入/支出信息表字段名數(shù)據(jù)類型是否主鍵(Y/N)是否外鍵(Y/N)描述_idIntegerNY用戶idiae

26、IntegerYN支出/支出代碼amountOfMoneyStringNN金額remarksStringNN備注categoryStringNN類別assetsStringNN資產(chǎn)idtimetimeNN時間3.4.4 Assets(資產(chǎn)管理表) 資產(chǎn)管理表保存資產(chǎn)信息,如表3.8所示。表3.8 支出信息表字段名數(shù)據(jù)類型是否主鍵(Y/N)是否外鍵(Y/N)描述_idIntegerYN用戶idassetsNameStringNN資產(chǎn)名assetsDetailedStringNN資產(chǎn)詳細assetsAmountOfMoneyStringNN金額3.4.5 Category(支出/收入表)Categ

27、ory為支出類型表。本系統(tǒng)在數(shù)據(jù)庫中已寫入部分類型,由于每個用戶都有不同的支出原因,在添加支出信息時,選擇支出類型也大有不同。在此設(shè)計支出類型表,可以為用戶提供修改支出類型的服務(wù),根據(jù)自己的需要修改支出類型。這里的_id和賬戶表的_id是對應(yīng)著的,如表3.9所示。表3.9 支出類型表字段名數(shù)據(jù)類型是否主鍵(Y/N)可否為空(Y/N)描述_idIntegerNN用戶idcategoryStringNN類型名稱laeStringNN收入/支出4 軟件的實現(xiàn)與結(jié)果4.1 項目結(jié)構(gòu)MVC設(shè)計模式在編寫系統(tǒng)之前,定制好系統(tǒng)的系統(tǒng)文件夾組織結(jié)構(gòu)有利于規(guī)范系統(tǒng)整體結(jié)構(gòu),如圖4.1所示。圖4.1 文件夾組織結(jié)

28、構(gòu)MVC全名是Model View Controller,是模型(model)視圖(view)控制器(controller)的縮寫,一種軟件設(shè)計典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務(wù)邏輯。MVC被獨特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結(jié)構(gòu)中。MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設(shè)計創(chuàng)建 Web 應(yīng)用程序的模式:1 Model(模型)表示應(yīng)用程序核心(比如數(shù)據(jù)庫記錄列表)。View(視圖)顯示數(shù)據(jù)(

29、數(shù)據(jù)庫記錄)。Controller(控制器)處理輸入(寫入數(shù)據(jù)庫記錄)。MVC 模式同時提供了對 HTML、CSS 和 JavaScript 的完全控制。Model(模型)是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分。 通常模型對象負責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)。View(視圖)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分。 通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。Controller(控制器)是應(yīng)用程序中處理用戶交互的部分。 通??刂破髫撠?zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。4.2 軟件公共類設(shè)計軟件公共類的設(shè)計是為了使程序更加的結(jié)構(gòu)化,使代碼的重復(fù)降低。本軟件中設(shè)計了數(shù)據(jù)模型公共類和對數(shù)據(jù)庫進行增刪改查的API

30、接口和繼承制API接口的lmpi公共類。每一個數(shù)據(jù)模型類都封裝成一個接口供API接口和繼承制API接口的lmpi公共類中的數(shù)據(jù)存放和取出數(shù)據(jù)來實現(xiàn)API接口和繼承制API接口的lmpi公共類中對數(shù)據(jù)庫信息的操作。其中包括資產(chǎn)管理、收入/支出管理等,以下是以資產(chǎn)管理為例的類圖如圖4.2所示。4.2資產(chǎn)管理的類圖4.2.1 界面設(shè)計語言Material Design設(shè)計風(fēng)格采用谷歌全新推出的設(shè)計語言Material Design,Material Design 和蘋果以前的擬物設(shè)計并不盡相同。擬物設(shè)計是盡力利用美工和交互在設(shè)計上模擬實物。而 Material Design 則更為抽象,它不關(guān)心實物

31、是什么,只關(guān)心它的質(zhì)感,層次,深度,和其他物體的疊放邏輯。從某種程度上來說,Material Design 更像是把交互界面變成了一張張的紙。因此,Material Design 更像是擬物設(shè)計和扁平設(shè)計的結(jié)合。4.3 數(shù)據(jù)庫設(shè)計4.3.1 數(shù)據(jù)庫的創(chuàng)建記賬本軟件使用LeanCloud云端數(shù)據(jù)庫和litepal開源工具操作本地數(shù)據(jù)庫。1、 使用語句創(chuàng)建記賬管理系統(tǒng)數(shù)據(jù)庫。2、 使用語句創(chuàng)建數(shù)據(jù)表4.3.2 數(shù)據(jù)庫的增刪改查此基于Android系統(tǒng)的Time記賬管理軟件對數(shù)據(jù)庫的操作主要是:對數(shù)據(jù)庫中的財務(wù)信息進行添加、刪除、修改、和查詢,在進行任何一個操作的時候都必須對數(shù)據(jù)庫對象進行初始化,才

32、能對想查看的相應(yīng)的數(shù)據(jù)庫的表進行數(shù)據(jù)操作。以下是各種操作的主要方法:(1) 添加資產(chǎn)代碼如下:(2)刪除資產(chǎn)代碼如下:(2) 修改資產(chǎn)代碼如下:(3) 查詢資產(chǎn)代碼如下:4.3.3 本地數(shù)據(jù)庫的初始化 4.4 主窗體設(shè)計實現(xiàn) 圖4.3 主窗體運行界面主界面使用側(cè)滑菜單作為導(dǎo)航欄。主界面標(biāo)題欄有個Menu用于分享軟件,一個賬單按鈕跳轉(zhuǎn)到賬單界面。下部顯示日期和收入支出總數(shù),在下面使用三個Tab顯示不同內(nèi)容三者頁面標(biāo)簽均在下方,切換方便,結(jié)構(gòu)清晰,如圖4.3所示。1) 明細:當(dāng)前月份顯示所有收入支出明細。2) 類別報表:當(dāng)前月份所有類型支出的統(tǒng)計表(餅狀圖)。3) 服務(wù):服務(wù)模塊主要有房貸計算、大

33、小寫轉(zhuǎn)換、彩票、快遞、匯率換算等。4) 側(cè)滑菜單:用戶信息查看、修改、數(shù)據(jù)同步、資產(chǎn)管理、日志、設(shè)置、指南、反饋、聯(lián)系我們。4.5 收入支出版塊設(shè)計實現(xiàn) 圖4.4 收入支出模塊部分運行界面1)頁面布局“我的收入”主面板頁面布局整體采用相對布局,顯示類型、金額、日期、收入增刪改查界面,采用的是線性布局內(nèi)嵌套相對布局的方式實現(xiàn)。中間的金額、頂部的時間和資產(chǎn)等為相對關(guān)系。收入支出顯示為Spinner動態(tài)獲取。2)數(shù)據(jù)存儲當(dāng)新增一個賬單的是為兩種類型,一種是收入,一種是支出,但選擇收入是實在資產(chǎn)中增加數(shù)據(jù),當(dāng)選擇支出是則在資產(chǎn)中減少數(shù)據(jù),如圖4.4所示。4.6 支出收入數(shù)據(jù)顯示版塊設(shè)計實現(xiàn)圖4.5 支

34、出收入顯示模塊運行界面 支出收入顯示模塊運行界面非常簡單就是一個圖片展示和數(shù)據(jù)內(nèi)容數(shù)據(jù)部分組件將內(nèi)容動態(tài)顯示。根據(jù)Intent中傳輸?shù)挠脩鬷d,在數(shù)據(jù)庫中提取相應(yīng)的記錄,如圖4.5所示。4.7 資產(chǎn)管理模塊的設(shè)計 圖4.6 資產(chǎn)管理模塊運行界面1) 頁面布局資產(chǎn)管理模塊的頁面布局,簡單大方清秀最上方的賬戶資產(chǎn)開關(guān),可以關(guān)閉后隱藏用戶賬戶金額的顯示。2)功能的實現(xiàn)賬戶資產(chǎn)的管理,使用網(wǎng)絡(luò)驗證功能,記賬本軟件將用戶輸入的數(shù)據(jù)與API鏈接組成新的字符串上傳至網(wǎng)絡(luò),在從網(wǎng)絡(luò)獲取驗證信息,如圖4.6所示。4.8 數(shù)據(jù)統(tǒng)計版塊設(shè)計實現(xiàn)4.8.1 分類收入、支出統(tǒng)計 圖4.7 分類收入統(tǒng)計表界面1) 明細界

35、面明細界面是一個Listview 用于展示數(shù)據(jù)顯示當(dāng)前月份的賬單明細,更具設(shè)置的時間從數(shù)據(jù)庫中獲取。在金額顯示部分,如果屬于支出則金額前面顯示“-”,如果屬于收入則金額前面顯示“+”。2) 圖表界面圖標(biāo)界面直接從數(shù)據(jù)庫中獲取相關(guān)數(shù)據(jù)經(jīng)過計算后轉(zhuǎn)換對象添加到圖表當(dāng)中去,如圖4.7所示。4.9 軟件設(shè)置版塊設(shè)置4.9.1 軟件設(shè)置主界面 圖4.9 軟件設(shè)置界面4.9.2 服務(wù)軟件子模塊 圖4.10 關(guān)于系統(tǒng)模塊運行界面1) 界面布局服務(wù)模塊與服務(wù)子模塊主要是由Fragment實現(xiàn),加載在同一個Activity中去。使用Activity對眾多的Fragment進行管理。2) 功能實現(xiàn)功能的實現(xiàn)方式主

36、要有兩種,一種本地計算例如房貸計算,是按照一定的公式將結(jié)果計算出來并顯示在界面上,另一種是通過網(wǎng)絡(luò)獲取的方式來獲取結(jié)果,比如說大小寫轉(zhuǎn)換,是將用戶輸入的數(shù)據(jù)與API字符拼接后才用GET方式上傳至網(wǎng)絡(luò),在從網(wǎng)絡(luò)端獲取數(shù)據(jù),并在界面上顯示。4.10 賬戶管理版塊設(shè)計實現(xiàn)4.10.1 用戶登錄/注冊 圖4.11 用戶注冊軟件運行圖1)頁面布局登陸/注冊界面才用ScrollView布局,內(nèi)部嵌入LinearLayout。在代碼對用戶名密碼進行前端驗證防止用戶輸入錯誤到至注冊失敗。2)數(shù)據(jù)驗證及傳輸 由于后臺數(shù)據(jù)對用戶名密碼要求較高,所以在前端對用戶輸入的數(shù)據(jù)進行前端驗證,用戶輸入的用戶名必須是郵箱,密

37、碼必須超過六位。4.10.2 修改用戶信息 圖4.12 修改用戶名、密碼界面在修改用戶名、密碼模塊中,要先做的控制自然是先驗證當(dāng)前用戶是否是這個賬號的真正使用者。若驗證通過,則允許修改。修改后自動以修改后的賬戶登錄到主界面,。5 軟件測試過程與結(jié)果5.1 測試目的軟件測試就是在受控制的條件下對系統(tǒng)或應(yīng)用程序進行操作并評價操作結(jié)果的過程,所謂控制條件應(yīng)包括正常條件與非正常條件。軟件測試過程中應(yīng)該故意地去促使錯誤的發(fā)生,也就是事情在不該出現(xiàn)的時候出現(xiàn)或者在應(yīng)該出現(xiàn)的時候沒有出現(xiàn)。從本質(zhì)上說,軟件測試是“探測”,在“探測”中發(fā)現(xiàn)軟件的Bug。軟件測試貫穿于軟件定義與開發(fā)的整個周期,軟件的需求規(guī)格說明

38、書,結(jié)構(gòu)設(shè)計及程序編碼,都屬于軟件測試的對象。軟件測試包含白盒測試與黑盒測試,白盒測試是針對程序代碼進行正確性檢驗的測試工作,黑盒測試獨立于程序代碼,從用戶的角度,通過一定的測試步驟與測試案例,驗證軟件功能、性能等指標(biāo)能否滿足實際應(yīng)用需求的測試工作。5.2 測試平臺簡介本次軟件設(shè)計的測試平臺構(gòu)建于Microsoft Windows 8 操作系統(tǒng)之上,測試過程中需要使用Android Studio 運行整個程序,測試的數(shù)據(jù)庫系統(tǒng)采用的是SQLite輕量級數(shù)據(jù)庫。5.3 測試方法黑盒測試,英文是Black Box Testing。又稱功能測試或者數(shù)據(jù)驅(qū)動測試。黑盒測試是根據(jù)軟件的規(guī)格對軟件進行的測

39、試,這類測試不考慮軟件內(nèi)部的運作原理,因此軟件對用戶來說就像一個黑盒子。軟件測試人員以用戶的角度,通過各種輸入和觀察軟件的各種輸出結(jié)果來發(fā)現(xiàn)軟件存在的缺陷(Bug),而不關(guān)心程序是具體如何實現(xiàn)的一種軟件測試方法。白盒測試,英文是White Box Testing。又稱結(jié)構(gòu)測試或者邏輯驅(qū)動測試。白盒測試是把測試對象看作一個打開的盒子。利用白盒測試法進行動態(tài)測試時,需要測試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過程,不需測試軟件產(chǎn)品的功能。白盒測試法的覆蓋標(biāo)準(zhǔn)有邏輯覆蓋、循環(huán)覆蓋和基本路徑測試。其中邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。白盒測試是知道產(chǎn)品內(nèi)部工作過程,

40、可通過測試來檢測產(chǎn)品內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常進行,按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅(qū)動、基路測試等,主要用于軟件驗證。以用戶登錄界面為例,結(jié)果證明運行正確。部分測試運行結(jié)果如表5.1所示。表5.1 添加收入界面測試結(jié)果IDusernamepassword運行結(jié)果160457313/密碼不能為空2/12351233賬號不能為空3/請?zhí)顚懹脩裘? 開發(fā)中遇到問題與解決方法6.1 Fragment之間的通信為了重用Fragment UI 組件,在設(shè)計中應(yīng)該通過定義每一個Fragemnt自己的layout

41、和行為,讓Fragment的自包含和模塊化。定義了這些可重用的Fragment,可以通過Activity將它們關(guān)聯(lián)起來并通過程序的邏輯代碼將他們連接起來以實現(xiàn)整體組合的UI。一個Fragment與另一個Fragment通信,例如基于用戶事件改變Fragment中的內(nèi)容。所有Fragment質(zhì)檢單額通信都是通過Activity關(guān)聯(lián)起來的。兩個Fragment之間不應(yīng)該直接進行通信。為了允許Fragment和它的Activity通信,應(yīng)該在Fragment類中定義一個接口并在Activity中實現(xiàn)它。Fragment在onAttach()回調(diào)函數(shù)中獲取接口的具體實現(xiàn)的對象。后面,F(xiàn)ragment就

42、可以調(diào)用接口中的方法實現(xiàn)與Activity的通信。將消息傳遞給FragmentActivity可以通過調(diào)用findFragmentById()方法獲取Fragment實例,然后直接調(diào)用Fragment的公有方法,將消息傳遞給Fragment。例如,想象一下,Activity可能包含有其他的Fragment,而這些Fragment通過上面的回調(diào)函數(shù)返回的接口動態(tài)地顯示一些內(nèi)容。這種情況下,Activity可以將回調(diào)函數(shù)中接收到信息傳遞給需要的Fragment。綜上總結(jié)Fragment之間的通信步驟如下:1) 定義接口2) 實現(xiàn)接口 3) 將消息傳遞給fragment6.2 Fragnment 與

43、Activity通信探究Fragment 與activity相互傳遞數(shù)據(jù),可按如下方式進行:1、Activity 向Fragment傳遞數(shù)據(jù):在Activity中創(chuàng)建Bundle數(shù)據(jù)包并調(diào)用Fragment的setArguments(Bundle bundle)方法即可實現(xiàn)將Bundle數(shù)據(jù)包傳給Fragment,這個很容易實現(xiàn)。2、但是如果反過來呢,當(dāng)我們點擊觸發(fā)Fragment的事件時,希望將數(shù)據(jù)返回Activity,Activity獲得數(shù)據(jù)進行之后的操作,也就是Fragment主動向Activity傳遞數(shù)據(jù),利用接口回調(diào)實現(xiàn)Fragment與Activity的通信???結(jié)通過本此的畢業(yè)設(shè)計,讓我更熟練地掌握了Android編程和Android Studio知識,熟悉了一個管理系統(tǒng)的運用和操作,熟悉如何采用Android Studio作為IDE環(huán)境使程序成功的編譯和運行,能夠運用Android語言創(chuàng)建基本表和編輯信息、增加信息、刪除信息、修改信息、查找信息和瀏覽信息等。通過對基本表格、編輯、增加、刪除、修改、查找、瀏覽模塊的鏈接,生成能操作運行的記賬系統(tǒng)。本軟件設(shè)計的主要目的就是幫助朋友們實現(xiàn)智能手機端的自主記賬,使大家實現(xiàn)有計劃的消費,合理的消費。同時軟件設(shè)計美觀,使用簡單,結(jié)合了現(xiàn)在流行的Android系統(tǒng),安裝在用戶隨身攜帶的手機上,可以實現(xiàn)隨時隨地記賬。經(jīng)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論