軟件工程畢業(yè)論文-基于android系統(tǒng)的家庭理財(cái)通軟件的設(shè)計(jì)——收入管理模塊_第1頁
已閱讀1頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b>  (20 屆)</b></p><p>  基于Android系統(tǒng)的家庭理財(cái)通軟件的設(shè)計(jì)——收入管理模塊</p><p><b>  摘 要</b></p><p>  基于安卓系統(tǒng)的家庭理財(cái)通軟件

2、——收入模塊是在為改變筆記本,電腦記錄個(gè)人收入情況的局限性,為了適應(yīng)不斷發(fā)展的手機(jī)技術(shù)時(shí)代。主要是面向使用安卓智能手機(jī)一族,它能夠更加迅速、直接、及時(shí)的處理個(gè)人收入情況。該軟件收入部分主要內(nèi)容包括填寫新增收入、瀏覽收入信息、修改收入信息、刪除收入信息。反映出個(gè)人收入情況,且系統(tǒng)功能操作方便、易懂,頁面設(shè)計(jì)美觀大方,操作簡便,容易上手。</p><p>  在通過對人們記錄收入習(xí)慣的調(diào)查與分析后,嘗試采用面向 對象

3、系統(tǒng)分析與設(shè)計(jì)方法,設(shè)計(jì)實(shí)現(xiàn)此系統(tǒng)模塊,進(jìn)行收入的增、刪、查、改操作,以及對SQLite進(jìn)行管理。</p><p>  關(guān)鍵字 .安卓理財(cái)系統(tǒng) SQLite Java</p><p><b>  Abstract</b></p><p>  Based on android system of family financial manage

4、ment software module is to change the laptop, computer records of personal income limitations, in order to adapt to the continuous development of mobile technology。Mainly is to use android smartphone gens, it can more qu

5、ickly and timely directly dealing with personal income.Income part of the software mainly includes to fill in additional income to browse information modify information delete revenue income.Reflect personal income, and

6、the system</p><p>  In through to the people, after investigation and analysis of the income used to record attempt USES the object-oriented system analysis and design method, design and realization of the s

7、ystem module, change operation during a revenue increase, delete, and manage the SQLite.</p><p>  Keywords: Android wealth management system, SQLite, Java.</p><p><b>  目 錄</b><

8、/p><p><b>  1.緒論1</b></p><p><b>  1.1 前言1</b></p><p>  1.2 課題研究的背景及意義1</p><p>  1.3國內(nèi)外研究的現(xiàn)狀1</p><p>  1.4設(shè)計(jì)的主要工作2</p><

9、p><b>  1.5 論文組織</b></p><p>  2.開發(fā)環(huán)境和開發(fā)技術(shù)3</p><p>  2.1 系統(tǒng)介紹3</p><p>  2.1.1 安卓系統(tǒng)簡介3</p><p>  2.1.2 理財(cái)軟件簡介3</p><p>  2.2工具環(huán)境介紹4</p>

10、;<p>  2.2.1 開發(fā)環(huán)境的選擇4</p><p>  2.2.2 JAVA語言簡介4</p><p>  2.2.3 SQLite簡介5</p><p>  2.2.4 開發(fā)工具Eclipse簡介</p><p><b>  3.需求分析7</b></p><p>

11、  3.1 設(shè)計(jì)思想7</p><p>  3.2 可行性分析7</p><p>  3.2.1 操作可行性7</p><p>  3.2.2 技術(shù)可行性7</p><p>  3.2.3 經(jīng)濟(jì)可行性7</p><p>  3.3 功能需求7</p><p>  3.3.1 基本功能

12、需求7</p><p>  3.3.2 用戶界面需求8</p><p><b>  4.系統(tǒng)設(shè)計(jì)9</b></p><p>  4.1 總體結(jié)構(gòu)設(shè)計(jì)9</p><p>  4.1.1 系統(tǒng)設(shè)計(jì)基礎(chǔ)9</p><p>  4.1.2 模塊設(shè)計(jì)9</p><p> 

13、 4.1.3 系統(tǒng)流程10</p><p>  4.2 數(shù)據(jù)庫設(shè)計(jì)11</p><p>  4.2.1 數(shù)據(jù)庫簡介12</p><p>  4.2.2 數(shù)據(jù)庫設(shè)計(jì)原則12</p><p><b>  5.系統(tǒng)實(shí)現(xiàn)12</b></p><p>  5.1用戶主要功能程序代碼12</

14、p><p>  5.2主要應(yīng)用界面16</p><p>  5.2.1用戶登陸界面17</p><p>  5.2.2用戶查詢頁面17</p><p>  5.2.3用戶收入選擇模式18</p><p><b>  6.結(jié)束語19</b></p><p><b&

15、gt;  6.1 總結(jié)19</b></p><p>  6.2 心得體會(huì)19</p><p><b>  致謝20</b></p><p><b>  參考文獻(xiàn)21</b></p><p><b>  1.緒論</b></p><p>

16、;<b>  前言</b></p><p>  隨著金融市場的迅速發(fā)展,個(gè)人理財(cái)正在悄然進(jìn)入人們的生活。人們在積累財(cái)富的同時(shí),開始意識(shí)到要通過專業(yè)化的理財(cái)服務(wù)、功能強(qiáng)大的理財(cái)軟件,利用有效的金融市場和多元化的金融工具,確保財(cái)富的保值增值和必要的風(fēng)險(xiǎn)管理。</p><p>  此次課題針對Android 平臺(tái)下的軟件開發(fā)的架構(gòu)、設(shè)計(jì)和實(shí)現(xiàn)進(jìn)行探討,通過Android平臺(tái)

17、實(shí)現(xiàn)一個(gè)功能齊全的個(gè)人理財(cái)軟件。相較于電腦上的理財(cái)軟件,由于載體——手機(jī)的便攜性和高使用率,它更大限度地滿足了消費(fèi)者的需求,有著更廣泛的受眾,如年輕的白領(lǐng)們。他們有著較強(qiáng)的理財(cái)意識(shí),又屬于高收入群體,對日新月異的技術(shù)發(fā)展有著很強(qiáng)的接受度和可塑性。從這方面說,手機(jī)理財(cái)產(chǎn)品的潛在市場相當(dāng)可觀。</p><p>  1.2 課題研究的背景及意義</p><p>  多年來人們都使用傳統(tǒng)的人工方式

18、記錄和管理家庭或自己財(cái)務(wù)情況。這種管理和記錄方式存在著不可避免的缺點(diǎn),如效率太差,保密性不高等;隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日益成熟,人們通過程序軟件方便生活的想法也愈加強(qiáng)烈。 手機(jī),作為現(xiàn)代生活中必不可少的工具,儼然已發(fā)展成一部多媒體終端,其重要性不言而喻;現(xiàn)代的時(shí)代進(jìn)入高速的信息時(shí)代,人們越來越看重信息的收集與傳播。手機(jī)、軟件的功能要越來越強(qiáng)大才能滿足人們的需求,功能強(qiáng)大也就成為廣大時(shí)尚用戶的個(gè)性

19、化需求之一。 手機(jī)理財(cái)軟件恰恰能滿足用戶的這種需求。</p><p>  與此同時(shí),隨著塞班系統(tǒng)的逐漸沒落,Android引領(lǐng)的智能手機(jī)迅速火熱,除卻iphone自己的蘋果系統(tǒng),安卓系統(tǒng)作為最新的開源手機(jī)操作系統(tǒng),現(xiàn)已被大量手機(jī)廠家所采用,在不久的將來必將占據(jù)大量的市場份額。隨著年輕群體對手機(jī)的依賴,傳統(tǒng)的理財(cái)記錄方式已經(jīng)不能適應(yīng)迅速發(fā)展的手機(jī)時(shí)代。為此,一款基于Android 手機(jī)平臺(tái)的個(gè)人理財(cái)軟件應(yīng)運(yùn)而生。&

20、lt;/p><p><b>  國內(nèi)外研究的現(xiàn)狀</b></p><p>  家庭理財(cái)系統(tǒng)在國外很多地方使用已經(jīng)相當(dāng)?shù)钠毡?,而且國外的基于安卓系統(tǒng)的家庭理財(cái)系統(tǒng)功能相當(dāng)強(qiáng)大,比如系統(tǒng)里包含有股票的預(yù)測、基金的分析等等。而隨著國內(nèi)物價(jià)飛漲形勢的影響,人們越來越意識(shí)到個(gè)人理財(cái)?shù)谋匾?。同時(shí)簡單原始的使用紙筆進(jìn)行記錄甚至計(jì)算機(jī)進(jìn)行記錄的方式已經(jīng)不能滿足人們的需求,因此,基于手機(jī)

21、的個(gè)人理財(cái)系統(tǒng)成為當(dāng)下最受關(guān)注的軟件系統(tǒng)。國內(nèi)如此巨大的市場需求也促使了很多公司對理財(cái)系統(tǒng)的研究。</p><p>  1.4 設(shè)計(jì)的主要工作</p><p>  本系統(tǒng)包括登陸窗體的設(shè)計(jì)以及理財(cái)系統(tǒng)的收入部分的設(shè)計(jì)。收入部分的各個(gè)模塊分別為新增收入模塊、瀏覽收入信息模塊、修改收入信息模塊、刪除收入信息模塊。</p><p>  新增收入模塊主要實(shí)現(xiàn)的功能是新增收入

22、的基本信息,包括收入的金額以及收入的來源;</p><p>  瀏覽收入信息模塊主要實(shí)現(xiàn)的功能是瀏覽近期個(gè)人收入,方便及時(shí)理財(cái);</p><p>  修改收入信息模塊主要實(shí)現(xiàn)的功能是對近期個(gè)人收入的金額以及來源進(jìn)行修改;</p><p>  刪除收入信息模塊主要實(shí)現(xiàn)的功能是對近期個(gè)人收入的金額以及來源進(jìn)行刪除;</p><p><b&g

23、t;  1.5 論文組織</b></p><p>  論文全文共分為六章:</p><p>  緒論。這一章主要介紹了論文選題的引言、對課題研究的背景及意義進(jìn)行了分析。</p><p>  第二章 開發(fā)環(huán)境和開發(fā)技術(shù)。這一章介紹了系統(tǒng)、系統(tǒng)的開發(fā)模式、開發(fā)環(huán)境等基礎(chǔ)知識(shí)。</p><p>  第三章 需求分析。這一章主要介紹了系統(tǒng)

24、設(shè)計(jì)思想、可行性分析、功能和性能需求。</p><p>  第四章 系統(tǒng)設(shè)計(jì)。這一章主要介紹了系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)和系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì),其中數(shù)據(jù)庫的設(shè)計(jì)包括了概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。</p><p>  第五章 系統(tǒng)實(shí)現(xiàn)。這一章介紹了系統(tǒng)的所有模塊和它的功能。選取具有代表性的數(shù)據(jù)進(jìn)行測試,保證系統(tǒng)正常運(yùn)行。</p><p>  第六章 結(jié)束語。對系統(tǒng)實(shí)現(xiàn)過程進(jìn)行了

25、總結(jié)。</p><p>  2.開發(fā)環(huán)境和開發(fā)技術(shù)</p><p><b>  2.1 系統(tǒng)介紹</b></p><p>  系統(tǒng)是在一定環(huán)境中相互聯(lián)系和相互作用的若干部分組成的具有某種功能的集合,一個(gè)系統(tǒng)內(nèi)可能包含許多功能各異的子系統(tǒng),這意味著系統(tǒng)可以具有多層結(jié)構(gòu),一個(gè)系統(tǒng)的整體功能往往大于單個(gè)子系統(tǒng)的功能之和。</p><

26、;p>  本系統(tǒng)可以及時(shí)、準(zhǔn)確、快捷的掌握每次收入的明細(xì),能夠快速的對收入情況進(jìn)行增、刪、查、改等操作,充分滿足現(xiàn)代生活對手機(jī)記錄收入部分的需求。</p><p>  2.1.1 安卓系統(tǒng)簡介 </p><p>  Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。</p>

27、<p>  Android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。Android分為四個(gè)層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫層和Linux內(nèi)核層。</p><p><b>  應(yīng)用程序</b></p><p>  Android會(huì)同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)

28、系人管理程序等。所有的應(yīng)用程序都是使用JAVA語言編寫的。</p><p><b>  應(yīng)用程序框架</b></p><p>  開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計(jì)簡化了組件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性)。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以

29、方便的替換程序組件。</p><p><b>  系統(tǒng)運(yùn)行庫</b></p><p>  Android 包含一些C/C++庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。</p><p>  2.1.2 理財(cái)軟件簡介</p><p>  理財(cái)軟件,是指以財(cái)務(wù)賬戶

30、為核心,以增值獲利為目的, 以資金流動(dòng)為手段,以統(tǒng)計(jì)分析為決策的管理軟件。</p><p>  理財(cái)軟件頗受白領(lǐng)青睞,不少以前家庭收支一筆糊涂賬的白領(lǐng),操縱理財(cái)軟件實(shí)現(xiàn)了家庭資產(chǎn)設(shè)置裝備擺設(shè)更合理,財(cái)政風(fēng)險(xiǎn)最小化。今朝已有多家軟件公司和銀行先后推出理財(cái)軟件供客戶下載利用,有的是互聯(lián)網(wǎng)公司開發(fā)的中國式理財(cái)軟件,家庭收支記賬理財(cái)軟件等,具有多賬戶登錄等功能,有的是銀行自己開辟的軟件,如招行的財(cái)富賬戶專業(yè)版,里面囊括了

31、賬戶總覽、現(xiàn)金治理、投資治理三大板塊;有的是第三方機(jī)構(gòu)供給的軟件,如工行、農(nóng)行、民生銀行等推出的第三方機(jī)構(gòu)供給的理財(cái)軟件,客戶直接從網(wǎng)上銀行下載,功能更壯大,不僅包含投資理財(cái)?shù)墓δ埽€包含記賬、財(cái)政分析、聯(lián)系關(guān)系賬戶等細(xì)枝小節(jié)的功能。</p><p>  理財(cái)軟件當(dāng)然是實(shí)現(xiàn)資產(chǎn)收益最大化的好輔佐,帶給用戶良多實(shí)惠,但好的理財(cái)習(xí)慣才更主要。理財(cái)專家建議,理財(cái)軟件用戶最好在年頭就擬定出昔時(shí)的收支預(yù)算表,便于每月監(jiān)控自

32、己的收進(jìn)和支出比例。此外,理財(cái)記賬貴在堅(jiān)持,理財(cái)軟件只是工具,養(yǎng)成理財(cái)記賬的習(xí)慣最主。</p><p><b>  2.2工具環(huán)境介紹</b></p><p>  2.2.1 開發(fā)環(huán)境的選擇</p><p>  開發(fā)與運(yùn)行的環(huán)境的選擇會(huì)影響到數(shù)據(jù)庫設(shè)計(jì),本系統(tǒng)開發(fā)與運(yùn)行環(huán)境如下:</p><p>  ?開發(fā)環(huán)境:Win

33、dows XP professional</p><p>  ?開發(fā)工具:Eclipse</p><p>  ?數(shù)據(jù)庫管理系統(tǒng):SQLLite</p><p>  本系統(tǒng)主要采用Java與SQLLite相結(jié)合的技術(shù)。利用Eclipse軟件來設(shè)計(jì)系統(tǒng)界面,使整個(gè)系統(tǒng)更具有吸引力和良好的價(jià)值</p><p>  2.2.2 Java語言簡介&

34、lt;/p><p>  Java編程語言的風(fēng)格十分接近C、C++語言。Java是一個(gè)純粹的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,它繼承了 C++語言面向?qū)ο蠹夹g(shù)的核心。Java舍棄了C語言中容易引起錯(cuò)誤的指針(以引用取代)、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。在 Java 1.5 版本中

35、,Java 又引入了泛型編程(Generic Programming)、類型安全的枚舉、不定長參數(shù)和自動(dòng)裝/拆箱等語言特性。</p><p>  Java不同于一般的編譯執(zhí)行計(jì)算機(jī)語言和解釋執(zhí)行計(jì)算機(jī)語言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺(tái)上的虛擬機(jī)來解釋執(zhí)行字節(jié)碼。從而實(shí)現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺(tái)特性。不過,每次的執(zhí)行編譯后的字節(jié)碼需要消耗一定的時(shí)間,這同時(shí)也在一

36、定程度上降低了 Java 程序的運(yùn)行效率。</p><p>  編輯Java源代碼可以使用任何無格式的文本編輯器,在Windows操作系統(tǒng)上可以使用記事本(Notepad)、EditPlus等程序,在Linux平臺(tái)上可使用VI工具等。[</p><p>  2.2.3 SQLLite數(shù)據(jù)庫簡介</p><p>  SQLite是一款輕型的數(shù)據(jù)庫,SQLite的設(shè)計(jì)目

37、標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語言相結(jié)合,比如Tcl、PHP、Java 等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。</p><p>  SQLite數(shù)據(jù)庫是D

38、.Richard Hipp用C語言編寫的開源嵌入式數(shù)據(jù)庫,支持的數(shù)據(jù)庫大小為2TB。它具有如下特征:</p><p><b>  1、輕量級(jí)</b></p><p>  SQLite和C\S模式的數(shù)據(jù)庫軟件不同,它是進(jìn)程內(nèi)的數(shù)據(jù)庫引擎,因此不存在數(shù)據(jù)庫的客戶端和服務(wù)器。使用SQLite一般只需要帶上它的一個(gè)動(dòng)態(tài)庫,就可以享受它的全部功能。而且那個(gè)動(dòng)態(tài)庫的尺寸也相當(dāng)小。

39、</p><p><b>  2、獨(dú)立性</b></p><p>  SQLite數(shù)據(jù)庫的核心引擎本身不依賴第三方軟件,使用它也不需要“安裝”,所以在使用的時(shí)候能夠省去不少麻煩。</p><p><b>  3、隔離性</b></p><p>  SQLite數(shù)據(jù)庫中的所有信息(比如表、視圖、觸發(fā)器

40、)都包含在一個(gè)文件內(nèi),方便管理和維護(hù)。</p><p><b>  4、跨平臺(tái)</b></p><p>  SQLite數(shù)據(jù)庫支持大部分操作系統(tǒng),除了我們在電腦上使用的操作系統(tǒng)之外,很多手機(jī)操作系統(tǒng)同樣可以運(yùn)行,比如Android、Windows Mobile、Symbian、Palm等。</p><p><b>  5、多語言接口&

41、lt;/b></p><p>  SQLite數(shù)據(jù)庫支持很多語言編程接口,比如C\C++、Java、Python、dotNet、Ruby、Perl等,得到更多開發(fā)者的喜愛。</p><p><b>  6、安全性</b></p><p>  SQLite數(shù)據(jù)庫通過數(shù)據(jù)庫級(jí)上的獨(dú)占性和共享鎖來實(shí)現(xiàn)獨(dú)立事務(wù)處理。這意味著多個(gè)進(jìn)程可以在同一時(shí)間

42、從同一數(shù)據(jù)庫讀取數(shù)據(jù),但只有一個(gè)可以寫入數(shù)據(jù)。在某個(gè)進(jìn)程或線程向數(shù)據(jù)庫執(zhí)行寫操作之前,必須獲得獨(dú)占鎖定。在發(fā)出獨(dú)占鎖定后,其他的讀或?qū)懖僮鲗⒉粫?huì)再發(fā)生。</p><p>  2.2.4 開發(fā)工具Eclipse簡介</p><p>  Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。作為一種開源軟件,其發(fā)展得到了全世界軟件開發(fā)廠商和技術(shù)愛好者的支持,其版本一直都在不斷的

43、升級(jí)之中,各種開發(fā)功能也在被不斷的整合到Eclipse之上。而且,許多軟件開發(fā)商都是在以Eclipse為框架開發(fā)自己的IDE,如比較流行的IDE Apatna。但Eclipse 不限于當(dāng)作 Java IDE 來使用。由于 Eclipse 中的每樣?xùn)|西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具

44、(Java Development Tools,JDT)。Eclipse的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。</p><p>  作為一種流行的開源軟件,其設(shè)計(jì)的初衷便是高效的開發(fā)出Java程序。在其實(shí)現(xiàn)中同樣高效的支持Java Web項(xiàng)目的開發(fā),能夠完成Web項(xiàng)目工程的自動(dòng)構(gòu)建,部署和開發(fā)。其強(qiáng)大的語言提示功能和代碼分類顯示功能,極大的提

45、高了軟件開發(fā)人員的程序開發(fā)效率。</p><p><b>  3.需求分析</b></p><p><b>  3.1 設(shè)計(jì)思想</b></p><p>  第一步就是需要利用SQLite建立所需要的數(shù)據(jù)庫,第二步就使用Java語言該系統(tǒng)客戶端應(yīng)用程序的開發(fā)。</p><p><b>  

46、3.2 可行性分析</b></p><p>  可行性分析是系統(tǒng)分析階段的第二項(xiàng)活動(dòng),它的主要目是進(jìn)一步明確系統(tǒng)的目標(biāo)、規(guī)模與功能,對系統(tǒng)開發(fā)背景、必要性和意義進(jìn)行了調(diào)查分析并根據(jù)需要和可能提出開發(fā)系統(tǒng)的初步方案與計(jì)劃??尚行苑治鍪菍ο到y(tǒng)進(jìn)行全面、概要的分析。通過調(diào)查分析,本系統(tǒng)設(shè)計(jì)主要有以下三個(gè)可行性:</p><p>  3.2.1 操作可行性</p><

47、;p>  本系統(tǒng)操作簡單,易于理解,只需通過簡單指導(dǎo),上手較快,運(yùn)行環(huán)境要求低。</p><p>  3.2.2 技術(shù)可行性</p><p>  本課題采用Java語言進(jìn)行開發(fā),提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制。同時(shí)Java語言支持全動(dòng)態(tài)綁定,它的強(qiáng)類型機(jī)制、異常處理、垃圾的自動(dòng)收集以及安全檢查機(jī)制使其

48、程序具有健壯性。</p><p>  3.2.3 經(jīng)濟(jì)可行性</p><p>  本課題所使用的軟件都為免費(fèi)公開發(fā)行版,不需要購買?,F(xiàn)在,計(jì)算機(jī)的價(jià)格已經(jīng)十分低廉,性能卻有了長足的進(jìn)步。為本次開發(fā)提供了設(shè)備支持,同時(shí)幾乎所有的安卓手機(jī)都可以高效的運(yùn)行使用該理財(cái)系統(tǒng) 。</p><p><b>  3.3 功能需求</b></p>

49、<p>  按照系統(tǒng)開發(fā)的要求分析,并且通過對應(yīng)用者的需求進(jìn)行調(diào)研,要求包括軟件操作簡單,界面簡潔大方。</p><p>  3.3.1 基本功能需求</p><p>  通過系統(tǒng)的分析,可得出該系統(tǒng)的基本功能需求如下:</p><p>  能夠?qū)€(gè)人收入的金額以及來源進(jìn)行新增、瀏覽、查看以及刪除操作。</p><p>  3.3.

50、2 用戶界面需求</p><p>  系統(tǒng)界面要符合大多數(shù)人的使用習(xí)慣,界面美觀、按鈕得體,使用起來要方便。</p><p><b>  4.系統(tǒng)設(shè)計(jì)</b></p><p>  4.1 總體結(jié)構(gòu)設(shè)計(jì)</p><p>  4.1.1 系統(tǒng)設(shè)計(jì)基礎(chǔ)</p><p>  系統(tǒng)總體設(shè)計(jì)原則是需要充分考慮

51、系統(tǒng)框架的合理構(gòu)建理。其組織結(jié)構(gòu)圖如4-1所示。</p><p>  圖4-1系統(tǒng)組織結(jié)構(gòu)圖</p><p>  4.1.2 模塊設(shè)計(jì)</p><p>  本系統(tǒng)是一個(gè)典型的收入管理系統(tǒng),主要目標(biāo)是讓使用它的用戶能很好地管理收入,如新增收入功能、瀏覽收入信息功能、修改收入信息功能、刪除收入信息功能。</p><p>  系統(tǒng)從總體上分為新增收

52、入功能模塊、瀏覽收入信息功能模塊、修改收入信息模塊、刪除收入信息模塊。每個(gè)模塊有自己的作用。下面的各模塊功能流圖就是由各功能之間的關(guān)系而得出的。</p><p>  如下圖4-5所示,用戶添加收入的基本流程,用戶輸入要添加的收入信息,然后系統(tǒng)更新數(shù)據(jù)庫,顯示到信息表上:</p><p>  圖4-5 用戶添加收入流程</p><p>  如下圖4-6所示,查詢基本流

53、程,用戶輸入要查詢信息,然后查詢并顯示結(jié)果。</p><p>  圖4-6 查詢表報(bào)流程</p><p>  4.1.3 系統(tǒng)流程</p><p>  系統(tǒng)在執(zhí)行過程中,按照一定的流程進(jìn)行。如圖4-7所示</p><p>  圖4-7 添加新信息流程圖</p><p>  查看收入流程圖,如圖4-8所示</p&g

54、t;<p>  圖4-8 查詢收入流程圖</p><p><b>  4.2 數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  4.2.1 數(shù)據(jù)庫簡介</p><p>  在系統(tǒng)設(shè)計(jì)過程中,數(shù)據(jù)庫的設(shè)計(jì)是系統(tǒng)的核心和基礎(chǔ),把系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來,提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫中獲得所

55、需的信息。</p><p>  數(shù)據(jù)庫是長期儲(chǔ)存在計(jì)算機(jī)內(nèi)大量的有組織的,可以共享的數(shù)據(jù)的集合,這種數(shù)據(jù)集合具有如下特點(diǎn):盡可能不重復(fù),以最優(yōu)方式為某個(gè)特定組織的多種應(yīng)用服務(wù),其數(shù)據(jù)結(jié)構(gòu)獨(dú)立于使用它的應(yīng)用程序,對數(shù)據(jù)的增、刪、改和檢索由統(tǒng)一軟件進(jìn)行管理和控制。從發(fā)展的歷史看,數(shù)據(jù)庫是數(shù)據(jù)管理的高級(jí)階段,它是由文件管理系統(tǒng)發(fā)展起來的。</p><p>  4.2.2 數(shù)據(jù)庫設(shè)計(jì)原則</

56、p><p>  在具體數(shù)據(jù)庫設(shè)計(jì)過程中,要遵循以下原則:</p><p>  (1)為了增強(qiáng)數(shù)據(jù)庫程序的可讀性和可維護(hù)性,按照相應(yīng)的命名原則規(guī)范對數(shù)據(jù)表、</p><p>  變量、存儲(chǔ)過程、視圖等進(jìn)行規(guī)范化,并對具體的SQL代碼編寫規(guī)范化。</p><p>  (2)在數(shù)據(jù)表的設(shè)計(jì)中,滿足每個(gè)字段必須盡量小,只能包含一個(gè)數(shù)據(jù)項(xiàng)目、必須完<

57、/p><p>  全支持主鍵,而且只支持主鍵,每條記錄必須唯一等。</p><p>  (3)多使用存儲(chǔ)過程實(shí)現(xiàn)對數(shù)據(jù)庫的操作,增加訪問效率及軟件程序修改。</p><p>  (4)數(shù)據(jù)的安全性方面主要是確定用戶標(biāo)識(shí)及口令,對關(guān)系或數(shù)據(jù)庫設(shè)置封鎖,對用戶授權(quán)或設(shè)置用戶訪問控制表。</p><p><b>  5 系統(tǒng)實(shí)現(xiàn)</b&

58、gt;</p><p>  5.1 用戶主要功能程序代碼</p><p>  Login.java的部分代碼:</p><p>  Button login, cancel;</p><p>  private DataBaseHelper dh;</p><p>  String name, password;<

59、;/p><p>  EditText Name, Password;</p><p>  int flag = 1;</p><p>  int mflag = 1;</p><p>  int mflag2 = 1;</p><p>  大類中首先就是生命組件跟變量,android是一個(gè)組件式開發(fā)環(huán)境,以組件修改套接開發(fā)

60、為主;</p><p>  public static String MD5(String str) {</p><p>  MessageDigest md5 = null;</p><p><b>  try {</b></p><p>  md5 = MessageDigest.getInstance("

61、MD5");</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p>  return "";</p><p><b>  }</b></p><p>  char[] char

62、Array = str.toCharArray();</p><p>  byte[] byteArray = new byte[charArray.length];</p><p>  for (int i = 0; i < charArray.length; i++) {</p><p>  byteArray[i] = (byte) charArray[

63、i];</p><p><b>  }</b></p><p>  byte[] md5Bytes = md5.digest(byteArray);</p><p>  StringBuffer hexValue = new StringBuffer();</p><p>  for (int i = 0; i <

64、 md5Bytes.length; i++) {</p><p>  int val = ((int) md5Bytes[i]) & 0xff;</p><p>  if (val < 16) {</p><p>  hexValue.append("0");</p><p><b>  }<

65、/b></p><p>  hexValue.append(Integer.toHexString(val));</p><p><b>  }</b></p><p>  return hexValue.toString();</p><p><b>  }</b></p>&

66、lt;p>  MD5算法加密,用于對用戶名密碼加密保存。這么做主要是因?yàn)閟qlite數(shù)據(jù)庫本身安全性不高,訪問權(quán)限基本等于沒限制。</p><p>  手寫一個(gè)繼承SQLiteOpenHelper的數(shù)據(jù)庫助手類DataBaseHelper,通過該類進(jìn)行數(shù)據(jù)庫連接初始化工作,通過new出來的DataBaseHelper對象進(jìn)行數(shù)據(jù)庫操作</p><p>  數(shù)據(jù)庫操作主要代碼:<

67、/p><p>  SQLiteDatabase db = dh.getReadableDatabase();</p><p>  String[] columns = { </p><p>  DataBaseHelper.ID, DataBaseHelper.NAME,</p><p>  DataBaseHelper.PASSWORD };&

68、lt;/p><p>  Cursor c = db.query(DataBaseHelper.TABLE_USER, columns, null,null, null, null, null);</p><p>  while (c.moveToNext()) {</p><p><b>  }</b></p><p>&l

69、t;b>  }</b></p><p>  c.close();</p><p>  db.close();</p><p>  功能選擇界面的部分代碼:</p><p>  Button btn_new,btn_about,btn_up,btn_help;</p><p>  setContentV

70、iew(R.layin.main);</p><p>  GridView gridview = (GridView) findViewById(R.id.gridview);</p><p>  gridview.setAdapter(new ImageAdapter(this));</p><p>  gridview.setOnItemClickListene

71、r(new OnItemClickListener() {}</p><p>  從代碼可見,該界面主要實(shí)現(xiàn)的就是按鈕功能,用來作為軟件各功能實(shí)現(xiàn)的紐帶;GridView采用一個(gè)自定義的布局填充;</p><p>  (3)記錄中的部分代碼</p><p>  Criteria criteria = new Criteria();// 對gps獲取信息方式進(jìn)行設(shè)置&

72、lt;/p><p>  criteria.setAccuracy(Criteria.ACCURACY_FINE);// 精度</p><p>  criteria.setAltitudeRequired(false);// 是否要高度信息</p><p>  criteria.setBearingRequired(false);// 是否要方位信息</p>

73、<p>  criteria.setgetAllowed(true);// 是否需要產(chǎn)生費(fèi)用</p><p>  criteria.setPowerRequirement(Criteria.POWER_LOW);// 耗電量設(shè)置了首先對gps模塊進(jìn)行設(shè)置,因?yàn)樵摴δ艿膶?shí)現(xiàn)要啟用gps模塊,獲取定位信息</p><p>  protected void camera() {<

74、;/p><p>  Intent intent = new Intent();</p><p>  intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);</p><p>  picpath = System.currentTimeMillis() + ".jpg";</p><p&g

75、t;  Uri uri = Uri.fromFile(new File("/sdcard/" + picpath));</p><p>  intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);</p><p>  startActivityForResult(intent, REQUESTCODE);</p><

76、;p><b>  }</b></p><p>  調(diào)用系統(tǒng)的照相接口,實(shí)現(xiàn)照片采集功能,并自動(dòng)保存到內(nèi)存卡上邊。</p><p>  Toast.makeText(getApplicationContext(), "已保存完成",</p><p>  Toast.LENGTH_LONG).show();</p&g

77、t;<p>  用Toast提示照片保存完成</p><p>  查詢中的部分代碼。 </p><p>  private List<Manager> find(){</p><p>  dh = new DataBaseHelper(this);</p><p>  SQLiteDatabase db = dh.

78、getReadableDatabase();</p><p>  String[] columns = { DataBaseHelper.IN, DataBaseHelper.TIME,</p><p>  DataBaseHelper.PIC,DataBaseHelper.X,DataBaseHelper.Y };</p><p>  Cursor c = db.

79、query(DataBaseHelper.TABLE_USER_IN, columns, null, null,null, null, null);</p><p>  List<Manager> users = new ArrayList<Manager>();</p><p>  Manager e = null;</p><

80、p>  while (c.moveToNext()) {</p><p>  e = new Manager();</p><p>  e.setIn(c.getDouble(0));</p><p>  e.setTime(c.getString(1));</p><p>  e.setPic(c.getString(2));<

81、/p><p>  e.setX(c.getDouble(3));</p><p>  e.setY(c.getDouble(4));</p><p>  users.add(e);</p><p><b>  }</b></p><p>  c.close();</p><p>

82、;  db.close();</p><p>  return users;</p><p><b>  }</b></p><p>  查詢方法,查詢返回一個(gè)list集合,包含數(shù)據(jù)庫表內(nèi)的全部數(shù)據(jù)信息</p><p><b>  新用戶的部分代碼:</b></p><p>

83、  if (userpassword.equals(testpassword)) {</p><p>  SQLiteDatabase db = dh.getWritableDatabase();</p><p>  User user = new User(MD5(userName.getText().toString()),</p><p>  MD5(user

84、password));</p><p>  ContentValues values = new ContentValues();</p><p>  values.put(DataBaseHelper.NAME, user.getName());</p><p>  values.put(DataBaseHelper.PASSWORD, user.getPassW

85、ord());</p><p>  db.insert(DataBaseHelper.TABLE_USER, null, values);</p><p>  db.close();</p><p>  Toast.makeText(NewUser.this, "數(shù)據(jù)插入成功",</p><p>  Toast.LENGT

86、H_LONG).show();</p><p><b>  } else {</b></p><p>  Toast.makeText(NewUser.this, "數(shù)據(jù)未插入成功",</p><p>  Toast.LENGTH_LONG).show();</p><p><b>  }&

87、lt;/b></p><p><b>  } else {</b></p><p>  Toast.makeText(NewUser.this, "兩次輸入的密碼不一致,請重新輸入",</p><p>  Toast.LENGTH_LONG).show();</p><p><b> 

88、 }</b></p><p>  首先驗(yàn)證兩次輸入的密碼是否一致,然后將用戶信息插入user表,并用toast對操作結(jié)果進(jìn)行提示</p><p>  用戶修改的主要代碼:</p><p>  SQLiteDatabase db1 = dh.getWritableDatabase();</p><p>  User user = n

89、ew User(name, MD5(userPassword</p><p>  .getText().toString()));</p><p>  ContentValues values = new ContentValues();</p><p>  values.put(DataBaseHelper.NAME, user.getName());</p

90、><p>  values.put(DataBaseHelper.PASSWORD,</p><p>  user.getPassWord());</p><p>  String whereClause = DataBaseHelper.ID + "=?";</p><p>  String[] whereArgs = {

91、String.valueOf(c.getInt(0)) };</p><p>  db1.update(DataBaseHelper.TABLE_USER, values,</p><p>  whereClause, whereArgs);</p><p>  Toast.makeText(UserUp.this, "數(shù)據(jù)修改成功",</

92、p><p>  Toast.LENGTH_LONG).show();</p><p>  c.close();</p><p>  db.close();</p><p>  db1.close();</p><p>  主要實(shí)現(xiàn)的是數(shù)據(jù)庫的更新,對user表的用戶密碼進(jìn)行修改</p><p&g

93、t;  AndroidManifest.xml主要代碼:</p><p>  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/></p><p>  <uses-permission android:name="android.permission

94、.ACCESS_COARSE_LOCATION"/></p><p>  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/></p><p>  <uses-permission android:name="android.perm

95、ission.INTERNET"/></p><p>  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/></p><p>  <uses-permission android:name="android.permission

96、.ACCESS_WIFI_STATE"/></p><p>  <uses-permission android:name="android.permission.BLUETOOTH"/></p><p>  <uses-permission android:name="android.permission.BLUETOOTH

97、_ADMIN"/></p><p>  <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/></p><p>  <uses-permission android:name="android.permission.READ_PHONE_ST

98、ATE"/></p><p>  <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/></p><p>  <uses-permission android:name="android.permission.UPDATE_DEVICE

99、_STATS"/></p><p>  <uses-permission android:name="android.permission.CAMERA"/></p><p>  對應(yīng)用所需要的系統(tǒng)權(quán)限進(jìn)行設(shè)置,給予應(yīng)用網(wǎng)絡(luò)、定位、硬件操控等權(quán)限</p><p>  <activity android:name=

100、"AndroidXunJianActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">></activity></p><p>  <activity android:name="About" android:theme="@andr

101、oid:style/Theme.NoTitleBar.Fullscreen">></activity></p><p>  <activity android:name="UserUp" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">></act

102、ivity></p><p>  <activity android:name="Help" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">></activity></p><p>  <activity android:name=&qu

103、ot;GeoCoder" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">></activity></p><p>  <activity android:name="Find" android:theme="@android:style/Theme.No

104、TitleBar.Fullscreen">></activity></p><p>  <activity android:name="ImageShow" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">></activity></p

105、><p>  <activity android:name="ObjSelect" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">></activity></p><p>  <activity android:name="UpIn&qu

106、ot; android:theme="@android:style/Theme.NoTitleBar.Fullscreen">></activity></p><p>  對項(xiàng)目中應(yīng)用到的所有activity進(jìn)行注冊,只有在這里注冊過的activity才能在項(xiàng)目中進(jìn)行使用</p><p>  5.2 主要應(yīng)用界面</p><p

107、>  程序應(yīng)用界面應(yīng)盡量符合題目要求,簡潔大方,操作簡便,簡單易懂</p><p>  5.2.1用戶登陸界面</p><p>  5.2.2 用戶查詢頁面</p><p>  5.2.3 用戶收入選擇模式</p><p><b>  6.結(jié)束語</b></p><p><b> 

108、 6.1 總結(jié)</b></p><p>  畢業(yè)設(shè)計(jì)心得體會(huì)  隨著畢業(yè)日子的到來,畢業(yè)設(shè)計(jì)也接近了尾聲。經(jīng)過幾周的奮戰(zhàn)我的畢業(yè)設(shè)計(jì)終于完成了。在沒有做畢業(yè)設(shè)計(jì)以前覺得畢業(yè)設(shè)計(jì)只是對這幾年來所學(xué)知識(shí)的單純總結(jié),但是通過這次做畢業(yè)設(shè)計(jì)發(fā)現(xiàn)自己的看法有點(diǎn)太片面。畢業(yè)設(shè)計(jì)不僅是對前面所學(xué)知識(shí)的一種檢驗(yàn),而且也是對自己能力的一種提高。通過這次畢業(yè)設(shè)計(jì)使我明白了自己原來知識(shí)還比較欠缺。自己要學(xué)習(xí)的東西

109、還太多,以前老是覺得自己什么東西都會(huì),什么東西都懂,有點(diǎn)眼高手低。通過這次畢業(yè)設(shè)計(jì),我才明白學(xué)習(xí)是一個(gè)長期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識(shí)和綜合素質(zhì)。</p><p><b>  6.2 心得體會(huì)</b></p><p>  本系統(tǒng)所需知識(shí)是為接觸過的,本一無所知到系統(tǒng)運(yùn)行。不僅使我知道得到補(bǔ)充和增加,也鍛煉了我自我約束力和自學(xué)能力。

110、</p><p><b>  致謝</b></p><p>  在此要感謝趙老師對我悉心的指導(dǎo),感謝老師給我的幫助和很多建議。在設(shè)計(jì)過程中,我通過查閱大量有關(guān)資料,與同學(xué)交流經(jīng)驗(yàn)和自學(xué),并向老師請教等方式,使自己學(xué)到了不少知識(shí),也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個(gè)設(shè)計(jì)中我懂得了許多東西,也培養(yǎng)了我獨(dú)立工作的能力,樹立了對自己工作能力的信心,相信會(huì)對今后的學(xué)習(xí)工作生

111、活有非常重要的影響。而且大大提高了動(dòng)手的能力,使我充分體會(huì)到了在創(chuàng)造過程中探索的艱難和成功時(shí)的喜悅。雖然這個(gè)設(shè)計(jì)做的也不太好,但是在設(shè)計(jì)過程中所學(xué)到的東西是這次畢業(yè)設(shè)計(jì)的最大收獲和財(cái)富,使我終身受益。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]李苑.基于Android移動(dòng)平臺(tái)的警務(wù)查詢系統(tǒng)[D].碩士學(xué)位論文. 南昌大學(xué),2009<

112、/p><p> ?。?]陳益強(qiáng).簡析Android系統(tǒng)安全性,2011.9.20</p><p> ?。?]張鵬.中國企業(yè)為什么青睞android[J] .通信世界 2010.3 </p><p>  [4]羅伯特萊莫斯.Android手機(jī)安全性成難題[J].麻省理工科技創(chuàng)業(yè),2011(3)</p><p> ?。?]余志龍,陳昱勛,鄭名杰.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論