版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于Android的記賬本App的設(shè)計(jì)與實(shí)現(xiàn)目錄TOC\o"1-2"\h\u18825基于Android的記賬本App的設(shè)計(jì)與實(shí)現(xiàn) 1155411緒論 266341.1選題背景和意義 249111.2研究的內(nèi)容和方法 358621.3相關(guān)技術(shù)介紹 457872記賬App需求分析 5109122.1必要性分析 5230602.2可行性分析 6231382.3軟件功能需求分析 6312153記賬本APP應(yīng)用整體功能和數(shù)據(jù)表設(shè)計(jì) 752673.1記賬本中的引導(dǎo)界面設(shè)計(jì) 822283.2用戶登陸注冊功能設(shè)計(jì) 841813.3收入支出類別顯示功能設(shè)計(jì) 9319573.4收入記賬功能設(shè)計(jì) 9242903.5支出記賬功能設(shè)計(jì) 9279043.6數(shù)據(jù)統(tǒng)計(jì)查詢功能設(shè)計(jì) 9258603.7輔助功能設(shè)計(jì) 962223.8記賬本APP的數(shù)據(jù)庫設(shè)計(jì) 10258854記賬本APP功能實(shí)現(xiàn) 11247304.1記賬本中的引導(dǎo)界面 11180704.2用戶登陸注冊功能 11206664.3收入支出類別顯示功能 14280854.4收入記賬功能 15218874.5支出記賬功能 16202594.6數(shù)據(jù)統(tǒng)計(jì)查詢功能 17183324.7輔助功能 1912005記賬本APP系統(tǒng)測試 2156095.1測試環(huán)境 2153915.2登陸測試 2168145.3注冊測試 21283215.4收支管理測試 22152205.5統(tǒng)計(jì)查詢測試 22219106總結(jié)與展望 23132696.1總結(jié) 23183926.2未來展望 23摘要:為了滿足用戶對生活中各項(xiàng)收入支出進(jìn)行記錄和匯總的基本需求,本文采用基本界面組件、SharedPreference、SQLite數(shù)據(jù)庫技術(shù)設(shè)計(jì)并實(shí)現(xiàn)了一款基于Android系統(tǒng)的記賬管理APP。該應(yīng)用具有基本的登錄和注冊、收支數(shù)據(jù)管理、數(shù)據(jù)統(tǒng)計(jì)和基本系統(tǒng)設(shè)置等功能,能夠讓用戶實(shí)時、便捷、個性化地管理自己的生活收支。文中對該應(yīng)用的需求、設(shè)計(jì)和各項(xiàng)功能實(shí)現(xiàn)過程進(jìn)行了詳細(xì)的介紹和分析。經(jīng)過初步在樣機(jī)上運(yùn)行測試,該應(yīng)用能夠在測試機(jī)上正常安裝和運(yùn)行,各項(xiàng)功能的運(yùn)行效果達(dá)到了預(yù)期效果,能夠較好滿足用戶的各項(xiàng)需求。關(guān)鍵詞:記賬AndroidSQLite數(shù)據(jù)庫1緒論1.1選題背景和意義1.1.1選題背景自古以來,貨幣始終都作為眾多發(fā)展體系的核心運(yùn)營介質(zhì)存在,對其收入和支出的管理也已經(jīng)成為必然的需求REF_Ref25492\r\h[1]。特別是在這個互聯(lián)網(wǎng)和物聯(lián)網(wǎng)快速發(fā)展的時代,生活在成熟經(jīng)濟(jì)體系中的人們需要對自己的資產(chǎn)進(jìn)行管理。隨著互聯(lián)網(wǎng)進(jìn)一步的普及,新穎的互聯(lián)網(wǎng)便攜式終端也隨著互聯(lián)網(wǎng)時代的不斷更新,進(jìn)一步更加貼近人類的生活當(dāng)中REF_Ref25580\r\h[2]。人們的收入方式隨著各種新的收入和消費(fèi)模式的不斷涌現(xiàn),也從以前的單一模式改變?yōu)楫?dāng)前的多元模式,這也使得人們對日常收入和消費(fèi)的核算也開始變得復(fù)雜。高水平的合理支出需要健全的財(cái)務(wù)管理,而多種多樣的支付方式使得消費(fèi)更容易,資產(chǎn)管理更困難。人們的財(cái)務(wù)意識比以前更強(qiáng),為了更容易隨時掌握各種收入和支出信息以及自己的資金情況,有必要開發(fā)一個能夠幫助用戶進(jìn)行收支管理的記賬本APP。由于手機(jī)的便利性,研究一款基于安卓的記賬本APP對于用戶管理日常收支來說是非常便利的,它可以幫助人們合理地計(jì)劃他們的錢并改善他們的生活質(zhì)量。1.1.2選題意義如今,經(jīng)濟(jì)活動時時刻刻在發(fā)生,無論是在商場購買物品,還是買票,買房,買車,人們的日常生活都伴隨著金錢的流動。隨著這種流動,人們對記賬的需求也在增加,人們需要一種更方便、更有效的記賬方式REF_Ref26247\r\h[3]。在互聯(lián)網(wǎng)普及之前,許多人使用傳統(tǒng)的記賬方法,他們隨身攜帶賬本和筆,這種記賬方法在很長一段時間內(nèi)為人們提供了便利。然而,當(dāng)賬本達(dá)到一定厚度,分錄數(shù)量逐漸增加時,賬目的統(tǒng)計(jì)分析變得非常費(fèi)時費(fèi)力,而且更容易發(fā)生錯誤REF_Ref26325\r\h[4]。隨著科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)應(yīng)用在人們生活的各個方面,許多人選擇放棄傳統(tǒng)的記賬方法,用計(jì)算機(jī)來記賬,通常使用Excel電子表格和專門用來記賬的軟件,這樣可以解決傳統(tǒng)記賬模式在統(tǒng)計(jì)方面的缺陷,大大提高了對賬目的統(tǒng)計(jì)分析能力。但是利用計(jì)算機(jī)記賬也存其自身的缺陷,因?yàn)橛涃~通常只記錄在固定的計(jì)算機(jī)中,記賬行為不是即時的,而且只靠記憶記賬很容易出現(xiàn)記憶錯誤和遺漏。目前,移動互聯(lián)網(wǎng)發(fā)展迅速,移動設(shè)備的門檻越來越低,幾乎每個人都有手機(jī),從年輕人到老年人,他們都無法離開手機(jī),這樣便體現(xiàn)出了手機(jī)記賬的優(yōu)勢,可以讓人們的記賬效率有一個極大的提高。所以,開設(shè)計(jì)和開發(fā)一款基于Android的記賬本APP是十分有意義的,它可以讓用戶在使用手機(jī)的前提下,在任何時間和地點(diǎn)記錄經(jīng)濟(jì)活動的發(fā)生并快速統(tǒng)計(jì)其收入和支出,從而使用戶的記賬工作更加方便快捷。。1.2研究的內(nèi)容和方法1.2.1研究內(nèi)容本文的研究內(nèi)容主要分為以下四部分:(1)介紹了選題的背景、意義、研究內(nèi)容及使用的的研究方法,系統(tǒng)開發(fā)的關(guān)鍵技術(shù)等。(2)基于Android的個人記賬本APP的需求分析,其中包括必要性分析、可行性分析和功能需求分析。(3)基于Android的個人記賬本APP的設(shè)計(jì),主要包括APP整體設(shè)計(jì)、數(shù)據(jù)庫數(shù)據(jù)表設(shè)計(jì)、各個模塊的功能的設(shè)計(jì)。(4)基于Android的個人記賬本APP的實(shí)現(xiàn),通過對用戶登陸、用戶注冊、統(tǒng)計(jì)管理、收支管理、和類別管理等各個功能模塊的實(shí)現(xiàn)對記賬APP的開發(fā)。最后對系統(tǒng)進(jìn)行測試。1.2.2研究方法為了讓該研究的理論和實(shí)際聯(lián)系更加密切,更好的設(shè)計(jì)出一款實(shí)用便捷的記賬本APP,在研究的第一階段,我閱讀了一些相關(guān)的參考資料,下載了多個現(xiàn)有的記賬軟件,在了解當(dāng)今學(xué)術(shù)研究現(xiàn)狀的基礎(chǔ)之上,根據(jù)一些手機(jī)APP的使用情況,揚(yáng)長避短,設(shè)計(jì)出能讓用戶使用更加便捷高效的記賬本APP。在前期的資料收集階段,我主要采用了文獻(xiàn)檢索的方法,用“記賬”、“賬本”、“APP”、“應(yīng)用開發(fā)”等關(guān)鍵詞在互聯(lián)網(wǎng)進(jìn)行搜索,選擇與本項(xiàng)目相關(guān)的學(xué)術(shù)文獻(xiàn)。為了更好地學(xué)習(xí)相關(guān)知識,我對這些文獻(xiàn)進(jìn)行了閱讀和分類,以獲得有關(guān)記賬軟件設(shè)計(jì)的信息,同時閱讀了相關(guān)的博客以及其他學(xué)術(shù)性網(wǎng)站以獲取相關(guān)知識從而對本文要研究的問題有了深入了解。在設(shè)計(jì)階段,根據(jù)對多個記賬或收支管理軟件的實(shí)際使用體驗(yàn),了解用戶的記賬需求,將理論與實(shí)踐結(jié)合,確定實(shí)際設(shè)計(jì)中的關(guān)注點(diǎn),使理論的研究能夠應(yīng)用于實(shí)踐。1.3相關(guān)技術(shù)介紹隨著Android移動應(yīng)用的快速發(fā)展,人們的日常生活已經(jīng)與移動應(yīng)用密不可分REF_Ref25669\r\h[4]。本APP是一個基于Android的個人記賬APP,該APP讓用戶可以實(shí)時記錄他們的個人的收入和支出,實(shí)時管理他們的個人賬單,并對用戶的收支數(shù)據(jù)進(jìn)行統(tǒng)計(jì)管理,以便用戶可以實(shí)時了解自己的收支情況,避免生活中的盲目消費(fèi)。該系統(tǒng)主要采用了以下關(guān)鍵技術(shù):1.3.1開發(fā)語言JAVAAndroid平臺所使用的開發(fā)語言是Java,大多數(shù)的網(wǎng)絡(luò)應(yīng)用程序需要使用到Java,同時Java已經(jīng)成為開發(fā)嵌入式和移動應(yīng)用程序、基于Web的內(nèi)容和企業(yè)軟件的全球標(biāo)準(zhǔn)REF_Ref25757\r\h[5]。Java的工作方式是將代碼轉(zhuǎn)換為二進(jìn)制字節(jié),并通過JVM執(zhí)行,這使得語言的跨平臺開發(fā)成為可能REF_Ref25881\r\h[6]。通過隱藏平臺之間的底層硬件差異,而不強(qiáng)迫開發(fā)者編寫不同的代碼來適應(yīng)底層硬件,這使得安卓可以在任何其他類型的硬件上運(yùn)行,正因如此,Java才被不同操作系統(tǒng)的移動應(yīng)用開發(fā)者廣泛使用。1.3.2AndroidStudioAndroidStudio和Eclipse同屬于Android開發(fā)軟件,但AndroidStudio相對Eclipse而言具有創(chuàng)建程序界面更加方便、有更詳細(xì)的打印信息、有更詳細(xì)的歷史編輯記錄、資源文件可以在代碼中預(yù)覽等特點(diǎn)。并且在進(jìn)行開發(fā)時,資源文件中的內(nèi)容可以在代碼中實(shí)時顯示除布局文件、圖像文件外的colors.xml文件中定義的顏色。本項(xiàng)目就是基于AndroidstudioIDE開發(fā)的。1.3.3SQLite數(shù)據(jù)庫SQLite由SQL編譯器、內(nèi)核、后端以及附件組成,是一個開源的嵌入式數(shù)據(jù)庫引擎,由D.RichardHipp用C語言編寫。SQLite數(shù)據(jù)庫具有可移植性好、輕量級等特點(diǎn),當(dāng)人們對各種數(shù)據(jù)進(jìn)行增刪改等操作的時候,SQLite可以對數(shù)據(jù)自動進(jìn)行數(shù)據(jù)屬性匹配并進(jìn)行相應(yīng)的判斷以及實(shí)現(xiàn)對判斷結(jié)果的操作REF_Ref25972\r\h[7]。正是因?yàn)樗哂腥绱硕鄡?yōu)點(diǎn),所以本次記賬本APP的設(shè)計(jì)就選擇用SQlite來進(jìn)行數(shù)據(jù)管理。2記賬App需求分析2.1必要性分析記賬的形式有很多種,有的人現(xiàn)在還是會隨身帶著筆記本和筆以便于隨時隨地記賬,雖然說這種利用紙筆記賬的方法能夠第一時間記錄消費(fèi)發(fā)生的情況,但是想要完善還需要在后期做大量的人工工作來統(tǒng)計(jì)數(shù)據(jù),更不用說將數(shù)據(jù)報表輸出了;而有的人選擇的記賬方式是通過電腦軟件來記賬,帶有強(qiáng)大的數(shù)據(jù)分析和報表輸出功能是這種方法最大的優(yōu)點(diǎn),但是麻煩是使用者需要隨身攜帶電腦,就算是筆記本電腦一直隨身攜帶也是很不方便的,而且這種方法幾乎不可能在第一時間對消費(fèi)進(jìn)行記錄。種種方式,要么沒有分析功能,要么記賬方式在時間和空間上受到限制,這往往阻礙了持續(xù)記賬習(xí)慣的養(yǎng)成,更不用說進(jìn)行個人財(cái)務(wù)規(guī)劃。因此,綜上所述十分有必要設(shè)計(jì)并開發(fā)一個具有數(shù)據(jù)統(tǒng)計(jì)和報表分析功能的同時又便捷小巧的移動記賬軟件。2.2可行性分析2.2.1經(jīng)濟(jì)可行性傳統(tǒng)的手工記賬當(dāng)然有其優(yōu)勢,但其劣勢也很明顯。雖然賬本和筆不是很貴,但它們的丟失或意外毀壞可能是不可逆轉(zhuǎn)的,而且建立統(tǒng)計(jì)和轉(zhuǎn)移賬目可能很耗時。而手機(jī)記賬更便宜,更可靠,更容易在用戶的指尖上進(jìn)行。與Excel表格記賬或計(jì)算機(jī)上的記賬軟件相比,后者存在不即時等各種限制。而手機(jī)記賬可以在任何時間和地點(diǎn)進(jìn)行,當(dāng)消費(fèi)發(fā)生或收入入賬時,可以通過手機(jī)及時記錄,不需要花費(fèi)太多的時間和金錢就可以輕松方便地使用。本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)是基于Android平臺的,首先Android平臺是一個完全開放源碼的平臺,在將開發(fā)環(huán)境搭建好后,可以使用Android提供的免費(fèi)開發(fā)環(huán)境和SQLite數(shù)據(jù)庫進(jìn)行開發(fā),不必考慮上述技術(shù)的額外經(jīng)濟(jì)成本。其次,開發(fā)時對所需硬件的要求不高,可以在一臺普通配置的電腦開發(fā)Android系統(tǒng),Android自帶的模擬器就可以對手機(jī)應(yīng)用進(jìn)行調(diào)試,因此開發(fā)硬件成本極低。所以,系統(tǒng)在經(jīng)濟(jì)上是可行的。2.2.2技術(shù)可行性該系統(tǒng)使用Android平臺開發(fā)實(shí)現(xiàn),使用MVC架構(gòu),系統(tǒng)的整個業(yè)務(wù)應(yīng)用分為數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層,共同實(shí)現(xiàn)了收支管理、數(shù)據(jù)統(tǒng)計(jì)查詢等邏輯。對于系統(tǒng)的設(shè)計(jì)和實(shí)施,將需要解決的問題分為不同的功能模塊,以方便編碼和實(shí)施,并提高系統(tǒng)的可擴(kuò)展性和資源分配的合理性。本系統(tǒng)是一個基于Android操作系統(tǒng)的手機(jī)應(yīng)用軟件,我在Java編程方面有一定的基礎(chǔ)和經(jīng)驗(yàn),對Android的基礎(chǔ)知識也有一定的了解,所以可以通過邊學(xué)習(xí)邊逐步完善本系統(tǒng),綜上所述,本系統(tǒng)是可以實(shí)現(xiàn)的。2.3軟件功能需求分析通過對傳統(tǒng)的手工記賬和計(jì)算機(jī)在電子表格及記賬軟件中的使用的分析,分析了上述兩種記賬軟件中收支錄入的方法,發(fā)現(xiàn)傳統(tǒng)記賬方式具有統(tǒng)計(jì)分析過程復(fù)雜耗費(fèi)人力、安全性低的缺點(diǎn),而計(jì)算機(jī)記賬操作繁瑣、不及時,這款手機(jī)記賬本APP的目的就是為了解決以上兩種記賬方式中存在的問題。在分析了現(xiàn)有的移動會計(jì)軟件的現(xiàn)狀后,提煉出了手機(jī)記賬軟件的基本功能,最終確定了這個記賬本APP的功能需求。確定的功能需求如下:2.3.1系統(tǒng)設(shè)置用戶的注冊、登錄收入類別管理支出類別管理2.3.2收入管理功能收入明細(xì)收入錄入2.3.3支出管理功能支出明細(xì)支出錄入2.3.4統(tǒng)計(jì)報表功能收入分類統(tǒng)計(jì)支出分類統(tǒng)計(jì)2.3.5輔助功能幫助分享、導(dǎo)出3記賬本APP應(yīng)用整體功能和數(shù)據(jù)表設(shè)計(jì)通過前一章的需求分析,將系統(tǒng)劃分成收入管理模塊、支出管理模塊、統(tǒng)計(jì)報表模塊、系統(tǒng)設(shè)置模塊、輔助功能模塊這五個模塊。軟件整體架構(gòu)如圖所示:記賬本主要功能記賬本主要功能收入管理統(tǒng)計(jì)報表系統(tǒng)設(shè)置輔助功能支出管理收入明細(xì)收入錄入支出明細(xì)支出錄入收入分類統(tǒng)計(jì)支出分類統(tǒng)計(jì)收入類別管理支出類別管理注冊登陸幫助分享導(dǎo)出圖4.1基于Android的記賬APP的總體功能圖3.1記賬本中的引導(dǎo)界面設(shè)計(jì)用戶第一次安裝使用該應(yīng)用時,會出現(xiàn)引導(dǎo)頁。關(guān)閉后臺、清除用戶數(shù)據(jù)或者卸載重新安裝應(yīng)用后,再次打開也會出現(xiàn)引導(dǎo)頁。點(diǎn)擊引導(dǎo)頁下方的“進(jìn)入應(yīng)用”按鈕就可以進(jìn)入應(yīng)用,出現(xiàn)用戶登陸注冊頁面。3.2用戶登陸注冊功能設(shè)計(jì)用戶登錄:進(jìn)入應(yīng)用后,顯示的是登陸頁面,已經(jīng)注冊過賬號的用戶輸入用戶昵稱和密碼,用戶昵稱和密碼驗(yàn)證通過后,即進(jìn)入記賬本主頁面。如果用戶忘記密碼,可點(diǎn)擊“忘記密碼”按鈕,頁面中就會彈出注冊用戶時設(shè)置的密碼提示。用戶注冊:進(jìn)入應(yīng)用后要求輸入用戶昵稱密碼登錄,如果是第一次使用記賬本的用戶,需要點(diǎn)擊頁面中“注冊用戶”按鈕進(jìn)行用戶注冊。點(diǎn)擊“注冊用戶”后進(jìn)入注冊頁面,輸入昵稱、密碼、確認(rèn)密碼和密碼提示,然后點(diǎn)擊“注冊”即完成注冊。3.3收入支出類別顯示功能設(shè)計(jì)用戶在進(jìn)行記賬時,可選擇收入和支出的分類,比如收入分類可選擇“工資”選項(xiàng)、支出分類可選擇“食物”選項(xiàng)。這些收入和支出的分類,可以在導(dǎo)航欄中的設(shè)置中去添加。3.4收入記賬功能設(shè)計(jì)(1)添加一筆收入:在記賬界面,用戶選擇收入記賬.然后選擇收入的具體類別,例如,收入類別可以是工資或者兼職。然后用戶需要填寫如金額和備注信息等具體信息,添加成功后,將數(shù)據(jù)發(fā)送到數(shù)據(jù)庫。(2)刪除收入記錄:用戶選擇需要刪除的收入記錄長按,跳出詢問:“您確認(rèn)要刪除選中項(xiàng)?”,選擇“確認(rèn)”,即可刪除該收入記錄。3.5支出記賬功能設(shè)計(jì)(1)添加一筆支出:在記賬界面,用戶選擇支出記賬.然后選擇支出的具體類別,例如,支出類別可以是圖書、食物或者房租。然后用戶需要填寫如金額和備注信息等具體信息,添加成功后,將數(shù)據(jù)發(fā)送到數(shù)據(jù)庫。(2)刪除支出記錄:用戶選擇需要刪除的支出記錄長按,跳出詢問:“您確認(rèn)要刪除選中項(xiàng)?”,選擇“確認(rèn)”,即可刪除該支出記錄。3.6數(shù)據(jù)統(tǒng)計(jì)查詢功能設(shè)計(jì)數(shù)據(jù)統(tǒng)計(jì):數(shù)據(jù)統(tǒng)計(jì)模塊主要是根據(jù)歷史支出賬目數(shù)據(jù),按照不同分類生成餅狀圖,使用戶對自己的支出數(shù)據(jù)一目了然。數(shù)據(jù)查詢:數(shù)據(jù)查詢模塊主要功能是:用戶可以查詢想要查詢的時間段內(nèi)的收支明細(xì)。該功能設(shè)置在導(dǎo)航欄中的“報告”選項(xiàng)中,點(diǎn)擊報告輸入起始日期,選擇收入或支出選項(xiàng),點(diǎn)擊查詢按鈕即可獲得收支明細(xì)。3.7輔助功能設(shè)計(jì)(1)分享:點(diǎn)擊導(dǎo)航欄中的“分享”按鈕即可將收支數(shù)據(jù)分享,例如選擇“復(fù)制到粘貼板”即可導(dǎo)出“您的收入?yún)R總為:5000.000000;您的支出匯總為:2110.00000?!钡男畔?。(2)幫助:點(diǎn)擊導(dǎo)航欄中的“幫助”按鈕,就會出現(xiàn)幫助頁面,可以選擇快速入門或使用指南選項(xiàng),便于剛開始使用該記賬本App的用戶盡快熟悉使用功能。3.8記賬本APP的數(shù)據(jù)庫設(shè)計(jì)通過數(shù)據(jù)庫可以使用戶更加方便管理自己的信息,所以數(shù)據(jù)庫是每個系統(tǒng)不可缺少的部分。本APP數(shù)據(jù)庫中包含賬戶表、收入信息表和支出信息表。用戶的基本信息儲存在賬戶表中,包括昵稱和密碼。用戶的收入信息存儲在收入信息表中,收入表包括了收入類別、收入金額、收入日期和備注。用戶的支出信息儲存在支出信息表中,支出表包括了支出類別、支出金額、支出日期和備注。應(yīng)用中的數(shù)據(jù)表詳細(xì)設(shè)計(jì)如下:表3-1賬戶表字段名稱數(shù)據(jù)類型主鍵外鍵描述idintegerYN用戶idnamevarchar(20)NN昵稱passwordvarchar(20)NN密碼表3-2收入信息表字段名稱數(shù)據(jù)類型主鍵外鍵描述idintegerNY用戶idcategorytextNN收入類別moneydoubleNN收入金額remarktextNN備注datetextNN日期時間表3-3支出信息表字段名稱數(shù)據(jù)類型主鍵外鍵描述idintegerNY用戶idcategorytextNN支出類別moneydoubleNN支出金額remarktextNN備注datetextNN日期時間4記賬本APP功能實(shí)現(xiàn)4.1記賬本中的引導(dǎo)界面圖4.1APP引導(dǎo)頁面圖如圖4.1所示,打開軟件首先會出現(xiàn)引導(dǎo)頁,點(diǎn)擊“進(jìn)入應(yīng)用”按鈕即可進(jìn)入應(yīng)用。4.2用戶登陸注冊功能4.2.1登陸功能的實(shí)現(xiàn)進(jìn)入應(yīng)用首先顯示的是登陸頁面,輸入用戶昵稱和密碼即可登錄,如果輸入錯誤或不輸入密碼就會提示“密碼錯誤”,若點(diǎn)擊“忘記密碼”,即出現(xiàn)密碼提示,該提示是用戶注冊時設(shè)置的。具體實(shí)現(xiàn):使用屬性onClick在布局文件中指定一個處理方法,其次使用OnClickListener監(jiān)聽器來實(shí)現(xiàn)。具體實(shí)現(xiàn)效果如圖4.2、圖4.3和圖4.4所示。圖4.2用戶登錄頁面圖圖4.3密碼錯誤提示圖圖4.4忘記密碼提示圖4.2.2注冊功能的實(shí)現(xiàn)首次使用記賬本APP的用戶,進(jìn)入登陸頁面后,可以點(diǎn)擊“注冊用戶”進(jìn)入注冊,然后輸入昵稱、密碼、確認(rèn)密碼和密碼提示后,即可注冊成功。若昵稱和密碼處沒有填寫,點(diǎn)擊注冊后會提示“昵稱不能為空”和“密碼不能為空”,如果確認(rèn)密碼處填入信息與密碼處不一致則會提示“兩次密碼不相同”。主要代碼如下:
SharedPreferencessp=this.getSharedPreferences("tinyaccount",MODE_PRI);
SharedPreferences.Editoreditor=sp.edit();
editor.putString("name",name);
editor.putString("password",pwd);
editor.putString("prompt",prompt);
editor.apply();
具體實(shí)現(xiàn)效果如圖4.5、圖4.6圖4.7所示。圖4.5用戶注冊頁面圖圖4.6注冊密碼為空時提示圖圖4.7注冊確認(rèn)密碼與密碼不一致時提示圖4.3收入支出類別顯示功能在導(dǎo)航欄的設(shè)置中顯示的是記賬本的收入類別和支出類別,方便再記賬式進(jìn)行類別的選擇,更加清楚明了地進(jìn)行記賬。用Gridview組件和SimpleAdapter來實(shí)現(xiàn)該功能。主要代碼如下:
List<AccountCategory>outlayCategoryList=dbManager.getOutlayType();
List<Map<String,Object>>outlayList=newArrayList<>();
for(AccountCategoryc:outlayCategoryList){
Map<String,Object>Mymap=newHashMap<String,Object>();
Mymap.put("icon",c.getIcon());
Mymap.put("title",c.getCategory());
outlayList.add(Mymap);
}
adapter2=newSimpleAdapter(this,視圖資源ID,mFrom,mTo);
gridView2.setAdapter(adapter2);
具體實(shí)現(xiàn)效果如圖4.8所示。同時收入類別和支出類別也可以進(jìn)行添加。具體實(shí)現(xiàn):實(shí)現(xiàn)首先在AccountDao中添加一個增加收入類別的addIncomeCategory方法,在SettingActivity的refreshData方法中,通過AccountApplication獲得AccountDao,在initView()方法中獲取增加收入類別按鈕控件,調(diào)用自定義添加收入類別的buttonAddIncomeCategoryOnClick方法,最后對對話框內(nèi)容和類別進(jìn)行設(shè)置。具體實(shí)現(xiàn)效果如圖4.9所示。圖4.8記賬類別分類頁面圖圖4.9添加記賬類別頁面圖4.4收入記賬功能點(diǎn)擊“收入”進(jìn)入收入記賬頁面,用戶可以在該頁面點(diǎn)擊右上角“加號”添加收入,長按刪除收入,該頁面是應(yīng)用ListView實(shí)現(xiàn)的。實(shí)現(xiàn)效果如圖4.10所示。圖4.10收入記賬頁面圖圖4.11增加收入頁面圖點(diǎn)擊“加號”即出現(xiàn)如圖4.11所示頁面,這一功能時使用Intent對象實(shí)現(xiàn)的頁面?zhèn)髦堤D(zhuǎn)。選擇好收入類別填入金額,點(diǎn)擊“確定”即可添加收入。具體實(shí)現(xiàn):首先布局顯示界面,然后通過獲取數(shù)據(jù)、創(chuàng)建適配器、GridView綁定適配器來實(shí)現(xiàn)GridView的數(shù)據(jù)顯示。使用position參數(shù)獲得點(diǎn)擊位置的內(nèi)容,給GridView注冊單機(jī)監(jiān)聽器,重寫監(jiān)聽器的onItemClick方法。實(shí)現(xiàn)了在gridView中點(diǎn)擊數(shù)據(jù),將數(shù)據(jù)添加到文本視圖的功能。對于用戶想要刪除的數(shù)據(jù),長按想要刪除的收入明細(xì),即出現(xiàn)如圖4.12所示頁面,點(diǎn)擊“確認(rèn)”后,通過對數(shù)據(jù)庫的訪問,即可刪除該條數(shù)據(jù)。圖4.12確認(rèn)刪除收入頁面圖4.5支出記賬功能點(diǎn)擊“支出”進(jìn)入支出記賬頁面,用戶可以在該頁面點(diǎn)擊右上角“加號”添加收入,長按刪除支出,該頁面與收入頁面一樣是應(yīng)用ListView實(shí)現(xiàn)的。實(shí)現(xiàn)效果如圖4.13所示。圖4.13支出記賬頁面圖圖4.14增加支出頁面圖在該頁面點(diǎn)擊“加號”即可添加支出,長按即可刪除。實(shí)現(xiàn)方法同收入記賬功能實(shí)現(xiàn)方法相同,實(shí)現(xiàn)效果如圖4.14和圖4.15所示。 圖4.15確認(rèn)刪除支出頁面圖4.6數(shù)據(jù)統(tǒng)計(jì)查詢功能在概要頁面中顯示的是當(dāng)月各種消費(fèi)分類的匯總數(shù)據(jù),由餅圖的形式展示出來,不同的支出類型以不同的顏色進(jìn)行標(biāo)識。具體實(shí)現(xiàn):使用MPAndroidChart第三方庫實(shí)現(xiàn)記賬本中指出的餅圖顯示效果,將MPAndroidChart-v2.2.2jar包放入libs目錄下。第一步進(jìn)行布局,在代碼中通過添加的id獲取餅圖控件。第二部設(shè)置三個方面的數(shù)據(jù):餅圖上數(shù)據(jù)的分類即xValues、每種分類所對應(yīng)的數(shù)值即yValues和每種分類的顏色顯示即colors。第三步設(shè)置餅圖的一些基本屬性。最后再為圖標(biāo)添加圖例和各種動畫效果。主要代碼如下:
AccountDaodbManager=app.getDatabaseManager();
TextViewtextViewSummary;
doublesummary=dbManager.getIncomeSummary(app.currentDateMonth)-
dbManager.getOutlaySummary(app.currentDateMonth);
textViewSummary.setText(String.valueOf(summary));
ChartManagerchartManager=newChartManager(this.getActivity());
PieChartpieChart=(PieChart)rootView.findViewById(R.id.pie_chart);
chartManager.showPieChart_Account(pieChart,app.currentDateMonth);實(shí)現(xiàn)效果如圖4.16所示。圖4.16APP數(shù)據(jù)統(tǒng)計(jì)頁面圖APP的收入支出頁面顯示的是當(dāng)前月份的數(shù)據(jù),用戶要想查看歷史數(shù)據(jù)就需要通過查詢統(tǒng)計(jì)功能界面來看,查詢統(tǒng)計(jì)功能可以提供某一時間段內(nèi)的收入和支出明細(xì),用戶可以查詢?nèi)我鈺r間段的數(shù)據(jù)。具體實(shí)現(xiàn):該界面分為上方的圖標(biāo)區(qū)、中間輸入?yún)^(qū)和下方的顯示數(shù)據(jù)的listview。頁面完成后通過從界面上獲取用戶輸入的日期數(shù)據(jù),然后創(chuàng)建數(shù)據(jù)訪問對象來查詢數(shù)據(jù),最后創(chuàng)建適配器設(shè)置到Listview組件上這幾個步驟來實(shí)現(xiàn)數(shù)據(jù)的查詢。實(shí)現(xiàn)效果如圖4.17、圖4.18所示。圖4.17收入明細(xì)查詢頁面圖圖4.18支出明細(xì)查詢頁面圖4.7輔助功能在記賬本中,用戶可以點(diǎn)擊“分享”按鈕,可以將當(dāng)月的收入和支出匯總信息發(fā)送給朋友,可以選擇短信等應(yīng)用進(jìn)行分享。具體實(shí)現(xiàn):首先使用AccountDao中的統(tǒng)計(jì)匯總方法生成要分享的文字信息,信息內(nèi)容設(shè)計(jì)為“您的收入?yún)R總為xxx,您的支出匯總為xxx”。分享功能通過Intent隱式意圖來實(shí)現(xiàn),需要創(chuàng)建一個Intent。ACTION_SEND,通過setType方法指定分享的類型為文本,最后調(diào)用startActivity,系統(tǒng)會彈出處理send的應(yīng)用列表,讓用戶選擇分享的目標(biāo)應(yīng)用,選擇后即可分享。實(shí)現(xiàn)效果如圖4.19所示。圖4.19記賬分享頁面圖5記賬本APP系統(tǒng)測試5.1測試環(huán)境本手機(jī)APP通過在AndroidStudio模擬器上對各種功能進(jìn)行測試,所使用的API為28,CPU為x865.2登陸測試該部分主要測試用戶名密碼是否能配對。在登陸頁面,輸入用戶昵稱和密碼,驗(yàn)證通過后,進(jìn)入記賬本主頁面。用戶名和密碼有一項(xiàng)為空或輸入錯誤,出現(xiàn)系統(tǒng)提示“用戶名或密碼錯誤”。表5-1用戶登錄模塊測試用例編號功能測試用例預(yù)期結(jié)果測試結(jié)果1用戶登錄用戶名:Dear密碼:123正確進(jìn)入系統(tǒng)內(nèi)部正確2用戶登錄用戶名:Dear密碼1003系統(tǒng)提示“用戶名或密碼錯誤”正確3用戶登錄用戶名:dear密碼:123系統(tǒng)提示“用戶名或密碼錯誤”正確4用戶登錄用戶名:“空”密碼:123系統(tǒng)提示“用戶名或密碼錯誤”正確5用戶登錄用戶名:Dear密碼:“空”系統(tǒng)提示“用戶名或密碼錯誤”正確5.3注冊測試在登陸頁面點(diǎn)擊“注冊用戶”進(jìn)入注冊頁面,輸入昵稱、密碼、確認(rèn)密碼和密碼提示,點(diǎn)擊“注冊”,注冊成功。如果昵稱和密碼處沒有填寫,系統(tǒng)提示“昵稱不能為空”和“密碼不能為空”;如果確認(rèn)密碼處填入信息與密碼處不一致,系統(tǒ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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度一人轉(zhuǎn)多人股權(quán)轉(zhuǎn)讓協(xié)議范本與股權(quán)激勵發(fā)展趨勢3篇
- 2024云計(jì)算技術(shù)在智慧農(nóng)業(yè)中的應(yīng)用合同3篇
- 2024年地下車位租賃合同范本:標(biāo)準(zhǔn)化車位租賃管理協(xié)議3篇
- 2024年度擔(dān)保合同電子化服務(wù)平臺運(yùn)營與風(fēng)險控制3篇
- 2024年指紋鎖產(chǎn)品與技術(shù)授權(quán)銷售合同3篇
- 新疆警察學(xué)院《英語課程設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 藝術(shù)培訓(xùn)教師合同范例
- 蔬菜幫扶合同范例
- 項(xiàng)目意向金合同范例
- 餐飲加盟占股合同范例
- 2024年貴安新區(qū)產(chǎn)業(yè)發(fā)展控股集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 山東省青島市李滄區(qū)2023-2024學(xué)年七年級上學(xué)期期末道德與法治試題
- 設(shè)備工程行業(yè)年終述職報告總結(jié)
- 《軍事理論》教案第五章
- 團(tuán)隊(duì)能力建設(shè)分析報告
- 四川省成都市雙流區(qū)2023-2024學(xué)年三年級上學(xué)期期末數(shù)學(xué)試卷
- 2024年1月浙江首考高考選考?xì)v史試卷試題真題(含答案)
- 部編版語文四年級上冊期末復(fù)習(xí)專項(xiàng)1:生字詞語句子復(fù)習(xí)課件
- 綠化園林技術(shù)交底
- 介入術(shù)后并發(fā)癥的預(yù)防及處理
- 社會消防安全教育培訓(xùn)題庫及答案
評論
0/150
提交評論