畢業(yè)論文--基于android的股票預測游戲_第1頁
已閱讀1頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)論文(設計)</b></p><p>  題目名稱: 基于Android系統(tǒng)的股票預測游戲 </p><p>  題目類型: 畢 業(yè) 論 文 </p><p>  學生姓名:

2、 </p><p>  院 (系): 電 子 信 息 學 院 </p><p>  專業(yè)班級: </p><p>  指導教師: </p>&l

3、t;p>  輔導教師: </p><p>  時 間: 2013年12月20日 至 2014年6月10日 </p><p><b>  目 錄</b></p><p>  畢業(yè)設計(論文)任務書IV</p><p>  畢業(yè)

4、設計開題報告VI</p><p>  **畢業(yè)論文(設計)指導教師評審意見XII</p><p>  **畢業(yè)論文(設計)評閱教師評語XIV</p><p>  **畢業(yè)論文(設計)答辯記錄及成績評定XV</p><p><b>  前 言XVI</b></p><p><b>

5、;  1緒論1</b></p><p><b>  1.2選題背景1</b></p><p>  1.2選題目的與意義1</p><p><b>  2.需求分析2</b></p><p>  2.1可行性分析2</p><p>  2.2功能需求分析

6、3</p><p>  2.3實施方案的選定3</p><p>  2.4游戲流程圖6</p><p><b>  3游戲設計8</b></p><p>  3.1游戲功能結構圖8</p><p>  3.2游戲設計目標8</p><p><b>  3

7、.3功能設計9</b></p><p>  3.3.1服務器端設計9</p><p>  3.3.2客戶端設計9</p><p>  3.4接口設計10</p><p>  3.4.1 用戶接口10</p><p>  3.4.2 外部接口10</p><p>  3.4

8、.3 內部接口10</p><p>  3.5游戲數(shù)據(jù)庫設計11</p><p>  3.5.1數(shù)據(jù)庫設計要點及難點11</p><p>  3.5.2數(shù)據(jù)庫及其表的建立和使用11</p><p>  3.6 應用程序設計及簡略代碼12</p><p>  3.6.1股票查詢及顯示界面的程序設計12<

9、/p><p>  3.6.2股票信息預測界面程序設計13</p><p>  3.6.3創(chuàng)建并操作數(shù)據(jù)庫的程序設計13</p><p>  3.6.4從網絡獲取股票數(shù)據(jù)16</p><p>  3.6.5從網絡獲取股票數(shù)據(jù)17</p><p>  3.7 界面設計18</p><p>  

10、3.7.1股票信息查詢及顯示界面18</p><p>  3.7.2股票信息預測界面22</p><p>  3.7.2結果顯示界面24</p><p><b>  4.游戲實現(xiàn)25</b></p><p>  4.1 類的實現(xiàn)25</p><p>  4.2功能模塊的實現(xiàn)28<

11、/p><p><b>  5.個人總結29</b></p><p><b>  結 論29</b></p><p>  參考文獻及資料:30</p><p><b>  致 謝31</b></p><p>  畢業(yè)設計(論文)任務書</

12、p><p>  1.畢業(yè)設計(論文)題目:</p><p>  基于Android的股票預測游戲</p><p>  2.畢業(yè)設計(論文)起止時間:</p><p>  2013年12月10日-2014年6月10日</p><p>  3.畢業(yè)設計(論文)所需資料及原始數(shù)據(jù)(指導教師選定部分)</p><

13、;p>  [1]張健,《7步學會看盤》,北京:中國言實出版社,2008.</p><p>  [2]張健,《新股民看盤操作細節(jié)》,北京:中國言實出版社,2007。</p><p>  [3]范江京,《K線精解從入門到實戰(zhàn)》,北京:機械工業(yè)出版社,2010.</p><p>  [4]凱文,《K線贏利實戰(zhàn)技法》,深圳:海天出版社,2011.</p>

14、<p>  [5]Rick Rogers,Jobn Lombardo,李耀亮譯,《Android應用開發(fā)》,北京:人民郵電出版社,2010.</p><p>  [6]朱桂英,《Android開發(fā)應用從入門到精通》,北京:中國鐵道出版社,2011.</p><p>  [7]邱太欽,《 K線技術實戰(zhàn)精髓》,北京:地震出版社,2008</p><p>  

15、[8]電腦報編著,《中國新股民實戰(zhàn)賺錢策略》:K線圖從入門到精通,汕頭:汕頭大學出版社,2007</p><p>  [9]周家勛, 蔡瑞桃,《 K線之窗:股票實戰(zhàn)跟蹤》,北京:中國科學技術出版社,2006</p><p>  [10]吳亞峰, 蘇亞光,《 Android 2.0游戲開發(fā)實戰(zhàn)寶典》,北京:人民郵電出版社,2010</p><p>  [11]吳亞峰,

16、 杜化美, 蘇亞光,《 Android編程典型實例與項目開發(fā)》,北京:電子工業(yè)出版社,2011</p><p>  [12]蔣耘晨,《 Android系統(tǒng)原理和實戰(zhàn)應用》,北京:北京理工大學出版社,2011</p><p>  4.畢業(yè)設計(論文)應完成的主要內容</p><p>  本題目主要是利用股票的K線的做勢進行判斷的游戲。主要實現(xiàn)的內容有:</p&g

17、t;<p> ?。?)了解股票交易流程及K線圖的信號意義</p><p> ?。?)獲取股票實時數(shù)據(jù)及歷史數(shù)據(jù)</p><p> ?。?)繪制股票K線圖</p><p>  (4)K線圖界面與用戶的交互設計</p><p>  5.畢業(yè)設計(論文)的目標及具體要求</p><p>  要求學生了解股票和K

18、線的基本知識和Java 語言解析XML文件知識,熟悉Jave編程和Eclipse開發(fā)環(huán)境。</p><p>  本課題要求通過網絡獲取股票的數(shù)據(jù),并畫出兩根K線,用戶判斷趨勢后,根據(jù)實際情況給出答案,接著顯示下一根K線,讓用戶繼續(xù)判斷,最后給出用戶的準確率。</p><p>  在此過程中要求學生掌握Android系統(tǒng)的開發(fā)方法與流程,了解Android系統(tǒng)的結構,提高學生的編程能力和設計

19、動手能力,提高實踐水平,撰寫畢業(yè)設計論文。</p><p>  6.完成畢業(yè)設計(論文)所需的條件及上機時數(shù)要求</p><p>  1)Android手機一部</p><p><b>  2)微型計算機一臺</b></p><p><b>  3)圖書館及網絡</b></p><

20、;p><b>  4)參考資料</b></p><p><b>  上機250學</b></p><p>  任務書批準日期 年 月 日 教研室(系)主任(簽字) </p><p><b>  **</b></p>&

21、lt;p><b>  畢業(yè)設計開題報告</b></p><p>  題 目 名 稱 基于android的股票預測游戲程序設計 </p><p>  題 目 類 別 畢業(yè)設計 </p><p>  學 院(系) 電子信息學院 </p&g

22、t;<p>  專 業(yè) 班 級 信工11001班 </p><p><b>  一、題目來源</b></p><p><b>  生產/社會實際</b></p><p><b>  研究目的及意義</b></p><p> 

23、 隨著信息化時代的到來,移動通信和互聯(lián)網以及手機制造技術的發(fā)展已經成為成全球發(fā)展最快、潛力最大、前景最誘人的三大行業(yè)。智能手機的普及,大大加速了移動互聯(lián)網發(fā)展,網民從PC端向手機端的遷移趨勢越來越明顯,手機成為互聯(lián)網終端的王者已是鐵板釘釘,而Android的發(fā)展已經占得先機。到2013年第二季度,安卓終端在全球的裝機量已超過Windows終端的裝機量,Android終端取代PC機成為第一上網設備。而到2014年,android終端出貨量

24、達9.5億部,僅android平板電腦就有3.15億部,而PC機出貨量已不足3億臺。</p><p>  正是因為手機通訊為人們帶來很大的便利,很多人都希望在移動的過程中使用手機快速接入互聯(lián)網,繼而來管理自己日常生活中遇到的問題。</p><p>  股票是很多人投資理財?shù)倪x擇之一,根據(jù)非官方統(tǒng)計,截止2014年第一季度,中國有近1.72億股民。這些股民在自己的手機或平板上管理自己的股票。

25、此外還有眾多的股票發(fā)燒友在手機或平板上玩股票類游戲。</p><p>  三、參考文獻及資料:</p><p>  [1]張健,《7步學會看盤》,北京:中國言實出版社,2008.</p><p>  [2]張健,《新股民看盤操作細節(jié)》,北京:中國言實出版社,2007.</p><p>  [3]范江京,《K線精解從入門到實戰(zhàn)》,北京:機械工業(yè)

26、出版社,2010.</p><p>  [4]凱文,《K線贏利實戰(zhàn)技法》,深圳:海天出版社,2011.</p><p>  [5]Rick Rogers,Jobn Lombardo,李耀亮譯,《Android應用開發(fā)》,北京:人民郵電出版社,2010.</p><p>  [6]朱桂英,《Android開發(fā)應用從入門到精通》,北京:中國鐵道出版社,2011.<

27、/p><p>  [7]邱太欽,《 K線技術實戰(zhàn)精髓》,北京:地震出版社,2008</p><p>  [8]電腦報編著,《中國新股民實戰(zhàn)賺錢策略》:K線圖從入門到精通,汕頭:汕頭大學出版社,2007</p><p>  [9]周家勛, 蔡瑞桃,《 K線之窗:股票實戰(zhàn)跟蹤》,北京:中國科學技術出版社,2006</p><p>  [10]吳亞峰,

28、 蘇亞光,《 Android 2.0游戲開發(fā)實戰(zhàn)寶典》,北京:人民郵電出版社,2010</p><p>  [11]吳亞峰, 杜化美, 蘇亞光,《 Android編程典型實例與項目開發(fā)》,北京:電子工業(yè)出版社,2011</p><p>  [12]蔣耘晨,《 Android系統(tǒng)原理和實戰(zhàn)應用》,北京:北京理工大學出版社,2011</p><p>  [13]安卓巴士

29、論壇《老羅Android開發(fā)視頻教程-安卓巴士》</p><p>  四、國內外現(xiàn)狀和發(fā)展趨勢與課題研究方向</p><p>  Android系統(tǒng)由于其開源、利于創(chuàng)新、應用程序發(fā)展迅速、智能手機廠家助力、運營商的鼎力支持、機型多硬件配置優(yōu)良等等優(yōu)點,使得android終端產品甫一出現(xiàn),便占據(jù)了操作系統(tǒng)的半壁江山,現(xiàn)在在全球市場占有率已經達到了75%,而在中國android手機市場份額已超

30、過86%,并且還有繼續(xù)發(fā)力的趨勢。</p><p>  因為手機通訊為人們帶來很大的便利,很多人都希望在移動的過程中使用手機快速接入互聯(lián)網,繼而來管理自己日常生活中遇到的問題,而很多股民也希望能在android手機上管理自己的股票。廣大業(yè)余玩家也希望在工作生活之余,能在手機或平板上玩一下股票游戲。</p><p>  本課題主要研究方向就是在android系統(tǒng)上開發(fā)出一款針對廣大玩家的股票

31、預測游戲,它能夠讓股票玩家在工作生活之余輕松一樂,該游戲具有查看股票K線圖及買進賣出股票等各種功能。</p><p>  五、主要重難點問題及解決思路</p><p>  程序設計中主要有以下難點:獲取股票數(shù)據(jù)、圖形用戶界面。</p><p>  本設計是從數(shù)據(jù)庫中獲取數(shù)據(jù),采用輕量級的數(shù)據(jù)庫SQLite數(shù)據(jù)庫。Android 平臺提供給我們一個數(shù)據(jù)庫輔助類來創(chuàng)建或

32、打開數(shù)據(jù)庫,這個輔助類繼承自SQLiteOpenHelper類,在該類的構造器中,調用Context中的方法創(chuàng)建并打開一個指定名稱的數(shù)據(jù)庫對象。</p><p>  Android應用程序的開發(fā)工具是JAVA語言,使用JAVA開發(fā)用戶界面,將界面上的信息顯示給用戶,由用戶進行操作。</p><p>  如圖1所示為游戲設計流程圖。</p><p><b>

33、  否</b></p><p><b>  是</b></p><p>  圖1股票信息查詢及顯示功能</p><p>  圖2股票信息預測功能</p><p>  圖2-6股票信息顯示功能</p><p><b>  工作條件</b></p>&l

34、t;p>  Android手機一部</p><p><b>  計算機一臺</b></p><p>  JAVA集成開發(fā)環(huán)境eclipse</p><p>  Android SDK4.4.2</p><p><b>  圖書館及網絡 </b></p><p><

35、b>  參考資料</b></p><p><b>  進度安排</b></p><p>  3周:聯(lián)系指導老師,了解畢業(yè)設計相關事宜,領取任務書</p><p>  4周~6周:熟悉eclipse,java,xml等相關知識</p><p>  7周~9周:查閱相關資料序,了解股票及K線圖的相關知識&l

36、t;/p><p>  10周:提交開題報告</p><p>  11周~14周:搭建壞境,程序設計及調試</p><p>  15周:畢業(yè)設計及答辯。</p><p><b>  前 言</b></p><p>  隨著信息化時代的到來,移動通信和互聯(lián)網以及手機制造技術的發(fā)展已經成為成全球發(fā)展最快、潛

37、力最大、前景最誘人的三大行業(yè)。智能手機的普及,大大加速了移動互聯(lián)網發(fā)展,網民從PC端向手機端的遷移趨勢越來越明顯,手機成為互聯(lián)網終端的王者已是鐵板釘釘。</p><p>  Android一詞的本義是指“機器人”。2003年,AndyRubin在美國成立了一家以Android為名的小公司,并創(chuàng)立了Android手機操作系統(tǒng)。2005年,Google收購Android公司之后對其進行開發(fā),并于2007年11月5日發(fā)

38、布了基于Linux平臺的開源手機操作系統(tǒng)一Android。為了推廣Android平臺技術,Google和幾十個手機相關企業(yè)建立了開放手機聯(lián)盟,后期主要由開放手機聯(lián)盟開發(fā)。</p><p>  2008年9月22日,第一款Google手機—T—Mobile G1在紐約由美國運營商T.Mobile USA正式發(fā)布,該由宏達電制造的手機是世界上首部使用Android操作系統(tǒng)的手機。</p><p&g

39、t;  Android開發(fā)平臺由操作系統(tǒng)、中間件、用戶界面和應用軟件組成,被稱是首個針對移動終端開發(fā)的真正開放而完整的移動軟件。</p><p>  中國作為開放手機聯(lián)盟的初始成員之一,國內很多廠商紛紛展開了Android</p><p>  的開發(fā)與研究,陸續(xù)推出了采用Android系統(tǒng)的電子產品。Android不僅有著成熟而眾多的消費者,而且社區(qū)的發(fā)展也很紅火,這些都為Android在

40、中國的普及做了很好的推廣作用。</p><p>  android手機發(fā)展迅速,成為主流,android比原來手機系統(tǒng)具有很大優(yōu)勢,其友好的用戶界面、簡易流暢的操作模式帶來了前所未有的用戶體驗,其開源性、可移植性、高效的開發(fā)環(huán)境對android的開發(fā)者提供了很大的便利,所以android手機的興起是必然的。到2013年第二季度,安卓終端在全球的裝機量已超過Windows終端的裝機量,Android終端取代PC機成

41、為第一上網設備。而到2014年,android終端出貨量達9.5億部,僅android平板電腦就有3.15億部,而</p><p>  PC機出貨量已不足3億臺。</p><p>  正是因為手機通訊為人們帶來很大的便利,很多人都希望在移動的過程中使用手機快速接入互聯(lián)網,繼而來管理自己日常生活中遇到的問題。</p><p>  股票是很多人投資理財?shù)倪x擇之一,根據(jù)非

42、官方統(tǒng)計,截止2014年第一季度,中國有近1.72億股民。這些股民在自己的手機或平板上管理自己的股票。此外還有眾多的股票發(fā)燒友在手機或平板上玩股票類游戲。</p><p><b>  1緒論</b></p><p><b>  1.2選題背景</b></p><p>  21世紀人類將全面進入信息社會,信息技術以令人咋舌的

43、速度飛速發(fā)展,深入到全球各地和各個領域,它對全球的影響是相當巨大的,其巨大的力量改變了人類的生活,“數(shù)字化”的概念應運而生,數(shù)字產品越來越貼近人們的生活,隨之而來的就是人們不斷的追求更多的便捷享受,更多的娛樂氛圍。十年前的手機僅僅作為一個通信設備出現(xiàn)在人們面前,但是今天,手機儼然成為了個人的“迷你計算機”,各種各樣的手機,紛亂復雜的程序軟件,不斷改變著用戶的使用態(tài)度,不斷催生著人們的好奇心。</p><p>  

44、2007年11月05日,Google宣布基于linux平臺的開源手機操作系統(tǒng):android。該平臺底層以linux內核工作為基礎,只提供基本功能,中間包括函數(shù)庫和虛擬機,由Java開發(fā)。最上層是各種應用軟件,號稱是首個為移動終端打造的真正開放和完整的移動軟件。自2008年9月22日,第一款android手機面世以來,至今市場占有率已超越symbian、iphone,其發(fā)展速度驚人,良好的用戶體驗和強大的應用軟件庫是其發(fā)展迅猛的重要原因

45、。</p><p>  手機成為互聯(lián)網終端的王者已是鐵板釘釘,而Android的發(fā)展已經占得先機。到2013年第二季度,安卓終端在全球的裝機量已超過Windows終端的裝機量,Android終端取代PC機成為第一上網設備。而到2014年,android終端出貨量達9.5億部,僅android平板電腦就有3.15億部,而PC機出貨量已不足3億臺。</p><p>  正是因為手機通訊為人們帶

46、來很大的便利,很多人都希望在移動的過程中使用手機快速接入互聯(lián)網,繼而來管理自己日常生活中遇到的問題。</p><p>  股票是很多人投資理財?shù)倪x擇之一,根據(jù)非官方統(tǒng)計,截止2014年第一季度,中國有近1.72億股民。這些股民在自己的手機或平板上管理自己的股票。此外還有眾多的股票發(fā)燒友在手機或平板上玩股票類游戲。</p><p>  1.2選題目的與意義</p><p&

47、gt;  Android平臺的開放性等特點大大促使了技術的創(chuàng)新,由于其跨平臺開發(fā)的特點,同一項目可以運行于不同的終端設備,有助于降低開發(fā)成本。同時還可以使運營商能方便地定制特色化的產品,形成自己的競爭優(yōu)勢,這將使手機制造商具有更強的吸引力和市場發(fā)展?jié)摿Α?lt;/p><p>  本文的研究目的說明如下:</p><p>  1、了解國內外Android系統(tǒng)的應用現(xiàn)狀,對Android開源手機操

48、作系統(tǒng)及相關技術進行理論學習。熟悉Android開發(fā)環(huán)境平臺,學習Java編程語言。</p><p>  2、詳細分析基于Linux平臺的Android開源手機操作系統(tǒng)及其相關技術,在此基礎上明確系統(tǒng)的設計目標和總體框架。針對Android系統(tǒng)中的股票預測游戲設計與實現(xiàn)為主題,定義需求,設計軟件架構、控件、UI交互界面、數(shù)據(jù)庫和網絡等方面。</p><p>  3、設計并實現(xiàn)一款基于And

49、roid平臺的股票預測游戲。本游戲用一種比較先進的機制來預測股票趨勢,使用戶可以更方便、更準確、更直接的對股票未來的漲跌趨勢有所了解。</p><p><b>  2.需求分析</b></p><p><b>  2.1可行性分析</b></p><p>  首先進行游戲的可行性分析??尚行苑治鍪窃谀壳笆袌鲆延械念愃朴螒蛘{

50、查基礎上,辯證新游戲的研發(fā)是否具備開發(fā)必要性和可能性,對新游戲的研發(fā)從技術、經濟、社會因素等多個方面進行相關的分析和研究,以避免造成不必要的投資失誤,保證和提高新游戲開發(fā)成功的把握??尚行匝芯康哪康木褪且宰钚〉臅r間、金錢代價確定疑難問題是否能夠妥善解決。</p><p>  數(shù)據(jù)存儲在開發(fā)中是使用最頻繁的,Android平臺中實現(xiàn)數(shù)據(jù)存儲的有五種方式,分別是:</p><p>  1、Sh

51、aredPreferences存儲數(shù)據(jù)。除SQLite數(shù)據(jù)庫外,另一種常用的數(shù)據(jù)存儲方式,其本質就是一個xml文件,常用于存儲較簡單的參數(shù)設置。</p><p>  2、文件存儲數(shù)據(jù)。即常說的文件(I/O)存儲方法,常用語存儲大數(shù)量的數(shù)據(jù),但是缺點是更新數(shù)據(jù)將是一件困難的事情。</p><p>  3、SQLite數(shù)據(jù)庫存儲數(shù)據(jù)。SQLite是一個輕量級的數(shù)據(jù)庫,支持基本SQL語法,是常被

52、采用的一種數(shù)據(jù)存儲方式。Android為此數(shù)據(jù)庫提供了一個名為SQLiteDatabase的類,封裝了一些操作數(shù)據(jù)庫的API。</p><p>  4、ComentProvider。Android系統(tǒng)中能實現(xiàn)所有應用程序共享的一種數(shù)據(jù)存儲方式,由于數(shù)據(jù)通常在各應用間是互相私密的,所以此存儲方式較少使用,但是其又是必不可少的一種存儲方式。例如音頻,視頻,圖片和通訊錄,一般都可以采用此種方式進行存儲。</p&g

53、t;<p>  5、網絡存儲數(shù)據(jù)。通過網絡來實現(xiàn)數(shù)據(jù)的存儲和獲取。</p><p>  基于以上原因,本游戲采用java開發(fā)技術進行開發(fā),數(shù)據(jù)庫采用android手機穩(wěn)定的SQLite數(shù)據(jù)庫,同時保持數(shù)據(jù)的完整性。SQLite數(shù)據(jù)庫的靈活性、安全性和易用性為數(shù)據(jù)庫編程提供了良好的條件。</p><p>  因此,游戲的軟件開發(fā)平臺成熟是非常可行的。在硬件方面,科技飛速發(fā)展,硬

54、件更新的速度日新月異,容量變得越來越大,可靠性變得越來越高,價格變得越來越低,其硬件水平完全能滿足此類系統(tǒng)開發(fā)和使用的需要。</p><p>  合理的建立數(shù)據(jù)庫,開發(fā)股票預測游戲實現(xiàn)安全性、高效性管理在技術上是可行的。</p><p>  經濟要求方面,本游戲是畢業(yè)設計項目,不需要經費預算等。一臺中配電腦、可上網即可。</p><p>  綜上所述,此游戲開發(fā)在技

55、術和經濟以及社會因素等方面都是可行,并且投入少量的工作就能達到明顯的效果。因此系統(tǒng)的開發(fā)是完全可行的,而且是十分有必要的。</p><p><b>  2.2功能需求分析</b></p><p><b>  主要模塊:</b></p><p>  股票信息查詢及顯示模塊:用戶輸入股票代碼,然后游戲按照股票代碼去搜索是否有該

56、股票。如果沒有則游戲會提示重新輸入有效代碼,如果有該股票,則從網絡上下載并解析xml,再顯示該股票上一個交易日的的信息(如開盤價,收盤價,最高價,最低價)及K線圖,此功能的實現(xiàn)需要連接網絡,與網絡服務器連接。</p><p>  股票信息預測模塊:根據(jù)該股票上一個交易日的信息,預測該股票這一個交易日的趨勢,即是漲還是跌。</p><p>  結果顯示模塊:顯示這一個交易日的該股票的K線圖。

57、</p><p>  2.3實施方案的選定</p><p><b>  1.開發(fā)平臺的選擇</b></p><p>  Android系統(tǒng)的發(fā)展勢頭迅猛,讓Symbian系統(tǒng)手機措手不及,android智能手機數(shù)量已超過iPhone也成事實。Android的開發(fā)是開源的,安卓開發(fā)更具可行前提,蘋果機封閉源代碼,使得在眾多智能手機廠家中一枝獨秀,

58、但是有些過于封閉;而安卓機近期風生水起,其開源性給開發(fā)者給了極大的優(yōu)勢,雖然目前軟件開發(fā)有些混亂,但相信以后會推出規(guī)范化的操作系統(tǒng)。下面我們來簡單了解一下蘋果和android的開發(fā)要求:</p><p>  iPhone開發(fā)環(huán)境的要求 </p><p><b>  硬件: </b></p><p>  蘋果電腦, 必須是基于Intel的Maci

59、ntosh計算機。</p><p>  iPhone或iPod Touch,主要用來測試編寫好的程序。 </p><p><b>  軟件: </b></p><p>  蘋果系統(tǒng)MacOS。 </p><p>  iPhone SDK,SDK中包含蘋果公司的集成開發(fā)環(huán)境包括Xcode,iPhone模擬器及其它一些開發(fā)工

60、具。</p><p>  Xcode:Mac OS X應用及開發(fā)iPhone OS,需要在Mac OS X運行Xcode的開發(fā)工具 Xcode是Apple的開發(fā)工具套件,其支持開發(fā)項目管理、編輯代碼、構建可執(zhí)行程序、代碼級的調試、代碼版本管理、性能的調優(yōu)等等。 </p><p>  Interface Builder:完全可視化地設計應用程序的用戶界面,這是其一大優(yōu)勢。</p>

61、<p>  Android開發(fā)環(huán)境的要求 </p><p>  硬件:一臺電腦(配置中等,內存要大)</p><p>  軟件:JDK:是整個Java的核心,包括了Java運行環(huán)境,Java工具和Java基礎的類庫。</p><p>  Eclipse:是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務的集合,

62、用于通過插件組件集成構建開發(fā)環(huán)境。Android SDK:Android SDK 指的既是Android專屬的軟件開發(fā)工具包。</p><p>  ADT:在Eclipse下開發(fā)工具的升級和下載工具。從比較中android的必要條件要少,與iPhone開發(fā)相比更具有優(yōu)勢。</p><p>  2008 年9月發(fā)布的Android第一版</p><p>  

63、2013年10月30日,Android4.2(它沿用了4.1版“果凍豆”(Jelly Bean)這一名稱,與Android 4.1相似性很高,但仍在細節(jié)之后做了一些改進與升級,比較重要的包括:Photo Sphere全景拍照;鍵盤手勢輸入;Miracast無線顯示共享;手勢放大縮小屏幕,以及為盲人用戶設計的語音輸出和手勢模式導航功能等)版本軟件開發(fā)工具包發(fā)布,Android 4.2在很大的層面上修正了原來Android系統(tǒng)在多個方面所存

64、在的問題,此版本系統(tǒng)不僅僅局限于它在之前Android系統(tǒng)的不足進行修正和優(yōu)化,同時也帶來了很多全新的功能。下面我們一起來看看Android 4.2到底給我們帶來了那些方面的改變:</p><p>  1、整體性能有大幅度的提升。</p><p>  2、3G網絡共享功能。</p><p>  3、Flash的支持。</p><p><

65、b>  App2sd功能。</b></p><p>  5、全新的軟件商店。</p><p>  6、更多的Web應用API接口的開發(fā)。</p><p><b>  1.開發(fā)語言的選擇</b></p><p>  Android主流開發(fā)語言是Java,但也可以使用C、C++開發(fā),即使用Android N

66、DK,不過使用NDK編程有一些劣勢,例如程序會變的更加復雜,兼容性無法保障,無法訪問Framework API,Debug難度更大等。所以一般還是用Java。 </p><p><b>  3.數(shù)據(jù)庫的選擇</b></p><p>  采用SQLite數(shù)據(jù)庫,SQLite是輕量級的、嵌入式的、關系型數(shù)據(jù)庫,目前已經在iPhone、Android等手機系統(tǒng)中使用,SQL

67、ite可移植性非常好,很容易使用,很小,而且高效、可靠。SQLite嵌入到使用它的應用程序中,它們共用相同的進程空間,而不是單獨的一個進程。從外部看,它并不同一個RDBMS,但在進程內部,但是它是完整的,自包含的數(shù)據(jù)庫引擎。在android中當需要操作SQLite數(shù)據(jù)庫的時候需要得到一個SQLiteOpenHelper對象,而SQLiteOpenHelper是一個抽象類,開發(fā)時需要繼承這個類,并實現(xiàn)該類中的一些方法。</p>

68、<p><b>  4.開發(fā)模式的選擇</b></p><p>  android的網絡編程主要分為2種:一種是基于socket的,另一種是基于http協(xié)議的。第一種方法:基于socket的用法,先啟動服務器端的一個socket,用于偵聽請求、取得輸入和輸出,客戶端發(fā)起一個socket連接,用于取得輸入和輸出,socket的交互是通過流(輸入輸出流)來完成的;第二種方法:基于h

69、ttp協(xié),一般是發(fā)送請求到某個應用服務器,此時需要URL,設置緩存獲得輸出流便于服務器發(fā)送信息,同時向流里寫請求參數(shù),用于獲得輸入流,取數(shù)據(jù)。從這兩種網絡編程的方式和本次畢設項目的功能來看,股票實時更新必須利用網絡上的webservice獲取數(shù)據(jù),獲取之后進行相應的操作,所以采用第二種方式。</p><p><b>  5.開發(fā)環(huán)境</b></p><p>  操作系

70、統(tǒng):Android 4.2</p><p><b>  開發(fā)語言:Java</b></p><p>  開發(fā)工具:Eclipse</p><p>  數(shù)據(jù)庫:SQLite</p><p>  2.4游戲流程圖 </p><p>  (1)查詢及顯示功能</p><p&

71、gt;<b>  如圖2-1所示</b></p><p><b>  否</b></p><p><b>  是</b></p><p>  圖2-1 股票信息查詢及顯示功能</p><p>  (2)股票信息預測功能</p><p><b>

72、  如圖2-2所示</b></p><p>  圖2-5股票信息預測功能</p><p><b>  股票信息顯示功能</b></p><p>  圖2-6股票信息顯示功能</p><p><b>  3游戲設計</b></p><p>  3.1游戲功能結構圖&

73、lt;/p><p>  本游戲包括:股票信息查詢及顯示模塊、股票信息預測模塊、結果顯示3個模塊。如圖3-1 為游戲功能結構圖。</p><p>  圖3-1 系統(tǒng)功能結構圖</p><p><b>  3.2游戲設計目標</b></p><p>  了解股票和K線的基本知識和Java 語言解析XML文件知識,熟悉Jave編程

74、和Eclipse開發(fā)環(huán)境。預期本游戲將通過對股票信息查詢及顯示模塊、股票信息預測模塊、結果顯示3個模塊的實現(xiàn),能基本滿足用戶的需求,使用戶能夠開心、盡興的玩本游戲。自己熟悉了開發(fā)過程,同時生成各個階段的文檔,完成畢業(yè)設計。</p><p><b>  3.3功能設計</b></p><p>  3.3.1服務器端設計</p><p>  服務器

75、端在客戶端與服務器端的數(shù)據(jù)交換中主要負責響應客戶端向服務器端發(fā)送查詢請求,然后將所需信息反饋給客戶端(包括圖片和文字等信息)。客戶端與服務器之間的通信主要采取HTTP協(xié)議的POST請求,協(xié)議數(shù)據(jù)按照XML格式組裝,采用uTF一8編碼格式,接入方式支持CMWAP/CMNET/WLAN三種網絡接入方式。本文客戶端通過HTTP請求新浪財經服務器原來已存在的相應的接口,文中所使用的網絡協(xié)議只是遵循了新浪財經官方服務器提供的相關協(xié)議,介于本文只是

76、實現(xiàn)和遵從該項技術而不涉及此技術的設計工作,因此不加以詳細介紹。</p><p>  3.3.2客戶端設計</p><p>  股票預測游戲客戶端的設計模塊分為股票列表模塊、股票設置模塊、股票查詢模塊和股票詳情模塊。</p><p>  (1)股票信息查詢及顯示模塊:股票信息查詢及顯示模塊:用戶輸入股票代碼,然后游戲按照股票代碼去搜索是否有該股票。如果沒有則游戲會提

77、示重新輸入有效代碼,如果有該股票,則從網絡上下載并解析xml,再顯示該股票上一個交易日的的信息(如開盤價,收盤價,最高價,最低價)及K線圖,此功能的實現(xiàn)需要連接網絡,與網絡服務器連接。</p><p><b>  功能概述:</b></p><p>  需要連接網絡,使用戶掌握股票實時動態(tài)。</p><p><b>  處理流程:&l

78、t;/b></p><p><b>  1、輸入股票代碼。</b></p><p>  2、當本游戲沒有連上網絡時,本游戲在經過后臺處理后,在界面上不會顯示顯示任何信息。</p><p>  3、當本游戲連上網絡后,游戲會判斷該代碼所表示的股票是否存在,當該代碼所表示的股票不存在時,游戲會提示用戶該股票不存在;當代碼所表示的股票存在時,游

79、戲進行下一步。</p><p>  4、從網絡上下載并解析xml文件。</p><p>  5、游戲會顯示該股票上一個交易日的信息(開盤價、收盤價、最高價、最低價)。</p><p>  6、點擊android手機的菜單鍵,界面上會出現(xiàn)一下幾個選項:刷新、K線圖、關于、退出等,再點擊K線圖就會顯示該股票的前幾個交易日的K線圖;點擊刷新,就會顯示股票的即時信息;點擊關

80、于,就會出現(xiàn)本游戲的相關信息;點擊退出,就會退出該游戲。</p><p> ?。?)股票信息預測模塊:根據(jù)該股票上一個交易日的信息,股票信息預測模塊:根據(jù)該股票上一個交易日的信息,預測該股票這一個交易日的趨勢,即是漲還是跌。</p><p><b>  功能概述:</b></p><p>  用戶預測該股票這個交易日的信息</p>

81、<p><b>  處理流程:</b></p><p>  1、在android手機的右下角點擊菜單鍵,會出現(xiàn)幾個選項,點擊“預測”這一選項,手機屏幕就會就會顯示成預測界面。</p><p>  2、用戶仔細分析該股票上一個交易日的信息。</p><p>  3、用戶預測該股票這一個交易日的漲跌趨勢,并且選擇點擊“漲”,“跌”兩個按

82、鈕的其中一個。</p><p>  (3)結果顯示模塊:顯示這一個交易日的該股票的K線圖。</p><p><b>  功能概述:</b></p><p>  游戲顯示該股票這個交易日的信息</p><p><b>  處理流程:</b></p><p>  1、從網絡獲取股

83、票圖片。</p><p><b>  3.4接口設計 </b></p><p>  3.4.1 用戶接口</p><p>  用戶接口:以股票代碼輸入界面為主,用戶通過該界面的提示,輸入相應的股票代碼,游戲經過信息處理,以顯示的方式返回給用戶。</p><p>  3.4.2 外部接口</p><p&

84、gt;  硬件接口:主要是顯示屏、鍵盤輸入的操作,由系統(tǒng)內部操作,本系統(tǒng)只需調用相關的操作方法,未涉及到sd卡的操作。</p><p>  網絡接口:本游戲有股票信息查詢及預測功能,需要連接網絡,股票信息(開盤價、收盤價、最高價、最低價)及K線圖從網絡上獲取,接口由webservice提供,游戲只需通過地址調用接口即可。</p><p>  3.4.3 內部接口</p>&l

85、t;p>  游戲主要分為股票信息查詢及顯示模塊,股票信息預測模塊,結果顯示模塊等3個模塊。其中的各模塊之間的接口、調用關系,以及模塊間的數(shù)據(jù)傳遞關系描述如下:</p><p>  股票信息查詢及顯示模塊:當股票代碼輸入界面顯示出該股票生一個交易日的信息(開盤價、收盤價、最高價。最低價等)后,再點擊android手機的菜單鍵,界面上會出現(xiàn)一下幾個選項:刷新、K線圖、關于、退出等,再點擊K線圖就會顯示該股票的前

86、幾個交易日的K線圖,在點擊android手機的菜單鍵,會顯示預測人這一選項,點擊該選項,就會出現(xiàn)預測界面。</p><p>  股票信息預測模塊:根據(jù)該股票上一個交易日的信息,股票信息預測模塊:根據(jù)該股票上一個交易日的信息,預測該股票這一個交易日的趨勢,即是漲還是跌,再點擊菜單鍵,就會出現(xiàn)K線圖這一選項,在點擊這一選項,就會顯示該股票這一個交易日的K線圖。</p><p>  3.5游戲數(shù)

87、據(jù)庫設計</p><p>  3.5.1數(shù)據(jù)庫設計要點及難點</p><p>  在信息管理系統(tǒng)中,數(shù)據(jù)庫管理在有著非常重要的地位。一個健全良好的數(shù)據(jù)庫設計,可以大幅度提高的數(shù)據(jù)信息存儲效率,從而保證數(shù)據(jù)的完整性和一致性,與此同時一個合理成熟的數(shù)據(jù)庫結構有利于應用開發(fā)程序提高系統(tǒng)的運行、實現(xiàn)和響應速度。本游戲采用SQLite作為后臺數(shù)據(jù)庫,實現(xiàn)小數(shù)據(jù)量存儲和高效地運行速度。數(shù)據(jù)庫設計有以下

88、要點和難點:</p><p> ?。?)第一階段的設計任務:首先是進行系統(tǒng)調研,必不可少,然后收集和分析用戶需求,研究其中的聯(lián)系完成數(shù)據(jù)庫的概念設計。</p><p> ?。?)第二階段的設計任務:首先是根據(jù)第一階段已完成的概念設計進行數(shù)據(jù)庫的邏輯設計,然后完成E-R模型向邏輯模型轉換。</p><p> ?。?)第三階段設計的任務:首先是根據(jù)第二階段的E-R模型,

89、完成數(shù)據(jù)庫的物理設計,確定表的結構,最終建立數(shù)據(jù)庫模型。</p><p>  3.5.2數(shù)據(jù)庫及其表的建立和使用</p><p>  系統(tǒng)采用SQLite數(shù)據(jù)庫,在設計表時先要準備如下工作:</p><p>  構造函數(shù),調用父類 SQLiteOpenHelper 的構造函數(shù)。這個方法共有四個參數(shù):上下文的環(huán)境(例如,一個 Activity),數(shù)據(jù)庫的名字,一個可選

90、的游標工廠對象(通常是 Null),一個代表你當前正在使用的數(shù)據(jù)庫模型版本的整數(shù)。</p><p>  onCreate()方法,它需要一個 SQLiteDatabase 對象作為參數(shù),根據(jù)需要然后對這個對象進行填充表和初始化數(shù)據(jù),實現(xiàn)數(shù)據(jù)庫表的建立。</p><p>  onUpgrage() 方法,它共有三個參數(shù),一個 是SQLiteDatabase 對象,第二個是舊的版本號和一個新的

91、版本號,這樣你就可以清楚的把一個數(shù)據(jù)庫從舊版本的模型轉變到新版本的模型。</p><p>  3.6 應用程序設計及簡略代碼</p><p>  3.6.1股票查詢及顯示界面的程序設計</p><p>  該界面布局文件命名為main.xml。 </p><p>  <ImageView android:layout_width=&q

92、uot;fill_parent" ....../></p><p>  <TextView android:id="@+id/textView1" ....../></p><p>  /**動態(tài)匹配輸入內容*/</p><p>  <AutoCompleteTextView android:id="@

93、+id/autoTextView" ...... /></p><p>  <ImageButton android:id="@+id/SearchButton" ....../></p><p>  <TextView android:id="@+id/stockName" ...... /></p&g

94、t;<p>  <TextView android:id="@+id/stockId" ...... /></p><p>  <TextView android:id="@+id/priceTime" ...... /></p><p>  <TextView android:id="@+id/

95、newPrice" ...... /></p><p>  <TextView android:id="@+id/openPrice0" ....../></p><p>  <TextView android:id="@+id/upDownPrice" ...... /></p><p&g

96、t;  <TextView android:id="@+id/upDown" ...... /></p><p>  <TextView android:id="@+id/openPrice1" ...... /></p><p>  <TextView android:id="@+id/stockIncre

97、ase1" ....../></p><p>  <TextView android:id="@+id/highestPrice1" ...... /></p><p>  <TextView android:id="@+id/lowestPrice1" ...... /></p><p&g

98、t;  <TextView android:id="@+id/openPrice2" ...... /></p><p>  <TextView android:id="@+id/stockIncrease2"....../></p><p>  <TextView android:id="@+id/highe

99、stPrice2"....../></p><p>  <TextView android:id="@+id/lowestPrice2"....../></p><p>  3.6.2股票信息預測界面程序設計</p><p>  股票信息查詢及顯示界面、股票信息預測界面和結果顯示界面布局的簡略代碼。該界面布局文件命名為

100、fragment_fone.xml。</p><p>  <TextView android:id="@+id/textView1 ....../></p><p>  <TimingView android:id="@+id/timingView" ....../></p><p>  <TextView

101、 android:id="@+id/textView2 ....../></p><p>  <EditText android:id="@+id/stockCode" ....../></p><p>  <TextView android:id="@+id/textView3 ....../></p>

102、<p>  <RadioGroup android:id="@+id/strend"...... ></p><p>  <RadioButton android:id="@+id/strendUp" ....../></p><p>  <RadioButton android:id="@+id/

103、strendDown" ....../> </p><p>  <TextView android:id="@+id/textView4 ....../></p><p>  3.6.3創(chuàng)建并操作數(shù)據(jù)庫的程序設計</p><p>  大家都知道Android平臺提供給我們一個數(shù)據(jù)庫輔助類來創(chuàng)建或打開數(shù)據(jù)庫,這個輔助

104、類繼承自SQLiteOpenHelper類,在該類的 構造器中,調用Context中的方法創(chuàng)建并打開一個指定名稱的數(shù)據(jù)庫對象。繼承和擴展SQLiteOpenHelper類主要做的工作就是重寫以下兩個 方法:</p><p>  onCreate(SQLiteDatabase db) : 當數(shù)據(jù)庫被首次創(chuàng)建時執(zhí)行該方法,一般將創(chuàng)建表等初始化操作在該方法中執(zhí)行。</p><p>  onUpg

105、rade(SQLiteDatabse dv, int oldVersion,int new Version):當打開數(shù)據(jù)庫時傳入的版本號與當前的版本號不同時會調用該方法。</p><p>  除了上述兩個必須要實現(xiàn)的方法外,還可以選擇性地實現(xiàn)onOpen 方法,該方法會在每次打開數(shù)據(jù)庫時被調用。SQLiteOpenHelper 類的基本用法是:當需要創(chuàng)建或打開一個數(shù)據(jù)庫并獲得數(shù)據(jù)庫對象時,首先根據(jù)指定的文件名創(chuàng)建

106、一個輔助對象,然后調用該對象的getWritableDatabase 或 getReadableDatabase方法 獲得SQLiteDatabase 對象。調用getReadableDatabase 方法返回的并不總是只讀數(shù)據(jù)庫對象,一般來說該方法和getWriteableDatabase 方法的返回情況相同,只有在數(shù)據(jù)庫僅開放只讀權限或磁盤已滿時才會返回一個只讀的數(shù)據(jù)庫對象。</p><p>  本游戲創(chuàng)建并

107、操作數(shù)據(jù)庫的簡略代碼如下代碼:</p><p>  //SQLiteOpenHelper子類必須要的一個構造函數(shù) </p><p>  public DBHelper(Context context, String name, CursorFactory factory,int version) { </p><p>  //必須通過super 調用父類的構造函

108、數(shù) </p><p>  super(context, name, factory, version); </p><p><b>  } </b></p><p>  //數(shù)據(jù)庫的構造函數(shù),傳遞三個參數(shù)的 </p><p>  public DBHelper(Context context, String na

109、me, int version){ </p><p>  this(context, name, null, version); </p><p><b>  } </b></p><p>  //數(shù)據(jù)庫的構造函數(shù),傳遞一個參數(shù)的, 數(shù)據(jù)庫名字和版本號都寫死了 </p><p>  public DBHelper

110、(Context context){ </p><p>  this(context, DB_NAME, null, VERSION); </p><p><b>  } </b></p><p>  // 回調函數(shù),第一次創(chuàng)建時才會調用此函數(shù),創(chuàng)建一個數(shù)據(jù)庫 </p><p>  @Override <

111、/p><p>  public void onCreate(SQLiteDatabase db) { </p><p>  this.db = db; </p><p>  System.out.println("Create Database"); </p><p>  db.execSQL(CREATE_TBL);

112、 </p><p><b>  } </b></p><p>  //回調函數(shù),當你構造DBHelper的傳遞的Version與之前的Version調用此函數(shù) </p><p>  @Override </p><p>  public void onUpgrade(SQLiteDatabase db, int o

113、ldVersion, int newVersion) { </p><p>  System.out.println("update Database"); </p><p><b>  } </b></p><p><b>  //插入方法 </b></p><p> 

114、 public void insert(ContentValues values){ </p><p>  //獲取SQLiteDatabase實例 </p><p>  SQLiteDatabase db = getWritableDatabase(); </p><p>  //插入數(shù)據(jù)庫中 </p><p>  db.inser

115、t(TABLE_NAME, null, values); </p><p>  db.close(); </p><p><b>  } </b></p><p><b>  //查詢方法 </b></p><p>  public Cursor query(){ </p>

116、<p>  SQLiteDatabase db = getReadableDatabase(); </p><p>  //獲取Cursor </p><p>  Cursor c = db.query(TABLE_NAME, null, null, null, null, null, null, null); </p><p>  return c

117、; </p><p><b>  } </b></p><p>  //根據(jù)唯一標識_id 來刪除數(shù)據(jù) </p><p>  public void delete(int id){ </p><p>  SQLiteDatabase db = getWritableDatabase(); </p>

118、<p>  db.delete(TABLE_NAME, "_id=?", new String[]{String.valueOf(id)}); </p><p><b>  } </b></p><p>  //更新數(shù)據(jù)庫的內容 </p><p>  public void update(Content

119、Values values, String whereClause, String[]whereArgs){ </p><p>  SQLiteDatabase db = getWritableDatabase(); </p><p>  db.update(TABLE_NAME, values, whereClause, whereArgs); </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

提交評論