靈感範文站

位置:首頁 > 論文 > 畢業論文

基於安卓的個人記賬管理APP設計與實現

本科生畢業設計(論文)

基於安卓的個人記賬管理APP設計與實現

 

 

 

題    目:基於安卓的個人記賬管理APP設計與實現

 

                                                 

 

 

獨創性宣告

 

本畢業設計(論文)是我個人在導師指導下完成的。文中引用他人研究成果的部分已在標註中說明;其他同志對本設計(論文)的啟發和貢獻均已在謝辭中體現;其它內容及成果為本人獨立完成。特此宣告。

 

論文作者簽名:              日期:       

 

 

關於論文使用授權的說明

 

本人完全瞭解福州大學至誠學院有關保留、使用學位論文的規定,即:學院有權保留送交論文的印刷本、影印件和電子版本,允許論文被查閱和借閱;學院可以公佈論文的全部或部分內容,可以採用影印、縮印、數字化或其他複製手段儲存論文。保密的論文在解密後應遵守此規定。

 

論文作者簽名:             指導教師簽名:            日期:    


基於安卓的個人記賬管理APP設計與實現

摘要

記賬是千百年都流傳的事,老一輩的人都有使用算盤記賬的經歷;後來有了計算器,大家就使用筆和賬簿輔以計算結果進行記賬;到了二十一世紀的資訊化時代,電腦軟體的普及,使得大家轉向了Excel或是其他一些帶有強大分析功能的桌面軟體進行電腦記賬。然而,以上種種方式,都帶有時間、空間的限制,不能做到隨時隨地的記錄,延誤了最佳的記賬時間,或是需要後期拿出大量時間進行賬目的統計分析工作,導致人們的記賬習慣不能得以延續下去,功虧一簣,更是達不到規劃理財的目的。

現代經濟社會中,人們的經濟活動頻繁,消費種類繁多,在這樣的情況下,研究一個專門為日常消費記賬的APP已是迫在眉睫。本論文設計的個人記賬管理APP不僅方便使用者記錄收支資訊、實現報表分析,總結自己的財務情況,方便人們更加快捷、實時的記錄自己的消費情況,而且可供使用者記錄與管理日常事件。與傳統的記賬方式相比,本論文設計的個人記賬管理APP具有安全性、便攜性和實用性等特點。 

本文首先針對個人記賬管理APP展開需求分析,其次對個人記賬管理APP展開功能分析,最後採用Android、Java和SQLite資料庫實現個人記賬管理APP。經系統測試,本文設計的個人記賬管理APP具有簡單鮮明、針對性功能設計和方便快速使用等特徵。

 

關鍵詞:記賬管理,Adroid,APP


Design and Implementation of Personal Account Management APP Based on Android

Abstract

Speaking of bookkeeping, I believe everyone's mind will come up with a variety of ways of bookkeeping. The older generation had the experience of using the abacus for accounting; later, with the calculator, everyone used pens and ledgers to calculate the results of accounting; by the 21st century information age, the popularity of computer software, Everyone turned to Excel or other desktop software with powerful analysis capabilities for computer bookkeeping. However, all of the above methods are limited by time and space, cannot be recorded anytime and anywhere, delay the best accounting time, or require a lot of time to perform statistical analysis of accounts, resulting in people’s The bookkeeping habits cannot be continued, and they will fail to achieve the goal of planning financial management.

In the modern economy and society, people's economic activities are frequent and there are many types of consumption. Under such circumstances, it is extremely urgent to study an APP that is specifically designed for daily consumption. The personal billing management APP designed in this paper not only facilitates users to record revenue and expenditure information, implement report analysis, summarizes their own financial situation, facilitates people to record their own consumption situation more quickly and in real time, and provides users with the ability to record and manage daily events. Compared with traditional billing methods, personal billing management APP designed in this thesis has the characteristics of security, portability and practicality. The

This article first analyzes the requirements for Personal Bookkeeping Management APP, then analyzes the Personal Bookkeeping Management APP, and finally uses Android, Java, and SQLite databases to implement Personal Bookkeeping Management APP. After system testing, the personal billing management APP designed in this paper has features such as simple and clear, targeted function design and convenient and quick use.

 

Key Words: Ajax, Web Application, Chat System

 


目    錄

第1章 緒論 1

1.1 選題背景及意義 1

1.2  國內外研究現狀 1

1.3  論文的研究思路 2

1.4  論文的設計與解決方法 2

(1)設計語言與結構 2

(2)功能解決 2

(3)效能解決 2

圖1-1設計路線圖 3

第2章 開發環境的介紹和搭建 4

2.1 開發環境的介紹 4

2.1.1 JDK的介紹 4

2.1.2 Eclipse的介紹 4

2.1.3 Android SDK的介紹 4

2.2 開發環境的搭建 4

2.2.1 JDK的安裝與環境變數配置 4

2.2.2 Android SDK 與Eclipse的安裝與配置 4

2.2.3 Android虛擬機器AVD的配置 5

圖2-1 AVD配置圖 5

圖2-2 AVD介面圖 6

第3章 個人記賬管理APP需求分析 7

3.1  需求分析 7

3.2  可行性分析 7

3.3  APP系統用例圖及其分析 8

圖3-1 APP系統用例圖 9

3.4 APP各用例功能描述 9

3.4.1我的收入 10

圖3-2 我的收入用例圖 10

3.4.2我的支出 10

圖3-3 我的支出用例圖 11

3.4.3資料統計 11

圖3-4 資料統計用例圖 12

3.4.4使用者管理 12

圖3-5 使用者管理用例圖 13

3.4.5系統設定 13

圖3-6 系統設定用例圖 14

第4章 個人記賬管理APP詳細設計 15

4.1  選單頁設計 15

圖4-1 主介面設計 15

4.2  我的支出功能設計 15

圖4-2 我的支出設計 16

4.3  我的收入功能設計 16

圖4-3我的收入設計 17

4.4  資料統計功能設計 17

圖4-4資料統計設計 18

4.5系統設定功能設計 18

圖4-5賬戶管理設計 19

4.6資料庫設計 19

4.6.1 APP使用者表 19

表4-6  使用者表 19

4.6.2收入支出資料表 20

表4-7 收入資料資訊表 20

4.6.3資料統計表 20

表4-8資料統計表表 20

第5章 個人記賬管理APP實現 21

5.1 主介面的實現 21

圖5-1 主介面 22

5.2 收支新增功能實現 22

圖5-2  新增支出介面 24

5.3 資料統計功能實現 25

圖5-3 資料統計 27

5.4 賬戶管理功能的實現 27

圖5-4 賬戶管理頁面 29

5.5系統設定功能的實現 29

圖5-5系統設定頁面 31

第6章 測試 32

6.1  基本概念 32

6.2  測試步驟 32

6.3  系統測試 32

6.4  功能測試 33

6.4.1賬號管理測試 33

表6-1 賬號管理測試 33

6.4.2收支新增測試 34

表6-2 收支新增功能測試 34

6.4.3系統設定測試 35

表6-3 系統設定測試內容表 35

結    論 36

參考文獻 37

致謝 38

 


第1章 緒論

1.1 選題背景及意義

進入到新世紀後,隨著社會不斷的發展,人們的物質生活也在不斷的變好,消費水平也有了很大的提升,尤其是對於年輕人來說,更是喜歡新型的消費,但是這樣也是帶來了一些壞處,比方說是一些80後和90後只懂得花錢,而在理財上面卻比較差,這也給他們的生活帶來了很大的麻煩。所以針對於這種情況,很多的有著不同功能的個人理財系統就產生了,不管是電腦上使用還是手機上使用都有。 

Android是2007年由Google公司給研發出來的,它在出現以後短短的幾年中,就將原本看似完美的塞班系統給取代,成為用的最廣的作業系統[4]。Android作業系統是將原始碼開放的,吸引了很多的廠商加入,從而也是有越來越多的人開始用Android手機,如果能設計一個基於Android平臺的應用,一定是有很大的使用者群體,會被很多的廠商所喜歡推崇。

隨著手機和人們生活關係越來越緊密,人們也是對手機中的軟體有了很大的需求。因此,記賬軟體開始應運而生,而用手機軟體來記賬,有著以下3點重要的意義:

(1)記賬最為直接的作用就是可以將自己日常的收支情況給摸清,看看自己的收支情況到底是怎樣的,收入了多少,各種支出又有多少,都花在了什麼地方。這樣就能將自己的收支做一個規劃,然後考慮如何能更好的理財。

(2)“月光族”是一個之前很流行的詞,並不是說他們都是掙得錢太少,不夠花,而是往往在花錢的時候沒有一個好的計劃,很隨便的就將錢都花完了。而靠著記賬就可以把自己以前隨便畫的錢給記錄下來,能將這錢到底是怎樣給花出去的搞清楚,將亂花錢給避免了。靠著記賬也許用不了多長時間就能實現合理的花錢。

(3)記賬可以說開始理財的第一步,有了這一步就能讓自己對財務有一個更好的敏感,把理財的水平給提高。

1.2  國內外研究現狀

這些年智慧手機已經是越來越多,在Android推出了以後,就因為它自己所具有的優勢而逐漸的把市場份額給擴大,尤其是在國外,可以說是相當的受歡迎,是處在一個蓬勃發展的時候。根據一家美國市場調研機構給出的報告中顯示,Android在美國已經是佔到了28%的市場份額,蘋果就要排在它的後面。而且從一些個業內人士的分析中也是可以看出,隨著Android系統中軟體數量的增加,越來越多的人會選擇用Android作為作業系統的裝置[5]。

我國學者王秋麗以前曾經發表過一篇文章《財務軟體的現狀及發展趨勢》,在這篇文章裡面,她對與我國財務軟體的現狀做了分析,認為主要有兩個特點:在規模上不斷的變大,二就是還有市場可以開發。雖然說我國已經有10個年頭在發展財務及企業管理軟體,市場也從一開始競爭激烈的情況變成了被大型企業所佔據的場面。在我國加入了WTO以後,也是讓財務軟體面臨了新的挑戰,競爭也是更加的激烈[6]。

就個人記賬軟體來說,在國外的普及率相對國內來說較高,我國要相對的少一些。學者Bruce也是提出了自己的觀點,他認為隨著資訊化的發展,個人記賬軟體對於資料有了更高的要求,通過對資料進行不斷整理與分析的軟體將有著更長遠的應用[7]。 

1.3  論文的研究思路

第一章簡單說明研究近況和意義目的;第二章介紹程式語言和開發技術和編譯器環境;第三章是應用程式的需求分析,分析其可行性等;第四章為應用的總體設計,對應用有個總體輪廓;第五章是程式的詳細設計,即具體的程式碼編寫;第六章是測試,確保其可用性。每一章都相輔相成,構建出完整的論文。

1.4  論文的設計與解決方法

目前的Android應用是相當的火爆,在這樣的情況下,來開發出一個基於Android的個人記賬應用,一定是可以藉助著安卓的優勢,來得到很多的使用者喜歡與安裝。同時因為手機有著便於攜帶的特點,所以這樣就能將軟體的使用價值給大大的提高讓人們不但是說能夠隨時隨地的來把記賬完成,還能更好的幫助人們把不願意記賬的習慣給改善了,早一天幫助他們實現自主理財[8]。小乖記賬APP是基於Android平臺的,在設計上較為清新,使用起來也是很簡單,還有這很強大管理功能,它的出現對於幫助當下的那些個不會理財的年輕人一定是有著很大的意義。根據個人理財實現的實際需求,本系統設計路線圖如1-1所示,其解決方法如下:

(1)設計語言與結構

在開發的語言上面是使用裡當下比較流行的Java,把它和最流行的移動開發技術結合起來,實現小乖記賬的開發,更好的將小乖記賬的用處給發揮出來。

(2)功能解決

在功能上面,小乖記賬是要更好的幫助人們來實現自主理財,通過小乖記賬中的各個功能,實現消費情況的記錄,提醒使用者在一天的實現自主理財。

(3)效能解決

對於小乖記賬來說,不光是要考慮功能上面的實用,還要考慮效能上面的可靠。所以對於小乖記賬中最重要的資料部分是用到sqlite來儲存資料。

 

 

 

圖1-1設計路線圖

 

 


第2章 開發環境的介紹和搭建

2.1 開發環境的介紹

2.1.1 JDK的介紹

JDK 是Java語言的軟體開發工具包。它是作為Java的核心來存在的,在內容上是將Java的類庫。執行環境還有工具都給包括了進來。它是為開發Java的程式設計師而專門釋出的開發包[9]。

2.1.2 Eclipse的介紹

Eclipse是用來開發Java的平臺,在剛開始的時候因為功能上的限制,只能用來開發Java,後來隨著功能的擴充套件,也是可以用來開發其他的一些語言。就Eclipse本身來說,它只是一個框架平臺,但是因為一些個外掛程式的使用,讓它也是有了很大靈活性[10]。

2.1.3 Android SDK的介紹

SDK是軟體開發工具包。Android SDK 指的是Android專屬的軟體開發工具包。

2.2 開發環境的搭建

2.2.1 JDK的安裝與環境變數配置

(1)從網上下載JDK1.6或者JDK1.7版本。

(2)雙擊檔案安裝JDK。

(3)環境變數的配置:首先在“我的電腦”屬性中找到“高階系統設定”,然後再找到"環境變數",在環境變數中完成“使用者變數”和“系統變數”的配置。在系統變數裡點選新建在變數名中輸入“JAVA_HOME”,在變數值中填入JDK的安裝路徑;接著新建classpath變數,變數值設為:.; %JAVA-HOME%lib;% JAVA-HOMElib,然後雙擊“系統變數”中存在的path在彈出對話方塊中新增變數值:%JAVA-HOME%bin;%JAVA-HOME%jre,

最後執行->cmd,輸入javac,如果出現用法說明,則表示成功[11]。

2.2.2 Android SDK 與Eclipse的安裝與配置

在網上搜索adt-bundle-windows並下載。下載完成以後直接安裝就可以,此檔案中就已經將Eclipse和Android SDK都包括了進去,非常適合新手來做開發。

2.2.3 Android虛擬機器AVD的配置

在Eclipse選單欄中點選Window->Android Virtual Device Manager,在彈出的視窗中點選“new”按鈕,在新出現的AVD配置視窗中來將自己想要的AVD建立。如圖2-1所示:

 

圖2-1 AVD配置圖

 

 

在將AVD給配置完以後,就可以在建立好的AVD中通過“start”按鈕來在彈出的彈出對話方塊中用Launch按鈕來完成第一次啟動,因為第一次啟動是需要一個比較長的時間,所以需要耐心的等待下。開啟成功後如圖2-2所示:

 

圖2-2 AVD介面圖

 


第3章 個人記賬管理APP需求分析

3.1  需求分析

需求分析方面,大致的工作基本可以按照四個方面開始進行,首先是具體的問題識別,然後是對專案進行分析綜合,接著制定相應的規格說明,最後進行專案評審。

(1)具體的問題識別:對所要做的軟體APP進行理解,系統角度是一個很好的方向,從而確定自己要開發的系統的所有要求,然後提出這些要求的能夠實現的方式,根據具體的分析來確定專案應該具體達到的一個標準。具體要求包括以下內容:要做什麼功能,效能要達到什麼標準,專案所要的環境是什麼,要有什麼程度的可靠性,安全保密性做的怎麼樣,專案介面要求何如,系統資源使用是否允許,消耗多少軟體開發成本,按照什麼進度進行開發,所做的專案在之後可以達到怎樣的目標。本文指在做一個可以進行簡單記賬管理的APP,滿足單機狀態下使用者的記賬管理需求。

(2)對專案APP進行分析綜合:對專案所需要的軟體功能進行分別細化,將各個元素之間的聯絡從系統之中找出來,並得出APP的特性以及設計上可能出現的限制,對以上內容進行分析,看看是否能對應專案APP需要的要求,將要求中不合理不規則部分找出來,去除這一部分的需求,然後對專案APP需要的功能進行增加。最後,將以上結果進行綜合,形成系統最後的的解決方案,同時,將系統進行邏輯模型搭建,給出專案要開發的詳細的系統模型。 

(3)制定相應的規格說明:編寫需求文件,在次環節中,編寫的文件也就是制定對應的規格說明書。相應的文件對於相應的需求分析進行說明。 

(4)進行APP專案評審:對專案的功能進行評審,包括APP系統功能的正確性,需求功能是否完整,並且判斷是否具有清晰性,以及給於系統的其它飽含的需求相應的評價。評審階段通過後,專案才可以進行接下來的工作,如果專案評審沒有通過,就必須對專案重新開始需求分析,重複上幾個階段所做的內容。

本系統主要是設計一個基於安卓平臺的個人記賬管理功能的APP的設計與開發,需求物件有家庭主婦、學生、在職人員等。家庭主婦主要是用於日常開支如買菜做飯以及衣服、鞋、包等個人物品的開支;學生一般是用於記錄零用錢等小型記賬;在職人員一般是用於房租、水電費等經濟上的開支記賬。

3.2  可行性分析

想要弄清是否能夠實現所要開發的APP專案,可以實現的專案是否值得對其做研究,因此進行可行性分析是十分重要的。對專案進行可行性分析,從客觀看來,這是一次著重簡化專案系統分析的一步,同時也減少了系統設計的過程,所以,進行可行性分析是非常重要的,也是十分必要的。通過所設計的最開始的目標,結合所做的實時調查進行可行性分析,能夠分析出以下三點: 

(1)技術可行性:Android Studio 通過Google公司的不斷開發測試已經成為較為成熟的便利的開發環境,基本可以替代以前Eclipse 上安裝ADT的開發模式,然後使用Java語言進行系統專案開發[12]。 

(2)執行可行性:本專案為安卓應用程式,需要安卓虛擬機器環境,Android Studio開發環境中有執行該系統所需要安卓虛擬機器環境,即AVD,執行穩定,功能豐富,利用它能夠很好的進行程式的除錯測試。如果不適用,也可用真機usb連線,adb工具可以檢測手機進行真機測試,很好的執行程式[13]。 

(3)法律可行性:所做的專案是自主開發的,所以不會出現侵權等商業問題,在相關法律上來說,這是可行的。通過對專案進行的可行性分析,完全可以用Android Studio進行應用開打,然後使用Java語言進行程式編寫。

3.3  APP系統用例圖及其分析

由上面的提到的那些個需求分析可以將小乖記賬的具體操作和功能給確定下來,進而就可以把系統用例圖給確定下來。 

系統用例主要包括我的收入、我的支出、我的便籤、資料圖表統計、使用者管理、系統設定、退出七大功能,其中記賬包括新增支出和新增收入;在圖表統計裡面,是可以選擇是按年還是按月來顯示的;在系統設定裡面應該是把收支型別給新增進去,還有賬戶的型別等,系統用例圖如圖3-1所示

 

圖3-1 APP系統用例圖

 

使用者通過手機使用APP,進入小乖記賬APP後應顯示選單頁面,向用戶提供七個功能:

1我的支出

該功能主要是讓使用者能把自己每天的消費支出給記錄下來。

2我的收入

該功能主要用於使用者對自己每天的收入情況進行記錄。

3我的便籤

該功能主要用於使用者對自己需要備忘的事情進行記錄。

4資料統計

這個是為了讓使用者可以對自己在某個時間段的收支情況進行一下統計分析。

5賬戶管理

這個功能是為了讓使用者能夠及時的對自己的資訊做一個管理。

6系統設定

使用者在該功能中可以進行資料的清空以及收支型別的管理。

7退出

該功能可安全退出系統。

3.4 APP各用例功能描述

為便於使用者理解各功能,下面對功能進行詳細的描述。

3.4.1我的收入

在我的收入功能中,使用者可通過新增按鈕,建立新的收入條目,包括的內容有金額、時間、類別、地點以及備註。具體實現如圖3-2所示。

 

 

圖3-2 我的收入用例圖

 

(1)用例名:我的收入 

(2)行為者:使用者 

(3)目的:為的是說讓使用者能把自己的收入情況給做一個記錄,即便以後要看也方便些。

(4)簡要說明:使用者新增新增收入資訊或者刪除。 

(5)過程描述:

1在手機桌面上通過小乖記賬的圖示來進入到APP中; 

2進入APP主介面後選擇“我的收入”進入APP系統記賬頁面; 

3點選新增,選擇記賬型別,輸入金額,選擇時間,選擇好收入型別,同時選擇好指定賬戶進行記錄; 

4設定完畢,使用者資料儲存成功。

(6)前置條件:登入APP

(7)後置條件:新增收入資訊或刪除收入資訊或修改收入資訊並儲存。

3.4.2我的支出

在我的支出功能中,使用者可以通過點選新增按鈕,來為自己建立新的支出條目,包括的內容有金額、時間、類別、地點以及備註。具體實現如圖3-3所示。

 

 

圖3-3 我的支出用例圖

 

 

(1)用例名:我的支出 

(2)行為者:使用者 

(3)目的:為的是說讓使用者能把自己的指出情況給做一個記錄,即便以後要看也方便些。  

(4)簡要說明:使用者新增新增支出資訊或者刪除。

(5)過程描述: 

1 在手機桌面上通過小乖記賬的圖示來進入到APP中; 

2 進入APP主介面後選擇“我的支出”進入APP系統記賬頁面; 

3 頁面上面有新增按鈕,在點選這個按鈕以後局可以進入到新增頁面,然後依次來把記賬的型別,花了多少錢,什麼時間花的,型別是怎樣的來給完成,當然也是要在制定的賬戶中來完成; 

4 設定完畢,使用者資料儲存成功。

(6)前置條件:登入APP成功

(7)後置條件:新增支出資訊、刪除支出資訊、修改支出資訊並儲存。

3.4.3資料統計

在資料統計功能下,使用者可以通過點選分類支出統計、分類收入統計和收--支統計對自己在任意時間段中的某一項內容進行統計,並得到圖表分析,使自己的收支情況能夠更明瞭的顯示,方便為以後的消費做計劃。具體實現如圖3-4所示。

 

 

圖3-4 資料統計用例圖

 

(1)用例名:資料統計 

(2)行為者:使用者 

(3)目的:這部分為的就是說將使用者在某一個時間段裡的消費資訊給分析出來,讓使用者能夠很明顯的就把使用者、消費和支出這三個之間的關係給看出來。 

(4)簡要說明:使用者選擇檢視資料統計表。

(5)過程描述:

1 點選進入APP系統主介面; 

2 通過點選選單裡面的資料統計來記入到分析的介面裡面; 

3 再截面上是會把支出和收入的情況給用曲線來顯示出來; 

4 點選系統介面下端的按上個月或者下個月顯示圖表; 

5 系統顯示使用者上個月或者下個月支出、收入曲線;

6點選收支統計曲線,APP顯示收支折線統計圖。

(6)前置條件:成功登入APP

(7)後置條件:使用者檢視收入統計表或者支出統計表或收支折線統計表。

3.4.4使用者管理

在使用者管理的功能中,使用者可以完成註冊、切換使用者的功能,還可以進行自己密碼的修改,並將當前使用者和該使用者下的所有資料進行刪除,亦可使用APP預設的使用者登入來體驗小乖記賬APP。具體實現如圖3-5所示。

 

 

圖3-5 使用者管理用例圖

 

(1)用例名:使用者管理 

(2)行為者:使用者 

(3)目的:這部分就是為了能夠把使用者的資訊給收集起來。  

(4)簡要說明:使用者註冊,註冊成功可修改密碼或者切換使用者或者刪除所有資料。

(5)過程說明:

1 點選進入APP系統主介面; 

2 選擇主選單中的賬戶管理 

3 系統介面顯示使用者註冊、切換使用者、修改密碼 

4 點選系統介面頂端的使用者註冊或切換使用者或修改密碼; 

5 輸入使用者名稱、密碼、完成註冊和修改密碼。點選切換使用者,輸入使用者名稱和密碼,確認登入。

6點選修改當前使用者和所有資料,點選確認,完成刪除。

7點選使用預設使用者登入,成功登入預設賬號。

(6)前置條件:開啟APP。

(7)後置條件:註冊登入成功。

3.4.5系統設定

小乖記賬為使用者提供了系統設定的功能,使用者可以通過該功能將收入、支出和便籤的資料進行清空的處理,也可對收入、支出的型別進行管理,完成增刪改查的功能,若是APP出現問題,亦可進行預設設定的還原以及當前系統資訊的檢視。具體實現如圖3-6所示。

 

圖3-6 系統設定用例圖

 

(1)用例名:系統管理 

(2)行為者:使用者 

(3)目的:這部分就是為了預防使用者在以後消費和支出型別給發生改變而設計出來的。 

(4)簡要說明:使用者進行清空資料或者修改型別管理。

(5)過程描述: 

1 點選進入APP系統主介面; 

2 通過點選選單裡面的系統設定來進入到設定的介面裡面; 

3 點選選擇收入支出型別管理型別,進入型別新增介面 ;

4 輸入支出和收入型別,點選新增按鈕新增支出收入型別;

5 點選清空收入支出或者是便籤資料,點選確認,成功刪除資料。

(6)前置條件:成功登入APP。

(7)後置條件:清空資料定義型別 。

 

 

 

 

 

 

 

 

 

第4章 個人記賬管理APP詳細設計

 

在整個應用編寫過程中,詳細設計是其中不可或缺的一步。在此環節中,詳細設計了此應用系統的程式碼,下面將依照遊戲狀態進行設計,並在每個狀態中穿插說明系統所用的類和功能。

4.1  選單頁設計

進入到小乖記賬APP後,顯示MainActivity,在onCreate方法中呼叫setContentView方法設定顯示xiaoguaiView頁面,可以看到選單頁,上面有七個按鈕,分別是我的支出、我的收入、我的便籤、資料統計、賬戶管理、系統設定、退出,分別對應相應的功能。具體主頁面設計如圖4-1所示。

 

 

圖4-1 主介面設計

 

4.2  我的支出功能設計

進入到我的支出功能後,在螢幕中會有新增按鈕,若是使用者已經建立過支出條目,那麼還會有已有支出條目顯示。點選新增按鈕後,進入新增介面,就可出現新增支出條目,在支出條目中可進行金額、時間、類別、地點以及備註共五個具體內容的新增,金額可隨意新增,日期選擇會出現日曆可滾動選擇,類別有多項類別可供選擇,地點備註可隨意新增,點選儲存完善該條支出記錄,取消則退出。點選已存在條目還可以進行修改,或者刪除本條目操作,具體設計流程如下圖4-2所示。

 

 

圖4-2 我的支出設計

4.3  我的收入功能設計

小乖記賬APP不光是要對使用者的支出情況進行記錄,還應將使用者的收入情況進行記錄,這樣才能更好的實現記賬功能。在我的收入功能中也是有新增按鈕的設計,方便使用者實時的將自己新的收入進行記錄,若是之前就已經記錄過新增收入,那麼在頂端會有該條目的顯示,在新增功能下有金額、時間、類別、放款方以及備註共五個具體內容可進行編輯。我的收入中金額、放款方、備註可隨意新增,時間選擇通過日曆滾動選擇,類別可有多種選擇。點選儲存則儲存成功,取消則退回新增介面,點選已存在條目可進行修改或者刪除。具體的設計流程如下圖4-3所示。

 

圖4-3我的收入設計

4.4  資料統計功能設計

使用者可以在任意的時間段內,進行該時間段下的收支情況統計,小乖記賬APP提供了餅狀圖以及折線圖的統計型別,點選分類支出統計或者分類收入統計,出現餅狀統計圖,圖中各類別已百分比顯示,清楚明瞭。收支統計是折線圖統計,可彙總每天的收入或者支出總計,方便使用者直觀明瞭的分析自己在該時間段內的收支情況,資料統計圖均可以選擇時間,具體的流程設計如下如圖4-4所示。

 

圖4-4資料統計設計

4.5系統設定功能設計

在系統設定功能中,主要是為使用者設計了清空收入、支出和便籤的功能,方便使用者對自己不再使用的資料進行刪除,選擇清空收入或者支出或者便籤資料,點選確認即可清除。隨著時間的推移,使用者的收入支出型別是會有變化,所以在型別上設計了增刪改功能,點選收入或支出型別管理可選擇新增或者是刪除按鈕,選擇新增會出現新增型別,輸入新增型別點選確認。選擇已存在型別點選刪除即可刪除。具體的設計流程如下圖4-5所示。

 

 

圖4-5賬戶管理設計

4.6資料庫設計

4.6.1 APP使用者表

APP使用者表用於存放登入和註冊時所需要的賬戶資訊,包括username(使用者名稱)和password(密碼)兩個屬性,其中的username是該表的主鍵,每個使用者名稱在該表中唯一對應個密碼,使用者名稱不允許重複,驗證登陸時使用者名稱和密碼必須相匹配。

手機使用者表如下表4.1所示:

表4-6  使用者表

列名

資料型別

可否為空

是否為主鍵

屬性含義

username

Varchar(20)

NOT NULL

使用者賬號

password

Varchar(20)

NOT NULL

使用者密碼

 

4.6.2收入支出資料表

收入支出使用者表用於存放使用者收入支出資訊,用於新增資訊、修改資訊,包括username(使用者名稱)、password(密碼)、income(收入)和pay(支出)四個屬性,其中的username是該表的主鍵,每個使用者名稱在該表中唯一對應個密碼,使用者名稱不允許重複,驗證繫結資訊時用username和password必須相匹配。

收入支出資料表如下表4-7所示:

表4-7 收入資料資訊表

列名

資料型別

可否為空

是否為主鍵

屬性含義

username

Varchar(20)

NOT NULL

使用者賬號

password

Varchar(20)

NOT NULL

使用者密碼

income

double(20)

NULL

收入

pay

double(20)

NULL

支出

 

4.6.3資料統計表

資料統計表用於存放收入支出資料資訊,用於顯示使用者收入支出統計百分比,包括username(使用者名稱)、income(收入)、pay(支出)、time(日期)和mony(金額)五個屬性。其中username是主屬性即為使用者資料表統計的主鍵,它也是該表的外來鍵,來自使用者資料統計表即表4.2的username屬性。

資料統計表如下表4-8所示:

表4-8資料統計表表

列名

資料型別

可否為空

是否為主鍵

屬性含義

username

Varchar(20)

NOT NULL

使用者賬號

password

Varchar(20)

NOT NULL

使用者密碼

income

double(20)

NULL

收入

pay

double(20)

NULL

支出

 

 

 

第5章 個人記賬管理APP實現

5.1 主介面的實現

小乖記賬APP的主介面是七個圖示,通過點選圖示就可實現功能跳轉,當用戶點選相應的圖示時即可進入該功能,在使用者點選圖示時,應用就會呼叫函式,實現了介面的跳轉,效果圖如圖5-1所示,具體的函式程式碼如下:

public About() {

protected void onCreate(Bundle savedInstanceState) {

eate(savedInstanceState);

setContentView(t);

nstance()ctivity(this);

usernow=(TextView)findViewById(acc);

countpay=(TextView)findViewById(tpay);

countuser=(TextView)findViewById(tuser);

countincome=(TextView)findViewById(tincome);

countnote=(TextView)findViewById(tnote);

author=(TableRow)findViewById(or);

description=(TableRow)findViewById(ription);

}

 

 

 

圖5-1 主介面

 

 

5.2 收支新增功能實現

如下圖所示是收支增加介面,可以清晰的看到新增介面由金額、時間、地點、類別、地點、備註組成。點選時間選擇框可以跳出時間並自由選擇相對應的時間,點選類別選擇會跳出金額類別選擇,可以清楚明白選擇要選擇的種類。金額和地點隨情況需要新增。備註區是一個小型的備忘錄,可以很好的記錄有關於收支的情況。我的收入功能已在第四章進行了詳細的設計分析,在點選我的收入按鈕時,應用會呼叫函式,實現我的支出功能,效果如圖5-2所示,具體程式碼如下;

protected void onStart() {

art();

Intent intentr=getIntent();

userid=ntExtra("",100000001);

ShowInfo(utinfo);

nItemClickListener(new OnItemClickListener()

{

public void onItemClick(AdapterView parent, View view,

int position, long id) {

String strInfo = eOf(((TextView) view)ext());

String strno = tring(0, xOf('|'))();

Intent intent = new Intent(, s);

xtra("", userid);

xtra("age", new String[] { strno, strType });  

startActivity(intent);

}

});

nClickListener(new OnClickListener(){

public void onClick(View arg0){

Intent intent = new Intent(, s);

xtra("", userid);

startActivity(intent);

}

});

}

private void ShowInfo(intintType) {  String[] strInfos = null;

ArrayAdapterarrayAdapter = null;

strType = "btnoutinfo";

PayDAOpaydao = new PayDAO();

Listlistinfos = crollData(userid,0,

(int) ount(userid));

strInfos = new String[()];

int m = 0;

for (Tb_paytb_pay : listinfos) {

strInfos[m] =tb_o()+ " |  " +neName(userid, tb_ype())

+ "   " + eOf(tb_oney()) + "元           "

+ tb_ime();

m++;

}

arrayAdapter = new ArrayAdapter(this,

le_list_item_1, strInfos);

dapter(arrayAdapter); }

publicbooleanonKeyDown(intkeyCode, KeyEvent event) {

if(keyCode == ODE_BACK) {  Intent intent=new Intent(,s);

xtra("",userid);

startActivity(intent);

return true;

    }

yDown(keyCode, event);

}

}

 

 

圖5-2  新增支出介面

 

 

5.3 資料統計功能實現

如下圖所示的是資料統計模組是很重要的一個模組。能然使用者清晰明白可見的是一定時間內的收入支出統計表。分類收入統計表和分類支出統計表為餅狀圖,使用者能直觀看出每類支出和收入在總支出和總收入中所佔百分比,幫助使用者明白每型別的收支情況。收支總統計表採用了折線統計圖,使用者能直觀的看出收支金額隨著日期的變化,能夠為自己的收支計劃做個完美的基礎。

在實現資料統計的功能時,需要呼叫函式,通過該函式可以完成資料的分類統計以及統計圖表的生成,實現的效果如圖5-3所示,具體程式碼如下:

public class Data extends Activity {

Button paydata,incomedata,pidata;

intuserid;

protected void onCreate(Bundle savedInstanceState) {

eate(savedInstanceState);

setContentView();

nstance()ctivity(this);

paydata=(Button)findViewById(ata);

incomedata=(Button)findViewById(medata);

pidata=(Button)findViewById(ta);

}

public void onStart(){

art();

Intent intentr=getIntent();

userid=ntExtra("",100000001);

nClickListener(new OnClickListener() {

public void onClick(View v) {

Intent intent = new Intent(, s);

xtra("", userid);

startActivity(intent);

}

});

nClickListener(new OnClickListener() {

 

public void onClick(View v) {

Intent intent = new Intent(, s);

xtra("", userid);

startActivity(intent);

}

});

nClickListener(new OnClickListener() {

public void onClick(View v) {

Intent intent = new Intent(, s);

xtra("", userid);

startActivity(intent);

}

});

}

publicbooleanonKeyDown(intkeyCode, KeyEvent event) {

if(keyCode == ODE_BACK) {

Intent intent=new Intent(,s);

xtra("",userid);

startActivity(intent);

return true;

    }

yDown(keyCode, event);

}

}

 

 

 

圖5-3 資料統計

5.4 賬戶管理功能的實現

如下圖所示是賬戶管理模組。該模組分為五個大項分別是使用者註冊、切換使用者、修改使用者密碼、刪除當前使用者及所有資料、使用預設使用者登入。通過使用者註冊註冊使用者資訊,可以註冊多個使用者資訊,必要時通過切換使用者進行使用者切換。當想換密碼時可以點選修改使用者密碼進行修改。想清空所用使用者資料可選擇刪除當前永和及所有資料。使用預設使用者登入可保持一個賬號的登入。

 賬戶管理功能是對小乖記賬APP在功能上的完善,可以提高的應用的安全性,更好的構成整個應用,效果圖如5-4所示,實現的程式碼如下:

public class Author extends Activity {

Intent intentr;

intuserid;

protected void onCreate(Bundle savedInstanceState) {

eate(savedInstanceState);

setContentView(or);

nstance()ctivity(this);

}

public class PIData  extends Activity{

int userid;

Intent intentr;

PayDAO payDAO;

IncomeDAO incomeDAO;

Time time ;

int defaultMonth;

int defaultYear;

LinearLayout chart;

Button beforet,aftert,anytime;

Spinner year,month,day,yeare,monthe,daye;//介面上的任意時間

Listyearlist;

private GraphicalView lChart;

Adapter adapter;

XYSeriesRenderer xyRenderer;

XYSeries seriesp,seriesi;

Listdatapickerp, datapickeri;//收入,支出資料集

String date1,date2;//獲取使用者選擇的任意兩個時間

//1 構造顯示渲染圖

XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

//2,進行顯示

XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();

//2.1構建資料

Random r = new Random();

public PIData() {

// TODO Auto-generated constructor stub

}

效果圖如5-4所示:

 

圖5-4 賬戶管理頁面

5.5系統設定功能的實現

如下圖所示是系統設定功能模組,分為七個大項非別是清空收入資料、清空支出資料、清空便籤資料、收入型別管理、支出型別管理、還原預設設定、關於系統。清空資料是清空使用者所有有關資料點選確定即可清空。型別管理是收支型別的新增與刪除,點選即可選擇新增或者是刪除。還原系統設定即為重置所有型別資料,關於系統是系統的相關情況。效果圖如5-5所示,實現的程式碼如下:

import vityManager;

import vity;

import nt;

import le;

import vent;

import yAdapter;

import View;

 

public class Author extends Activity {

Intent intentr;

int userid;

public Author() {

// TODO Auto-generated constructor stub

}

@Override

protected void onCreate(Bundle savedInstanceState) {

eate(savedInstanceState);

setContentView(or);

nstance()ctivity(this);

}

@Override

protected void onStart() {

// TODO Auto-generated method stub

art();// 實現基類中的方法//  呼叫自定義方法顯示收入資訊

Intent intentr=getIntent();

userid=ntExtra("",100000001);}

 

public boolean onKeyDown(int keyCode, KeyEvent event) {

    if(keyCode == ODE_BACK) { //監控/攔截/遮蔽返回鍵

     Intent intent=new Intent(,s);

xtra("",userid);

startActivity(intent);

        return true;

    }

    return yDown(keyCode, event);

}

}

 

圖5-5系統設定頁面

 

 

 

 

 

 

 

 

 

 

 

 

第6章 測試

6.1  基本概念

在程式碼編寫完成之後,應用已經可以執行,但是在應用軟體使用之前,要對應用進行系統測試。對應用進行的測試,是對整個應用軟體的測試,這在系統週期中的地位已經越來越高,其位置越來越重要,其目的就是為了驗證應用能否對應已經制定好的需求標準,找出其中尚存的錯誤,在應用使用之前將其消滅[14]。

6.2  測試步驟

軟體測試,一般可以劃分為以下四個部分:

(1)單元測試:檢查和驗證應用中的最小測試單元。對於各種情況來說,單元就是能夠進行測試的最小的被檢測功能模組,這種單元是認為進行規定的。它也可以被稱為模組測試,目的在於發現錯誤,一般用白盒測試。

(2)整合測試:整合測試是對上一步驟所進行的邏輯擴充套件。把已經進行過單元測試的模組,按照一定的策略將它們進行組裝,然後對其中的介面和功能進行測試,這是整合測試最簡單的形式。它又稱為組裝測試或者聯合測試,一般用黑盒測試[15]。

(3)確認測試:確認測試又可以稱為有效性測試。它採用黑盒測試,驗證應用軟體的可用性,也就是檢測被測軟體的功能、效能等是否滿足需求。

(4)系統測試:對整個應用進行測試,驗證應用是否滿總所有的需求,找出不合格不正確的位置,並將其改正加以完善。它採用黑盒測試,包括應用所有的部件,並且是基於應用需求的。

6.3  系統測試

本文主要從選單頁、我的收入功能、我的支出功能、我的便籤功能和資料統計功能等五個方面進行測試。具體如下:

(1)選單頁測試:進入選單介面,依次點選我的支出、我的收入、我的便籤、資料統計、賬戶管理、系統設定和退出這七個按鈕,驗證對應的功能是否成功實現。分別點選這七個按鈕,均可實現相應功能下的跳轉[16]。

(2)我的收入功能測試:點選該按鈕後可進入具體功能頁面,實現收入記錄的檢視與新增。

(3)我的支出功能測試:點選該按鈕後可進入具體功能頁面,實現支出記錄的檢視與新增。

(4)我的便籤功能測試:點選該按鈕後可進入具體功能頁面,實現便籤功能的檢視與新增。

(5)資料統計功能測試:在該頁面下選擇相應的時間段,可以完成統計圖表的形成,實現統計功能[17]。

6.4  功能測試

小乖記賬APP功能測試,主要包括賬號管理、收支新增和系統設定方面的測試。

6.4.1賬號管理測試

針對賬號管理功能方面,本文主要圍繞使用者註冊、使用者登入、賬戶資訊和修改密碼等四個子功能進行測試。最終通過比較預期結果和實際結果,來實現賬號管理的測試,具體如表6-1所示。

 

表6-1 賬號管理測試

編號

功能

測試步驟

預期結果

實際結果

1

使用者註冊

輸入所需註冊的使用者名稱

1. 提交檢測是否符合要求,符合則提示註冊成功

2. 反之提示錯誤

1. 使用者名稱和密碼符合要求,註冊成功

2. 使用者名稱和密碼不符合要求,提示使用者名稱和密碼錯誤

2

使用者登入

1. 輸入錯誤的使用者名稱或者密碼

2. 輸入正確的使用者名稱和密碼

1. 提示使用者名稱或者密碼錯誤

2. 登陸成功

1. 提示使用者名稱和密碼錯誤

2. 成功登入APP

3

賬戶資訊

進入主介面後點擊使用者資訊管理

提示使用者輸入個人資訊

輸入相關資訊,提示儲存成功

4

修改密碼

進入使用者資訊管理,點選修改密碼

將新密碼輸入,提示修改成功

輸入新密碼,完成修改

由表6-1所示,使用者註冊、使用者登入、賬戶資訊和修改密碼等四個子功能的預期結果和實際結果一致,表明本文設計的小乖記賬APP能實現賬號管理功能。

6.4.2收支新增測試

針對收支新增功能方面,本文主要圍繞記賬、刪除記賬記錄、更改記賬記錄等三個子功能進行測試,並比較預期結果和實際結果。具體如表6-2所示。

 

表6-2 收支新增功能測試

編號

功能

測試步驟

預期結果

實際結果

1

記賬

在主介面選擇我的支出和我的收入,點選新增

1. 將相應資訊分別填入然後點選儲存

2. 若輸入格式不符合要求,提示輸入有誤,重新填寫

1. 正確填寫相應資訊然後儲存

2. 錯誤填寫如金額為負數,提示資訊有誤則重新填寫

2

刪除記賬記錄

選擇對應的收支資訊,然後長按刪除鍵

選擇相應的記賬記錄點選刪除,記錄被刪除

選擇相應的記賬記錄點選刪除,記錄被刪除,提示刪除成功

3

更改記賬記錄

選擇對應的收支記賬記錄,選擇修改鍵,可以重新鍵入相關資訊

選擇相應的記賬記錄。對金額、時間、類別進行修改,修改完成後點選修改介面

1. 正確填寫修改後的資訊,提示修改成功

2. 反之提示錯誤

由表6-1所示,記賬、刪除記賬記錄、更改記賬記錄等三個子功能的預期結果和實際結果一致,表明本文設計的小乖記賬APP能實現賬號管理功能。

 

6.4.3系統設定測試

針對系統設定功能方面,本文主要圍繞資金型別新增、清空資料等兩個個子功能進行測試,並比較預期結果和實際結果。具體如表6-3所示。

 

表6-3 系統設定測試內容表

編號

功能

測試步驟

預期結果

實際結果

1

資金型別新增

主介面點選系統設定,選擇資金型別管理

輸入新增的類別名稱,點選新增,提示新增成功

輸入類別名稱,點選新增,提示成功

2

清空資料

主介面點選系統設定點選清空資料

點選清空收入或支出資料,跳出警示框詢問是否刪除所有資料

點選確定刪除所有資料,資料刪除

由表6-1所示,資金型別新增、清空資料等兩個子功能的預期結果和實際結果一致,表明本文設計的小乖記賬APP能實現賬號管理功能。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

結    論

本文設計的APP是基於Android平臺的小乖記賬,它的重點在於Android環境的構建、安卓相關知識的運用以及電腦AI的演算法實現這個APP將人們在日常消費中會涉及到的諸多方面都進行了功能上的設計,是一款非常適合當下的記賬型別APP,小乖記賬運用移動客戶端Android平臺的特徵和人們日常消費中需要的內容進行了結合,進而將小乖記賬APP的解決方案進行了規劃,在目前行業中有著很強的代表意義[3]。作為一款單機的記賬系統,主要是目前廣大不會自己理財的使用者,即使在沒有網路的情況下也可進行記賬功能的實現。經系統測試,本文設計的個人記賬管理APP具有簡單鮮明、針對性功能設計和方便快速使用等特徵。隨著技術的發展,這款APP也將會不斷更新功能並且擴大適用範圍以滿足更多使用者需求。如今社會乃是智慧社會,人類利用智慧技術優化了生活方式也提供了便利,小乖記賬完全適應社會需求,所以說它的市場前景勢必極為可觀。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

參考文獻

[1] 韓超,樑泉.Android系統原理及開發要點詳解[M].電子工業出版社,2013.56-60.

[2] 王勇.安卓手機應用助手,幫你管理手機資源[J].電腦知識報,2013,34(2):1-7.

[3] Hsu Y C, Rice K, Dawley L. Empowering educators with Google's Android App Inventor:An online workshop in mobile app design[J]. British Journal of Educational Technology,2012,43(1):E1–E5.

[4] Kim B M, Li Q,Park C S, et al. A new approach for combining content-based and collaborative filters[J]. Journal of Intelligent Information Systems,2016, 27(1):9-91.

[5] 王勤oid技術內幕:系統卷.System[M].機械工業出版社,2017.70-88.

[6] 王秋麗. 我國財務軟體的現狀及發展趨勢[J].山西經濟管理幹部學院學報,2012,10(1):43-45.

[7] Bruce Eckel,Java程式設計思想[M].機械工業出版社,2017-6-1.99-122.

[8] 馬克·艾倫·維斯.資料結構與演算法分析:Java語言描述[M].機械工業出版社,2016-3-1.69-73.

[9] 郭霖.第一行程式碼[M].人民郵電出版社,2014-7-1.83-94.

[10] 明日科技.Android從入門到精通[M].清華大學出版社,2012-9-1.138-155.

[11] 李剛.Java瘋狂講義[M].電子工業出版社,2016.10.67-85.

[12] 周志明.深入理解Java虛擬機器:JVM高階特性與最佳實踐[M].機械工業出版社, 2013-5-1.25-37.

[13] 李剛.瘋狂Android講義[M]. 電子工業出版社.2015-6-1.56-61.

[14] 孫衛琴.Java面向物件程式設計[M].電子工業出版社.2016-7-1.98-114.

[15] 楊豐盛.Android技術內幕[M].北京:機械工業出版社,2011.134-165.

[16] 孟曉龍.Win7系統下Android開發平臺的搭建[J].科協論壇,2011,1(08):72-73.

[17] 吳想想.基於Android平臺軟體開發方法的研究與應用[D].北京郵電大學,2011.

 

 

 

 

 

 

 

 

 

 

 

致謝

首先,感謝學院的各位老師,各位老師辛苦了,在本科生的四年中,把我帶到了計算機這一領域,讓我感受到了新奇和愉悅,並得到了許多專業知識。

其次,感謝我的指導老師楊海東教授,感謝老師對我的悉心指導。從畢業設計的選題、撰寫開題報告、設計所有環節直至完成現在的論文,導師耐心細緻地進行指導,使我受益匪淺。同時,老師和藹親切的形象也樹立在我心中,再次感謝老師孜孜不倦的諄諄教誨。

然後,感謝家人,是他們無私的不求回報的支援我,照顧自己的衣食住行,在自己消極難過的時候給我溫暖,無論自己犯了什麼樣的錯都會無條件的原諒我,讓我真真切切的感受到家這個詞的含義,真實存在的一個能夠包容你、安慰你、溫暖你的港灣。無論自己情況怎樣,只有家人不會拋棄你,不會嫌棄你,血濃於水的親情,無以為報。

最後,感謝四年中在我身邊出現的朋友們,感謝你們不嫌棄我一直把我當好朋友,開心時能夠與你們愉快玩耍,難過時能夠同你們開懷暢飲,感謝你們的陪伴,陪伴我走過這麼多的歲月,感謝你們在我不成熟的年紀出現到目前為止也沒有離去。

 

標籤:安卓 APP 記賬 管理