bn理財助手_第1頁
已閱讀1頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  湖南文理學院芙蓉學院</p><p>  本科生畢業(yè)論文(設計)</p><p>  題 目: BN理財助手</p><p>  學生姓名: 譚鎮(zhèn) </p><p>  學 號: 13250108</p><p>  專業(yè)班級: 網絡工程1301班

2、</p><p>  指導教師:丁德鴻</p><p>  完成時間:2017年5月</p><p><b>  目 錄</b></p><p><b>  摘要</b></p><p>  隨著社會經濟不斷增長,技術不斷地發(fā)展及進步,手機作為這個社會里一個不可或

3、缺的存在,它被廣泛的使用到通信,消費,娛樂等等之中。目前社會中存在一個普遍的問題,那就是人們在消費的同時往往沒有約束性,這就導致了一些不必要的消費,這也是所謂的過度消費。當提示卡上余額不足的時候才醒悟過來,后悔莫及。根據新聞報道及相關調研得知,我國大多數人在使用各種不同的網上消費軟件比如QQ,微信,支付寶等等,網上消費愈來愈受到人們的歡迎,但是所存在的過度消費也讓人們很煩惱。因此,完善的理財管理系統(tǒng)對于人們有著至關重要的作用。</

4、p><p>  本設計是基于eclipse作為開發(fā)工具在Android系統(tǒng)上所應用的理財管理系統(tǒng)。本系統(tǒng)主要實現(xiàn)記載消費備忘錄,查詢股票行情,計算消費情況等功能。通過一系列的算法將各個功能進行銜接及融合,其中算法的加入大大優(yōu)化了其軟件運行的速度。股票查詢功能的設計為那些不能經常坐在電腦前的人們提供了極大的便利。</p><p>  關鍵詞:過度消費;理財管理系統(tǒng);算法</p>&

5、lt;p><b>  Abstract</b></p><p>  Along with the social economy growing, technology development and continuous progress, cell phone as an indispensable exist in the society; it is widely used in

6、 communication, consumption, entertainment and so on. Currently there is a common problem in the society, which is what people often do not have a binding, at the same time in the consumption of this leads to unnecessary

7、 consumption, this is the so-called excess consumption. When the balance is insufficient on the cue card, it comes to re</p><p>  This design is based on eclipse as the financial management system for develo

8、pment tools on the Android system. The system mainly implements the consumption memorandum, the stock market, and the calculation of the consumption situation and so on. Through a series of algorithms, the functions are

9、connected and merged, and the algorithm's addition greatly improves the speed of its software operation. The design of the stock query function offers great convenience for people who cannot sit in front</p>&

10、lt;p>  Key words:excessive consumption; financial management system; algorithm</p><p><b>  緒論</b></p><p><b>  選題的目的和意義</b></p><p>  當代網上消費不斷普及并迅速發(fā)展,科學技術日新

11、月異的進步,不論是娛樂還是學習都朝著智能化簡便化的方向前進。通過觀察對比發(fā)現(xiàn),不管是從娛樂還是學習,人們都更加熱衷于用手機來完成各項事情?,F(xiàn)在出門到處移動支付形式,用現(xiàn)金消費的現(xiàn)象越來越少,甚至有些人出門只需要帶一部手機就能夠完成通信,消費,拍照等一系列功能。</p><p>  手機作為網上消費一個不可或缺的工具,目前已經普遍在每個人的手中,但是目前也存在的一個普遍的問題,那就是網上消費雖然方便了廣大群眾的支付

12、方式,但是它進一步的促進了人們的消費水平,這導致了人們在網上支付時沒有一個金錢的概念,看到滿意的物品或者好吃的食物時,用手指在手機屏幕上輕輕動幾下,幾百,幾千甚至幾萬塊錢就支付給了賣家。支付完成之后并沒有像以前用幾十張一百塊錢支付那樣的肉痛,之后查詢自己的余額時才意識到自己已經過度消費。因此,一個完善的理財管理系統(tǒng)對于提高人們的消費情況的意識,減少不必要的消費情況有著至關重要的作用。</p><p>  理財管理

13、系統(tǒng)——BN理財助手的優(yōu)點:</p><p>  1、節(jié)省時間,減少不必要的繁瑣;用戶不用和以前一樣拿個記事本,每消費一次時用筆記錄下來,而是每次消費時及時在手機上記錄消費情況,方便也實用。</p><p>  2、系統(tǒng)靈活,功能性強;該理財軟件不僅僅只是用于記錄自己的消費情況,里面還設置了計算器,可以隨時進行相關的數學計算,設置了書架,可以隨時存放一些經濟理財相關類型的書籍,也設置了查詢

14、股票情況,用戶每天盯著電腦面前看自己所買的股票的行情,走在路上,或者休息等業(yè)余時間可以隨時拿出手機查詢相關的情況。</p><p>  3、系統(tǒng)操作使效率得以提高,縮減了人工的管理和投入,大大節(jié)省了人力資源。</p><p>  本文設計了一套基于Android系統(tǒng)的理財管理系統(tǒng),該系統(tǒng)包含記賬功能、股票查詢功能,看電子書的功能等等。整個系統(tǒng)是用java語言編寫的,后臺還設置了管理數據的數

15、據庫,都是在eclipse的開發(fā)工具下完成。</p><p><b>  國內外研究現(xiàn)狀</b></p><p>  目前,理財管理系統(tǒng)的開發(fā)工作是相當熱門的項目。通過理財管理系統(tǒng)的建設可以極大的提高工作效率。特別是在目前信息技術高速發(fā)展的時代,對于理財管理系統(tǒng)的引入,使理財相關的數據質量得到了大幅度的提升,實現(xiàn)了經濟資源比較高的統(tǒng)一。</p><

16、p>  國外的研究現(xiàn)狀:網絡化的理財管理系統(tǒng)與計算機、互聯(lián)網聯(lián)系密切,因此在國外發(fā)展起源的較早。并且相對國內來說,國外的理財管理系統(tǒng)的建設開發(fā)技術較為成熟,從早期的單獨記賬功能,到加入各種各樣其他相關的功能,采用了網絡化與信息化相融合的手段,用戶通過終端對經濟進行管理,提高了人們對經濟管理的意識。</p><p>  國內的研究現(xiàn)狀:我國對于理財管理系統(tǒng)的開發(fā)于最近幾年,由于生活質量不斷提高,消費水平也在不

17、斷增加,消費形式越來越向智能化發(fā)展,也就是所說的網上消費。有大多數人不懂得理財而產生一些不必要的開銷,最近幾年天貓,淘寶,京東等等網上購物網站的網上交易量不斷上升,交易金額令人瞠目結舌。正因為網上消費是一個未來消費的主要趨勢,因此理財類的app不斷的出現(xiàn)。</p><p><b>  本文的主要內容</b></p><p>  本文主要針對目前網上消費的現(xiàn)狀,設計了基

18、于Android系統(tǒng)的一個app軟件,該系統(tǒng)主要包含記賬功能、股票查詢功能,查看電子書的功能等等。內部的數據庫采用輕量級的SqLite,對數據進行處理及存儲,同時使用wire shark軟件抓包,對數據包進行比較簡單的分析與處理。針對于服務器,采用的是Tomcat ,它是一個開源的免費的Web應用服務器,被廣泛的用于手機app的開發(fā)之中,它雖然不適用于大型系統(tǒng)當中,但是在中小型系統(tǒng)中被廣泛的應用。</p><

19、;p><b>  系統(tǒng)需求分析與設計</b></p><p><b>  系統(tǒng)開發(fā)環(huán)境配置</b></p><p>  基于Android系統(tǒng)應用主要由前端和后端組成。前端主要為用戶交互體驗設計,后端是系統(tǒng)的主要框架搭建。經過對于消費人群的調研所得出的需求分析,對系統(tǒng)功能進行規(guī)劃和設計,并參考以往資料借鑒經驗。確定了客戶端開發(fā)軟件環(huán)境。&l

20、t;/p><p>  JDK (Java Development Kit)是開發(fā)JAVA語言必不可少的工具包,其中包含了JAVA語音的開發(fā)和運行環(huán)境,必須安裝JDK才能開發(fā)和運行JAVA程序。JRE(Java Runtime Environment)是JAVA語言的運行環(huán)境。JAVA平臺的建立過程如下:</p><p>  第一步:下載JDK。按照提示將JDK安裝到指定位置。</p>

21、;<p>  第二步:進入“我的電腦—屬性—高級系統(tǒng)設置”,設置JDK環(huán)境變量。</p><p>  通常JDK安裝完成后需要設置Java環(huán)境變量PATH和CLASSPATH。</p><p>  由于客戶端數據需調用數據庫,因此需開發(fā)服務器端,本系統(tǒng)將服務器配置Tomcat,利用servlet類提供服務。Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器。同樣,

22、Tomcat安裝好后也需要配置環(huán)境。配置Tomcat的步驟與配置JDK類似,同樣需要在“我的電腦-屬性-高級系統(tǒng)設置”中配置環(huán)境變量。配置成功后應能在瀏覽器地址欄中輸http://localhost:8080回車,如果看到Tomcat自帶的一個JSP頁面,Tomcat已搭建成功。</p><p><b>  可行性分析</b></p><p>  可行性分析是通過對項

23、目的主要內容和配套條件進行調查和分析對比,能為項目決策提供依據。對本系統(tǒng)的可行性分析如下:</p><p>  經濟管理是該理財管理系統(tǒng)的重要組成部分。本系統(tǒng)的設計目的是實現(xiàn)經濟管理的智能管理化,解決消費過度情況,為用戶提供經濟管理功能,也為自身養(yǎng)成合理消費理性消費的觀念。</p><p>  本系統(tǒng)硬件條件:Android系統(tǒng)手機。運行環(huán)境:Android系統(tǒng)。開發(fā)軟件:SqLite、e

24、clipse 等。使用的開發(fā)語言分別為java和SQL,可實現(xiàn)基本的人機交互功能和數據處理功能。</p><p><b>  總體架構設計思想</b></p><p>  基于Android系統(tǒng)的理財管理系統(tǒng)的體系結構設置如下。系統(tǒng)分為六個大模塊,它們分別是記賬功能,計算器功能,備忘錄功能,關于該app信息,實時查詢股票行情功能以及閱讀相關書籍的功能。系統(tǒng)之中加了相關

25、算法,將其運行情況進行的優(yōu)化,能夠快速運轉程序。</p><p><b>  需求分析</b></p><p>  根據自身學習情況以及對網上消費的調研情況分析,本項目組成員了解到目前網上消費人群主要還是集中在青年人,10~30歲年輕段的消費者占總消費者的百分之八十多,在一些節(jié)假日時消費額度較高,尤其是“雙十一”節(jié)日,網店各家在搞活動折扣促進網絡市場消費,2016年1

26、1月11日當天天貓交易額就達到1200多億。但其中也有一部分人是屬于盲目跟風,造成過度消費。根據上述問題,基于對理財管理系統(tǒng)的需求分析,對該項目系統(tǒng)制定了以下功能要點:</p><p>  1、系統(tǒng)便民。整個系統(tǒng)只使用用戶一種權限,不設定管理者權限,使得用戶信息不被透露,進入系統(tǒng)之后沒有階級權限,人人平等。</p><p>  2、系統(tǒng)界面需簡潔,操作要靈活,旨在為消費人群提供方便。<

27、;/p><p><b>  功能設計</b></p><p>  根據對項目的需求分析總結,和消費人群的實際情況,設計出系統(tǒng)功能結構框圖,如圖2.1所示:</p><p>  圖2.1 系統(tǒng)功能結構框圖</p><p><b>  詳細功能說明:</b></p><p>  1

28、、主要設計方法或技術路線:</p><p>  理財管理系統(tǒng)的軟件部分采用JAVA語言編寫程序,根據功能進行模塊劃分,具有很強的拓展性。系統(tǒng)使用數據庫來保存消費者信息、記錄消費信息、保存書籍信息等。消費者信息存放在User表中,用于確認身份和實現(xiàn)查詢功能。消費的歷史記錄信息表主要用于數據統(tǒng)計和分析,便于之后的消費情況分析。</p><p>  2、達到的技術指標或要求:</p>

29、<p>  理財管理系統(tǒng)以應用為核心,以數據為基礎,以信息服務為表現(xiàn),系統(tǒng)設計時需要考慮各個層面的需求和特性,需采用三層架構實現(xiàn):數據表示層、應用服務層和系統(tǒng)服務層,系統(tǒng)代碼必須嚴格按照有關標準執(zhí)行,適應各類數據的處理、保存和交換的需要;并保留必要的修訂、擴展余地,適應動態(tài)需求。同時,最大限度地實現(xiàn)信息資源保護,較好的可擴展性和包容性、規(guī)范管理、信息安全和保密,以及“可靠性、實用性、安全性、先進性、開放性的”的設計原則,集

30、中體現(xiàn)在“結構優(yōu)化、功能細化、操作簡化、界面美化”。</p><p><b>  軟件設計</b></p><p>  基于Android系統(tǒng)的理財管理系統(tǒng)軟件部分采用JAVA、wire shark、httpWatch、tomat、photoshop程序設計技術和SqLite數據庫進行系統(tǒng)開發(fā)。軟件部分總體設計分為兩部分:Android前端設計和后臺服務器設計,服務器

31、是基于tomat和數據庫服務器設計的。</p><p>  本項目選用eclipse 作為軟件系統(tǒng)的開發(fā)平臺。eclipse 是JAVA語言常用的開發(fā)平臺。是在eclipse的基礎上,加入了自己的插件開發(fā)而成的,功能更加強大的集成開發(fā)環(huán)境。JDK (Java Development Kit)為JAVA語言軟件開發(fā)必要的開發(fā)工具包。面向對象設計是把重點放在對象及對象的接口上的一個編程技術。其面向對象和C++有很多不

32、同,在與多重繼承的處理及Java的原類模型。Java內存模型圖如圖2.2所示:</p><p>  圖2.2JAVA內存模型圖</p><p><b>  功能實現(xiàn)</b></p><p><b>  GUI設計與實現(xiàn)</b></p><p><b>  主界面</b><

33、/p><p>  APP打開運行之后的主界面,如圖3.1所示:</p><p>  圖3.1 BN理財助手主界面</p><p><b>  計算器界面</b></p><p>  計算器界面,如圖3.2所示</p><p>  圖3.2 BN理財助手計算器界面</p><p&

34、gt;<b>  記賬界面</b></p><p>  記賬界面,如圖3.3所示:</p><p>  圖3.3 BN理財助手記賬界面</p><p><b>  書架界面</b></p><p>  書架界面,如圖3.4所示:</p><p>  圖3.4 BN理財助手

35、書架界面</p><p><b>  系統(tǒng)幫助界面</b></p><p>  關于該app幫助界面,如圖3.5所示:</p><p>  圖3.5 BN理財助手幫助界面</p><p><b>  系統(tǒng)備忘錄界面</b></p><p>  備忘錄界面,如圖3.6所示:&

36、lt;/p><p>  圖3.6 BN理財助手備忘錄界面</p><p><b>  股票查詢界面</b></p><p>  股票查詢界面,如圖3.7所示:</p><p>  圖3.7 BN理財助手股票查詢界面</p><p>  C/S之間的通信設計</p><p>

37、  本系統(tǒng)的總體架構是基于C/S模式設計的,即客戶端服務器模式。該系統(tǒng)的主要操作都是用戶通過點擊按鈕向服務器發(fā)起連接,連接成功進行數據的傳輸和處理。在整個傳輸過程中,如何做到數據的不丟失以及快速傳輸成為客戶端和服務器之間的通信設計的主要問題。</p><p>  本系統(tǒng)中所有與服務器端連接的操作都依賴于Http協(xié)議,Http (HyperText Transfer Protocol)——超文本傳輸協(xié)議,是一個屬于

38、應用層的面向對象的協(xié)議。我們選用Http通信的原因主要有如下幾點:第一、Http支持C/S模式。第二、可以傳輸任意類型的數據對象,通信速度很快。第三、Http通信是無連接的,收到應答后斷開連接,節(jié)省了傳輸時間。</p><p>  本系統(tǒng)通信模式的設計方案如下:客戶端先根據用戶點擊的事件向服務器的特定端口發(fā)起連接請求,在該項目中,設置前后端獲取和發(fā)送信息的方式為get方式,在URL中帶有向服務器發(fā)送的數據。建立連

39、接以后,客戶端開始向服務端發(fā)送數據,服務端接收并解析客戶端發(fā)來的數據,根據解析出來的結果調用相應的處理模塊,該模塊的主要功能是將獲取的數據與數據庫中的數據進行比較,或者更新、存儲相應的數據,在執(zhí)行相關操作后,該模塊將返回相關的數據,之后服務端將這些數據進行封裝并反饋至客戶端,客戶端接收服務端發(fā)來的數據,并對其進行解析,最后將解析的數據顯示在UI界面供用戶查看。</p><p><b>  系統(tǒng)測試<

40、;/b></p><p>  軟件測試的整個生命周期的軟件,每個子系統(tǒng)一起通過測試是一個完整的系統(tǒng),測試整個系統(tǒng)通常被稱為系統(tǒng)測試。為了找到系統(tǒng)問題,找出修改的缺陷和問題,系統(tǒng)可以正常運行,滿足用戶的需求,通常是系統(tǒng)測試的需要。系統(tǒng)測試是測試系統(tǒng)在軟件規(guī)范中是否滿足設計功能的最有效方法。任何系統(tǒng),如果不是通過系統(tǒng)測試被投入使用,可能會有很多問題,這些問題常常無法預測,甚至可能導致系統(tǒng)的崩潰。因此,系統(tǒng)測試不

41、僅對用戶負責,而且對系統(tǒng)本身負責。</p><p><b>  測試的對象及目的</b></p><p>  系統(tǒng)測試的目的是找出程序中可能發(fā)生任何錯誤,導致測試數據的選擇應該選擇可能會導致一個錯誤數據而不是那些能確保萬無一失,簡而言之,系統(tǒng)測試是為了糾錯而不是驗證程序無錯。系統(tǒng)測試不僅包括源代碼,還包括一個完整的系統(tǒng),包括系統(tǒng)的分析和設計。因此,系統(tǒng)測試過程中,測試

42、的唯一來源是不夠的,代碼和算法的準確性不能完全保證系統(tǒng)可用性,完整的系統(tǒng)就像一個人,不僅需要各種器官,這些器官相互交流信息,確保人體的正常運行??傊?,軟件是系統(tǒng)測試的對象。</p><p><b>  界面測試</b></p><p><b>  功能測試</b></p><p><b>  總結與展望</

43、b></p><p>  本設計利用JAVA語言,eclipse 集成開發(fā)平臺,JDK開發(fā)環(huán)境以及SqLite數據庫實現(xiàn)了Android系統(tǒng)的理財管理系統(tǒng)軟件部分的研究。達到了利用互聯(lián)網,讓網上消費者能夠理性消費,為消費者理財帶來了便捷。</p><p>  通過半年來的學習和探索,廣泛查閱相關文獻資料,深入社會中的消費人群進行調研做出需求分析,針對需求分析結果得出系統(tǒng)功能需求,學習

44、JAVA開發(fā)技術,了解相關技術代碼,逐步完善系統(tǒng),并對其進行最終測試,逐步完成了本系統(tǒng)的設計和實現(xiàn)工作。</p><p>  在開發(fā)過程中,本人也遇到了許多困難。首先是對于開發(fā)環(huán)境的搭建,對于JDK、Tomcat和SqLite數據庫環(huán)境的配置。一旦其中一項環(huán)境變量修改出錯,就會導致所有的工具失效。在經歷過十數次的安裝、配置、卸載、再安裝配置后,終于搭建好了開發(fā)環(huán)境。這也是對耐心的一個考驗和提升。通過這個過程使本項

45、目組成員認識到做事一定要嚴謹仔細,一步一步不能有任何差錯,不然就會導致滿盤皆輸的狀況。</p><p>  本系統(tǒng)也存在一些不足之處,在功能上還有很大的發(fā)揮空間。今后將會逐步增加更多便利的功能。</p><p>  理財管理系統(tǒng)作為圖書館應用現(xiàn)代信息技術更好服務于消費人群的支撐平臺,隨著互聯(lián)網的發(fā)展和信息技術的進步,也經歷了多次升級。當前面臨新的環(huán)境,理財系統(tǒng)需要進行全面的新的升級。今后可

46、以對身份驗證這一方面進行改進,比如人臉識別等。這樣就會節(jié)省出大量的資源,也更加人性化。</p><p>  隨著未來科技的發(fā)展,理財管理系統(tǒng)還可能朝著多功能,多方面的發(fā)展方向前進,期待著這一類的管理系統(tǒng)能夠更先進的發(fā)展。</p><p><b>  參考文獻</b></p><p>  [1]嚴適瓊. 惠州衛(wèi)校教學管理系統(tǒng)的設計與實現(xiàn)[D].

47、 電子科技大學, 2012.</p><p>  [2]尹國才. 高校綜合教務管理系統(tǒng)研究與設計[D]. 河北工業(yè)大學, 2012.</p><p>  [3]燕向暉. 基于DOM/SAX的JDF實現(xiàn)機制的研究[D]. 武漢大學, 2006.</p><p>  [4]杜家強. Java線程同步及其內存模型[J]. 計算機時代, 2004(5):44-45.&

48、lt;/p><p>  [5]樊春華. 我國公路工程咨詢研究[D]. 東北師范大學, 2003.</p><p>  [6]唐學文. 軍隊轉業(yè)人員信息管理系統(tǒng)的設計與實現(xiàn)[D]. 電子科技大學, 2014.</p><p>  [7]陳武錢青趙熊馬雪梅姜愛蓉朱京徽. 清華大學智能座位管理系統(tǒng)的設計與實現(xiàn)[J]. 現(xiàn)代圖書情報技術, 2013(10):94-99.&

49、lt;/p><p>  [8]梁劍非. 多線程端口掃描軟件設計與實現(xiàn)[D]. 電子科技大學, 2011.</p><p>  [9]萬兵. 基于J2EE技術的網絡化考試系統(tǒng)設計與實現(xiàn)[D]. 電子科技大學, 2012.</p><p>  [10]譚良陳菊. 可信終端動態(tài)運行環(huán)境的可信證據收集代理[J]. 軟件學報, 2012(8):154-173.</p&

50、gt;<p>  [11]趙薇. 基于B/S模式的紅河學院國際教育家校平臺的開發(fā)[D]. 電子科技大學, 2013.</p><p>  [12]夏敏納. 基于WebService和XML的異構數據庫集成研究[D]. 湖南大學, 2014.</p><p>  [13]侯進. 航電ICD生成與管理系統(tǒng)設計[D]. 電子科技大學, 2012.</p><

51、;p>  [14]王雪. 基于Struts-Spring-Hibernate框架的企業(yè)培訓管理系統(tǒng)的設計與實現(xiàn)[D]. 吉林大學, 2012.</p><p>  [15]潘怡. 貴州交通職業(yè)技術學院教務信息管理系統(tǒng)的設計與實現(xiàn)[D]. 云南大學, 2014.</p><p>  [16]馮瑛瑛. 湖州職業(yè)技術學院教務管理系統(tǒng)設計與實現(xiàn)[D]. 電子科技大學, 2014.<

52、;/p><p>  [17]唐高峰. 咸陽師范學院科研管理信息系統(tǒng)的分析與設計[D]. 華東師范大學, 2010.</p><p>  [18]劉帥奇胡紹海肖揚. 基于Android平臺的匯集團購信息業(yè)務描述[J]. 電視技術, 2013(5):102-104.</p><p>  [19]陳楊楊. 個性化推薦系統(tǒng)的系統(tǒng)測試研究[J]. 電腦知識與技術, 2014

53、(21):68-72.</p><p>  [20]付陽. 基于ARM9的嵌入式Linux移植和驅動程序設計[D]. 華中科技大學, 2013.</p><p><b>  致謝</b></p><p>  這次畢業(yè)論文能夠得以順利完成,首先,要特別感謝我的指導老師老師,在近一年的畢業(yè)設計期間,不論是選題功能的確定還是具體實現(xiàn),都給了我寶貴建

54、議和意見。感謝您給我的幫助和指導,讓我受益匪淺。</p><p>  其次感謝大學四年來各位專業(yè)老師,感謝他們教會了我專業(yè)知識以及學習方法。同時也感謝學院為我們提供了良好的畢業(yè)設計條件,讓我們能夠專心完成畢業(yè)設計。</p><p>  最后感謝所有幫助過我的同學,他們?yōu)槲业漠厴I(yè)設計提供了很多的幫助,正是和他們的一次次的交流學習中,才讓我有了更加長足的進步。在你們的幫助下,終于圓滿地完成了系

55、統(tǒng)的設計開發(fā)工作,在之后的工作和學習中,我也將繼續(xù)努力,勤學奮進,勇攀高峰。</p><p><b>  附錄</b></p><p><b>  代碼部分:</b></p><p><b>  // 建表</b></p><p>  publicstaticvoid crea

56、teTable() {</p><p>  SQLiteDatabase financialData = null;</p><p>  financialData = SQLiteDatabase.openDatabase(</p><p>  "/data/data/com.bn.financial_assistant/financialdata&qu

57、ot;, null,</p><p>  SQLiteDatabase.OPEN_READWRITE</p><p>  | SQLiteDatabase.CREATE_IF_NECESSARY);</p><p><b>  // 創(chuàng)建支出表</b></p><p>  String sqlpay = "cr

58、eate table if not exists accountpay(";</p><p>  sqlpay += "id integer PRIMARY KEY,moneypay varchar(10),categorypay varchar(20),zhuanghupay varchar(20),";</p><p>  sqlpay += "

59、timepay varchar(50),projectpay varchar(20),memberpay varchar(20),pspay varchar(200));";</p><p>  financialData.execSQL(sqlpay);</p><p><b>  // 創(chuàng)建收入表</b></p><p>  St

60、ring sqlincome = "create table if not exists accountincome(";</p><p>  sqlincome += "id integer PRIMARY KEY," +</p><p>  "moneyincome varchar(10)," +</p><

61、;p>  "categoryincome varchar(20)," +</p><p>  "zhuanghuincome varchar(20),"+</p><p>  "timeincome varchar(50)," +</p><p>  "projectincome varch

62、ar(20)," +</p><p>  "memberincome varchar(20)," +</p><p>  "psincome varchar(200));";</p><p>  financialData.execSQL(sqlincome);</p><p><b&g

63、t;  // 創(chuàng)建備忘錄表</b></p><p>  String sqlnote = "create table if not exists notepad(" +</p><p>  "id integer PRIMARY KEY," +</p><p>  "timenote varchar(20

64、)," +</p><p>  "contentnote varchar(300));";</p><p>  financialData.execSQL(sqlnote);</p><p><b>  // 創(chuàng)建股票表</b></p><p>  String sqlstock = &qu

65、ot;create table if not exists stockinfo("</p><p>  + "ID integer primary key autoincrement," + // 0.ID</p><p>  "CODE varchar(15)," + // 1.股票代碼</p><p>  &qu

66、ot;NAME varchar(20)," + // 2.股票名稱</p><p>  "PRICE_TODAY varchar(15)," + // 3.今日開盤價</p><p>  "PRICE_YESTADAY varchar(15)," + // 4.昨日收盤價</p><p>  "PRICE_

67、NOW varchar(15)," + // 5.當前價</p><p>  "TODAY_HIGHEST varchar(15)," + // 6.今日最高價</p><p>  "TODAY_LOWEST varchar(15)," + // 7.今日最低價</p><p>  "TRADING_VOL

68、UME varchar(20)," + // 8.交易屬</p><p>  "CHANGING_OVER varchar(20)," + // 9.交易額</p><p>  "DATE varchar(20)," + // 10.日期</p><p>  "TIME varchar(20),"

69、 + // 11.時間</p><p>  "EXCHANGEHALL varchar(20))"; // 12.交易所</p><p>  financialData.execSQL(sqlstock);</p><p><b>  }</b></p><p>  // --------------

70、-----------------支出</p><p>  // begin----------------------------------------------</p><p><b>  // 添加支出</b></p><p>  publicstaticboolean addPay(String[] info) {</p>

71、;<p>  SQLiteDatabase financialData = null;</p><p>  Cursor cur = null;</p><p>  financialData = SQLiteDatabase.openDatabase(</p><p>  "/data/data/com.bn.financial_assis

72、tant/financialdata", null,</p><p>  SQLiteDatabase.OPEN_READWRITE</p><p>  | SQLiteDatabase.CREATE_IF_NECESSARY);</p><p>  intpayId = -1;</p><p><b>  try {&l

73、t;/b></p><p>  String sql = "select max(id) from accountpay;";</p><p>  cur = financialData.rawQuery(sql, null);</p><p>  if (cur.moveToFirst()) {</p><p> 

74、 payId = cur.getInt(0) + 1;</p><p><b>  } else {</b></p><p>  payId = 1;</p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>

75、  e.printStackTrace();</p><p><b>  }</b></p><p><b>  try {</b></p><p>  if (info[6].length() == 0) {</p><p>  String sql2 = "insert into ac

76、countpay values(";</p><p>  sql2 += payId + ",'"; // id</p><p>  sql2 += info[0] + "','"; // 金額</p><p>  sql2 += info[1] + "','&quo

77、t;; // 類別</p><p>  sql2 += info[2] + "','"; // 賬戶</p><p>  sql2 += info[3] + "','"; // 時間</p><p>  sql2 += info[4] + "','"; //

78、項目</p><p>  sql2 += info[5] + "',"; // 成員</p><p>  sql2 += null + ");"; // 備注</p><p>  financialData.execSQL(sql2);</p><p><b>  } else {&l

79、t;/b></p><p>  String sql2 = "insert into accountpay values(";</p><p>  sql2 += payId + ",'"; // id</p><p>  sql2 += info[0] + "','"; //

80、 金額</p><p>  sql2 += info[1] + "','"; // 類別</p><p>  sql2 += info[2] + "','"; // 賬戶</p><p>  sql2 += info[3] + "','"; // 時間<

81、/p><p>  sql2 += info[4] + "','"; // 項目</p><p>  sql2 += info[5] + "','"; // 成員</p><p>  sql2 += info[6] + "');"; // 備注</p><

82、;p>  financialData.execSQL(sql2);</p><p><b>  }</b></p><p>  returntrue;</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p&

83、gt;  } finally {</p><p>  if (cur != null) {</p><p>  cur.close();</p><p><b>  }</b></p><p>  financialData.close();</p><p><b>  }</b&

84、gt;</p><p>  returnfalse;</p><p><b>  }</b></p><p><b>  // 添加收入</b></p><p>  publicstatic Boolean addIncome(String[] info) {</p><p>

85、;  SQLiteDatabase financialData = null;</p><p>  Cursor cur = null;</p><p>  financialData = SQLiteDatabase.openDatabase(</p><p>  "/data/data/com.bn.financial_assistant/financ

86、ialdata", null,</p><p>  SQLiteDatabase.OPEN_READWRITE</p><p>  | SQLiteDatabase.CREATE_IF_NECESSARY);</p><p>  intincomeId = -1;</p><p><b>  try {</b>

87、</p><p>  String sql = "select max(id) from accountincome;";</p><p>  cur = financialData.rawQuery(sql, null);</p><p>  if (cur.moveToFirst()) {</p><p>  inco

88、meId = cur.getInt(0) + 1;</p><p><b>  } else {</b></p><p>  incomeId = 1;</p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>

89、;  e.printStackTrace();</p><p><b>  }</b></p><p><b>  try {</b></p><p>  if (info[6].length() == 0) {</p><p>  String sql2 = "insert into a

90、ccountincome values(";</p><p>  sql2 += incomeId + ",'"; // id</p><p>  sql2 += info[0] + "','"; // 金額</p><p>  sql2 += info[1] + "',&#

91、39;"; // 類別</p><p>  sql2 += info[2] + "','"; // 賬戶</p><p>  sql2 += info[3] + "','"; // 時間</p><p>  sql2 += info[4] + "','&quo

92、t;; // 項目</p><p>  sql2 += info[5] + "',"; // 成員</p><p>  sql2 += null + ");"; // 備注</p><p>  financialData.execSQL(sql2);</p><p><b>  } e

93、lse {</b></p><p>  String sql2 = "insert into accountincome values(";</p><p>  sql2 += incomeId + ",'"; // id</p><p>  sql2 += info[0] + "',&#

94、39;"; // 金額</p><p>  sql2 += info[1] + "','"; // 類別</p><p>  sql2 += info[2] + "','"; // 賬戶</p><p>  sql2 += info[3] + "','&quo

95、t;; // 時間</p><p>  sql2 += info[4] + "','"; // 項目</p><p>  sql2 += info[5] + "','"; // 成員</p><p>  sql2 += info[6] + "');"; // 備注&l

96、t;/p><p>  financialData.execSQL(sql2);</p><p><b>  }</b></p><p>  returntrue;</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</

97、p><p>  } finally {</p><p>  if (cur != null) {</p><p>  cur.close();</p><p><b>  }</b></p><p>  financialData.close();</p><p><b&

98、gt;  }</b></p><p>  returnfalse;</p><p><b>  }</b></p><p><b>  // 獲得支付時間</b></p><p>  publicstatic String[] getPayDateStr() {</p>&

99、lt;p>  SQLiteDatabase financialData = null;</p><p>  Cursor cur = null;</p><p>  financialData = SQLiteDatabase.openDatabase(</p><p>  "/data/data/com.bn.financial_assistant

100、/financialdata", null,</p><p>  SQLiteDatabase.OPEN_READONLY);</p><p>  inttNum = -1;</p><p><b>  try {</b></p><p>  String sql = "select count(ti

101、mepay) from accountpay;";</p><p>  cur = financialData.rawQuery(sql, null);</p><p>  if (cur.moveToFirst()) {</p><p>  tNum = cur.getInt(0);</p><p><b>  } el

102、se {</b></p><p><b>  tNum = 0;</b></p><p><b>  }</b></p><p>  cur = null;</p><p>  } catch (Exception e) {</p><p>  e.printSt

103、ackTrace();</p><p><b>  }</b></p><p>  String[] payTime = new String[tNum];</p><p><b>  try {</b></p><p>  String sql2 = "select timepay fr

104、om accountpay;";</p><p>  cur = financialData.rawQuery(sql2, null);</p><p>  intcount = 0;</p><p>  while (cur.moveToNext()) {</p><p>  payTime[count++] = cur.getS

105、tring(0);</p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p>  } finally {</p><p>  if (cur != null) {<

106、/p><p>  cur.close();</p><p><b>  }</b></p><p>  financialData.close();</p><p><b>  }</b></p><p>  returnpayTime;</p><p>

107、<b>  }</b></p><p><b>  // 獲得支付類別</b></p><p>  publicstatic String[] getPayCategoryStr() {</p><p>  SQLiteDatabase financialData = null;</p><p> 

108、 Cursor cur = null;</p><p>  financialData = SQLiteDatabase.openDatabase(</p><p>  "/data/data/com.bn.financial_assistant/financialdata", null,</p><p>  SQLiteDatabase.OPE

109、N_READONLY);</p><p>  intcNum = -1;</p><p><b>  try {</b></p><p>  String sql = "select count(categorypay) from accountpay;";</p><p>  cur = finan

110、cialData.rawQuery(sql, null);</p><p>  if (cur.moveToFirst()) {</p><p>  cNum = cur.getInt(0);</p><p><b>  } else {</b></p><p><b>  cNum = 0;</b>

111、;</p><p><b>  }</b></p><p>  cur = null;</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p>

112、<p>  String[] payCategory = new String[cNum];</p><p><b>  try {</b></p><p>  String sql2 = "select categorypay from accountpay;";</p><p>  cur = financ

113、ialData.rawQuery(sql2, null);</p><p>  intcount = 0;</p><p>  while (cur.moveToNext()) {</p><p>  payCategory[count++] = cur.getString(0);</p><p><b>  }</b>

114、</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p>  } finally {</p><p>  if (cur != null) {</p><p>  cur.close();</p><p>

115、<b>  }</b></p><p>  financialData.close();</p><p><b>  }</b></p><p>  returnpayCategory;</p><p><b>  }</b></p><p><b

116、>  // 獲得支付金額</b></p><p>  publicstatic String[] getPayMoneyStr() {</p><p>  SQLiteDatabase financialData = null;</p><p>  Cursor cur = null;</p><p>  financial

117、Data = SQLiteDatabase.openDatabase(</p><p>  "/data/data/com.bn.financial_assistant/financialdata", null,</p><p>  SQLiteDatabase.OPEN_READONLY);</p><p>  intmNum = -1;<

118、;/p><p><b>  try {</b></p><p>  String sql = "select count(moneypay) from accountpay;";</p><p>  cur = financialData.rawQuery(sql, null);</p><p>  if

119、 (cur.moveToFirst()) {</p><p>  mNum = cur.getInt(0);</p><p><b>  } else {</b></p><p><b>  mNum = 0;</b></p><p><b>  }</b></p>

120、<p>  cur = null;</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  String[] payMoney = new String[mNum];<

121、/p><p><b>  try {</b></p><p>  String sql2 = "select moneypay from accountpay;";</p><p>  cur = financialData.rawQuery(sql2, null);</p><p>  intcount

122、 = 0;</p><p>  while (cur.moveToNext()) {</p><p>  payMoney[count++] = cur.getString(0);</p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p

123、>  e.printStackTrace();</p><p>  } finally {</p><p>  if (cur != null) {</p><p>  cur.close();</p><p><b>  }</b></p><p>  financialData.clos

124、e();</p><p><b>  }</b></p><p>  returnpayMoney;</p><p><b>  }</b></p><p><b>  // 獲得支付</b></p><p>  publicstatic String[

125、] getPayListStr(String tStr, String cStr, String mStr) {</p><p>  SQLiteDatabase financialData = null;</p><p>  Cursor cur = null;</p><p>  String payStr[] = null;</p><p&

溫馨提示

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

評論

0/150

提交評論