2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢 業(yè) 設(shè) 計</b></p><p>  題目:基于android平臺的電子課表查詢設(shè)計與實現(xiàn)</p><p>  姓  名: </p><p>  班 級: 軟件班 </p><p>  學(xué)  號:

2、 </p><p>  學(xué) 院: 軟件學(xué)院 </p><p>  專 業(yè): 軟件工程 </p><p>  指 導(dǎo) 教 師: </p><p>  2014年 4 月 18 日基于android平臺的電子課表查詢設(shè)計與實現(xiàn)</p><p&g

3、t;<b>  摘 要</b></p><p>  智能手機雖然早在多年前就已出現(xiàn),但那時的智能手機的功能主要是本地應(yīng)用,這些手機以Nokia的Symbian系統(tǒng)為主。但隨著移動互聯(lián)網(wǎng)時代的到來,本地應(yīng)用已遠遠無法滿足用戶的需求了。然而在創(chuàng)新為王的今天,新的技術(shù)總在不斷取代舊的技術(shù)。以創(chuàng)新聞名的Google為了進軍移動廣告市場,就開始研制新的移動操作系統(tǒng)Android。</p>

4、<p>  本程序主要使用了Java和Android的基礎(chǔ)編程知識,用戶界面采用MVC模型的電子課表應(yīng)用程序的結(jié)構(gòu)和設(shè)計實現(xiàn)過程。本程序的開發(fā)工具為Eclipse,并通過與SQLite數(shù)據(jù)庫相連,從而實現(xiàn)了基于Android的電子課表管理應(yīng)用程序。</p><p>  關(guān)鍵詞:Android,Sqlite,MVC</p><p>  Query android platfor

5、m-based electronic curriculum Design and Implementation</p><p><b>  Abstract</b></p><p>  Although many years ago smart phones had already appeared, but at that time the smart phone&

6、#39;s main function is the local application and these phones is based on Nokia's Symbian OS.But with the arrival of the era of mobile Internet, the local application has far unable to meet the needs of users. Howeve

7、r, in innovation is the king of today, new technology is always replacing the old technology. In order to enter the mobile advertising market, Google, known for innovation, started to develop a ne</p><p>  T

8、his program is mainly used the basic programming knowledge of Java and Android and user view using the MVC model. Its development tool is Eclipse, and connects to the SQLite database, thereby achieve a calendar applicati

9、on program based on Android. Its main functions include the following two aspects: first, the front display, in the application home page you can view date;Second,background management, mainly do something about create,

10、retrieve, update, delete of information.</p><p>  Key words: Android, Sqlite, MVC</p><p><b>  目 錄</b></p><p><b>  摘 要1</b></p><p>  Abstract

11、2</p><p><b>  目 錄3</b></p><p>  第1章 緒 論5</p><p>  1.1 論文研究主要內(nèi)容5</p><p>  1.2 國內(nèi)外現(xiàn)狀6</p><p>  第2章 關(guān)鍵技術(shù)介紹8</p><p>  2.1 Java開

12、發(fā)方面8</p><p>  2.2 Android用戶界面技術(shù)8</p><p>  第3章 系統(tǒng)分析10</p><p>  3.1 系統(tǒng)概述10</p><p>  3.1.1 功能框架10</p><p>  3.1.2 系統(tǒng)特性11</p><p>  3.1.3 需求規(guī)格

13、11</p><p>  3.1.4 系統(tǒng)用例規(guī)約12</p><p>  3.1.5 系統(tǒng)的流程分析15</p><p>  3.2 系統(tǒng)開發(fā)環(huán)境16</p><p>  3.3 系統(tǒng)任務(wù)的可行性分析17</p><p>  第4章 系統(tǒng)設(shè)計18</p><p>  4.1 設(shè)計指

14、導(dǎo)思想和原則18</p><p>  4.1.1 指導(dǎo)思想18</p><p>  4.1.2 軟件設(shè)計原則18</p><p>  4.2 系統(tǒng)的功能結(jié)構(gòu)設(shè)計18</p><p>  4.3 系統(tǒng)靜態(tài)模型設(shè)計20</p><p>  4.4 數(shù)據(jù)庫設(shè)計22</p><p>  4.

15、4.1 數(shù)據(jù)庫設(shè)計的概述22</p><p>  4.4.2 概念結(jié)構(gòu)設(shè)計23</p><p>  4.4.3 邏輯結(jié)構(gòu)設(shè)計23</p><p>  4.4.4 物理結(jié)構(gòu)設(shè)計24</p><p>  第5章 系統(tǒng)實現(xiàn)25</p><p>  5.1 應(yīng)用程序功能實現(xiàn)25</p><p&g

16、t;  5.2 應(yīng)用程序界面功能實現(xiàn)25</p><p>  5.2.1 應(yīng)用程序主界面25</p><p>  5.2.2 指定課表界面27</p><p>  5.2.3 顯示所有的課表28</p><p>  5.3 數(shù)據(jù)庫存儲方式30</p><p>  第6章 系統(tǒng)測試32</p>

17、<p>  6.1 測試方案及測試用例32</p><p>  6.2 系統(tǒng)測試計劃32</p><p>  6.3 系統(tǒng)測試32</p><p>  6.4 測試總結(jié)33</p><p>  第7章 結(jié) 論34</p><p><b>  參考文獻35</b></p&

18、gt;<p><b>  致 謝36</b></p><p><b>  外文原文:37</b></p><p><b>  中文翻譯:43</b></p><p><b>  第1章 緒 論</b></p><p>  Andro

19、id是由Google發(fā)布的基于Linux的開放源碼操作系統(tǒng),剛開始的時候它主要用于手機移動設(shè)備,它是第一個完全定制、免費、開發(fā)的手機平臺。最初由Andy Rubin開發(fā),剛開始主要支持手機,后來慢慢發(fā)展逐漸擴展到平板電腦及其他領(lǐng)域上。</p><p>  Android是一種基于Linux內(nèi)核的軟件平臺和操作系統(tǒng),采用了軟件堆層(Software Stack)的架構(gòu),共分為四層。第一層是Linux內(nèi)核,提供由操作

20、系統(tǒng)內(nèi)核管理的底層基礎(chǔ);第二層是中間件層,由函數(shù)庫和Android運行時構(gòu)成;第三層是應(yīng)用程序框架層,提供了Android平臺基本的管理功能和組建重用機制;第四層是應(yīng)用程序?qū)?,提供了一系列核心?yīng)用程序。</p><p>  Android作為一種開放操作系統(tǒng),隨著它的快速發(fā)展,受到了越來越多的人的關(guān)注。</p><p>  所以就有越來越多的開發(fā)者使用許多種編程語言來編寫Android。而

21、不再像以前那樣只能使用單一的編程語言來編寫應(yīng)用程序,因而有越來越多的人來開發(fā)Android。在這幾年中由于Android的便攜性和可開發(fā)性,使得Android的操作系統(tǒng)已經(jīng)移植于越來越多的手機上。</p><p>  1.1 論文研究主要內(nèi)容</p><p>  通過開發(fā)一個項目,了解Android平臺的相關(guān)特性和開發(fā)的流程。</p><p><b>  

22、具體來講:</b></p><p>  1、通過分析當(dāng)前階段下各種人群的喜好和對事物的關(guān)注程度來選擇究的項目,既日程管理軟件。</p><p>  2、通過獨立設(shè)計UI來了解Android以至于移動平臺開發(fā)的UI的設(shè)計方法。</p><p>  3、通過選取相應(yīng)的數(shù)據(jù)存儲來方式存儲日程管理的數(shù)據(jù),來了解Android</p><p&g

23、t;  平臺的類庫和其相關(guān)的設(shè)計模式,了解其先進的思想和API的特點。</p><p>  4、通過設(shè)計功能點來初步的了解移動平臺開發(fā)的所需注意事項,初步的了</p><p>  解移動平臺的開發(fā),并了解別體會如何獲得更好的人機交互。</p><p>  5、通過測試來完善程序,使其Bug不合理地方最少化,并進一步了解</p><p>  A

24、ndroid平臺的相關(guān)先進的特點和其人性化的設(shè)計,與此同時熟悉軟件開 </p><p>  發(fā)的相關(guān)流程并深刻認識在編碼時一些注意事項的重要性。</p><p>  6、其實完全可以通過發(fā)布程序到Google Android Market上,了解Android程序發(fā)布的流程,并通過它了解其他平臺下的開發(fā)、發(fā)布的流程。并通過用戶的反饋來進行相關(guān)的修改?;诖烁羁痰睦斫馊藱C交互的重要性

25、和設(shè)計的重要性。</p><p><b>  1.2 國內(nèi)外現(xiàn)狀</b></p><p>  Android操作系統(tǒng)于2007年在美國推出后,憑借其良好的用戶體驗,低廉的成本和較高的開放性吸引著越來越多的終端廠商采用,根據(jù)Gartner等國際研究機構(gòu)的報告,Android在這幾年的全球智能手機的市場份額在逐漸增多,并且于2011年成功超過了Symbian系統(tǒng)在全球智能

26、手機的市場份額。</p><p>  在Android出現(xiàn)之前,智能手機操作系統(tǒng)市場中Symbian和WM兩者占據(jù)大部分的市場份額,但隨著移動互聯(lián)網(wǎng)的快速發(fā)展,終端+應(yīng)用的趨勢逐漸成為主流的情況下,兩者的劣勢逐漸突出,而Android的優(yōu)勢也越來越明顯。Symbian由于發(fā)展了很多年,已經(jīng)被很多人熟悉,在這十多年中Symbian幾乎沒發(fā)生什么變化,它的用戶體驗功能已經(jīng)無法滿足現(xiàn)在人的需求。WM系統(tǒng)同樣也較為封閉,

27、對終端廠商來講引入成本較為昂貴,娛樂性一般,多用于商務(wù)機型。</p><p>  2007年,蘋果iPhone上市后iOS憑借iPhone優(yōu)秀的用戶體驗和多種多樣的功能獲得了巨大的成功,特別值得一提的是蘋果的應(yīng)用開發(fā)分成模式刺激了開發(fā)者不斷進入,使得蘋果的應(yīng)用程序能不斷的更新和發(fā)展,截至2010年8月,可用于iOS的應(yīng)用已經(jīng)超過了25萬,蘋果公司因為順應(yīng)了終端+應(yīng)用的智能手機發(fā)展趨勢,取得了快速的發(fā)展.但iOS也

28、有許多問題,因為iOS屬于半開放的OS,實現(xiàn)了移動互聯(lián)網(wǎng)產(chǎn)業(yè)鏈上各環(huán)節(jié)的普及還是較為困難;其次iPhone的價格比較高,短期時間內(nèi)難以滿足中低端市場的需求。</p><p>  而Android系統(tǒng),雖然它目前存在安全性和版本混亂等問題,但是擁有低廉的引入成本,良好的用戶體驗和開放性較強的特點,再加上Android Market和眾多第三方應(yīng)用商店做后盾,在應(yīng)用方面的資源也非常豐富。Android系統(tǒng)在近幾年取得

29、了迅猛的發(fā)展,主要還是因為其適應(yīng)了移動互聯(lián)網(wǎng)的發(fā)展趨勢,符合了移動互聯(lián)網(wǎng)產(chǎn)業(yè)鏈各方的發(fā)展變化需求。</p><p>  當(dāng)然,Android也同樣面臨著一些挑戰(zhàn)和爭議。雖然Android在發(fā)展過程中遇到一些問題,但在多方面積極的因素推動下,總體趨勢仍舊看好。當(dāng)前,隨著HTC進入中國市場,以及酷派、華為、中興等終端廠商的發(fā)力,Android在國內(nèi)的發(fā)展會越來越好;而隨著Android系統(tǒng)的發(fā)展,Android手機在

30、中國市場的銷量在未來必然還將有較大發(fā)展空間。</p><p>  第2章 關(guān)鍵技術(shù)介紹</p><p>  2.1 Java開發(fā)方面</p><p>  對于Java語言而言,Android系統(tǒng)給了Java一個新的機會。隨著Android平臺在市場占有率的逐漸上升,采用Java語言開發(fā)的Android應(yīng)用肯定會越來越多。由于Android的Java開發(fā)方面從接口到功

31、能,都有層出不窮的變化,所以Android支持并使用了Java作為編程語言來開發(fā)應(yīng)用程序。為了能夠提高效率和減少資源占用并且考慮到Java虛擬機的效率和資源的占用,Google重新設(shè)計了Android的Java,因而它與J2ME等有許多不同之處。其中Activity就是一個Android的用戶界面,一個Activity類(Class)主要負責(zé)創(chuàng)建UI界面(Windows),Service就是一個活動中的Activity在前景模式,背景運

32、行下的程序。它們兩者之間通過由ServiceConnection和AIDL連接,達到多種程序同時運行的效果。如果運行中的Activity下的全部畫面被其他的Activity取代時,該Activity便會被停止(Stopped),甚至有可能會被系統(tǒng)清除(Kill)。在Android中的View和J2ME的Displayable挺類似的,程序開發(fā)人</p><p>  2.2 Android用戶界面技術(shù)</p&

33、gt;<p>  Android用戶界面框架采用MVC模型。MVC模型為用戶界面提供了處理用戶輸入的控制器,顯示用戶界面和圖像的視圖,以及保存數(shù)據(jù)和代碼的模型。MVC模型中的視圖將應(yīng)用程序的信息反饋給用戶,可能的反饋方法包括視覺、聽覺或觸覺等,但最常用的就是通過屏幕顯示反饋信息。</p><p><b>  (1)創(chuàng)建界面</b></p><p> ?、?/p>

34、通過工程下的res/layout目錄下的main.xml,mydate.xml,record.xml,about.xml等配置文件,分別設(shè)置日程應(yīng)用程序的主界面,制定日期的界面,添加記錄的界面和關(guān)于的界面。</p><p> ?、谕ㄟ^工程下的res/values目錄下的colors.xml,strings.xml,dimension.xml配置文件獲得界面中的顏色,尺寸大小,一些屬性的名字。</p>

35、<p> ?、弁ㄟ^工程下的res/drawable目錄獲得應(yīng)用程序所用到的圖片。</p><p> ?、芡ㄟ^工程下的AndroidManifest.xml的文件來描述Android應(yīng)用程序整體資訊的設(shè)定檔。簡單來說,這是一個自我介紹檔,我們可以向Android系統(tǒng)介紹我們的Android應(yīng)用程序,以便讓Android系統(tǒng)完整地了解我們的應(yīng)用程序資訊。</p><p><b

36、> ?。?)創(chuàng)建模型類</b></p><p>  創(chuàng)建Disservice類實現(xiàn)對數(shù)據(jù)庫的增、刪、改、查操作,創(chuàng)建Grid類繪制萬年類的主體部分:日期和表格,創(chuàng)建CalendarElement接口,定義繪制圖形的方法,創(chuàng)建Border類定義邊框,Remind類定義提醒時間的一些信息,AllRecord類定義記錄的一些信息。</p><p><b>  (3)創(chuàng)

37、建控制器</b></p><p>  主要的是Main類來實現(xiàn)界面和一些模型類的交互,把結(jié)果展示在界面上。RemindSetting類設(shè)置指定日期的類,Record類設(shè)置記錄信息界面和處理記錄的交互。</p><p><b>  第3章 系統(tǒng)分析</b></p><p><b>  3.1 系統(tǒng)概述</b>&l

38、t;/p><p>  3.1.1 功能框架</p><p>  根據(jù)需求調(diào)研結(jié)果確定本系統(tǒng)主要包括以下功能模塊,如圖3.1所示。</p><p>  圖3.1 系統(tǒng)功能框架</p><p>  從系統(tǒng)功能框架中很容易看出,本應(yīng)用程序采取的是MVC模型,一個Android的Activity通過業(yè)務(wù)處理來處理一些事務(wù)并把它反映在界面之中。啟動應(yīng)用程序

39、首先看到的是一個顯示的主界面,然后可以根據(jù)菜單選項訪問SQLite數(shù)據(jù)庫進行事件的添加、修改、查看、刪除,這樣做的好處是后臺服務(wù)可以及時更新數(shù)據(jù),以保證數(shù)據(jù)的準確性。設(shè)置提醒的時間功能同樣也要和數(shù)據(jù)庫相關(guān)聯(lián)進行一系列的操作。</p><p>  DB下的DBService類封裝了許多SQLite的數(shù)據(jù)庫的增、刪、改、查的操作,后臺服務(wù)會調(diào)用它來實現(xiàn)數(shù)據(jù)庫的操作。</p><p>  3.1

40、.2 系統(tǒng)特性</p><p>  基于Android的課表應(yīng)用程序是為了向用戶展示一個友好的課表界面并能提供一系列的應(yīng)用操作的一個應(yīng)用程序。整個系統(tǒng)分為以下幾個模塊,見表3.1。</p><p>  表3.1 基于Android的課表應(yīng)用程序特性概述</p><p>  續(xù)表3.1 基于Android的課表應(yīng)用程序特性概述</p><p>

41、  3.1.3 需求規(guī)格</p><p><b>  (1)日期的顯示</b></p><p>  支持的日期范圍從1901-1-1至2100-12-31,在日期界面上我們能夠很詳細的看到這個月的詳細信息,在這個界面我們可以通過鍵盤和觸摸能夠看到任何一天的日期和帶有標記的記錄信息和提醒事件的信息。</p><p>  (2)提醒時間的管理<

42、;/p><p>  用戶可以通過提醒時間的界面來設(shè)置什么時候去提醒自己去做某件事,在提醒時間界面中用戶可以滑動屏幕來設(shè)置小時和分鐘。</p><p> ?。?)記錄信息的管理</p><p>  通過菜單選項的記錄和提醒控件,用戶可以進入記錄界面,在記錄界面中用戶可以添加、查看、修改、刪除記錄,并且為記錄設(shè)置提醒時間。這樣我們就可以在某一個時間點來通過程序來提醒我們做一

43、些事情。</p><p> ?。?)切換日期界面的顯示</p><p>  當(dāng)我們向任意查看某天的信息的時候,我們可以通過菜單選項的制定日期來進入我們想查看的那天的日期。</p><p> ?。?)幫助界面的顯示</p><p>  在應(yīng)用程序中要把一些額外的信息告知用戶,所以就是在此界面中設(shè)置的一些信息來供用戶查看。</p>

44、<p>  3.1.4 系統(tǒng)用例規(guī)約</p><p>  課表應(yīng)用程序的幾個功能中按照前、后臺交互的功能劃分,只有提醒時間的管理和記錄信息的管理體現(xiàn)了這一部分。</p><p>  提醒時間管理的用例規(guī)約</p><p><b> ?、儆美龍D</b></p><p>  提醒時間用例圖,如圖3.2所示。<

45、/p><p>  圖3.2 提醒時間用例圖</p><p><b> ?、谟美枋?lt;/b></p><p>  本用例主要描述了提醒時間的相關(guān)功能和進行相關(guān)的設(shè)置,如表3.2-3.5所示。</p><p>  表3.2 提醒時間-查看日期用例描述</p><p>  表3.3 提醒時間-查看記錄用例描

46、述</p><p>  續(xù)表3.3 提醒時間-查看記錄用例描述</p><p>  表3.4 提醒時間-設(shè)置時間用例描述</p><p>  記錄信息管理的用例規(guī)約</p><p><b>  ①用例圖</b></p><p>  記錄信息管理用例圖,如圖3.3所示。</p><

47、;p>  圖3.3 記錄信息管理用例圖</p><p><b>  ②用例描述</b></p><p>  本用例主要描述了記錄信息管理的相關(guān)功能,如表3.6-3.9所示。</p><p>  表3.6 記錄信息管理-添加記錄用例描述</p><p>  表3.7 記錄信息管理-修改記錄用例描述</p>

48、<p>  表3.8 記錄信息管理-查看記錄用例描述</p><p>  表3.9 記錄信息管理-刪除記錄用例描述</p><p>  通過以上的描述,能夠很清楚的知道記錄信息相關(guān)的功能和操作的步驟,并且很容易發(fā)現(xiàn)系統(tǒng)相關(guān)方面的漏洞。</p><p>  3.1.5 系統(tǒng)的流程分析</p><p>  用戶進入課表應(yīng)用程序可以任

49、意查看每個年份相對應(yīng)得日期,在每個日期的標志用戶可以看到查看的那天是哪一個月的,并且可以為某一天設(shè)置記錄信息和相應(yīng)的提醒時間以便提醒我們?nèi)プ瞿骋患?,從而相?yīng)的我們也可以對這個記錄進行添加、修改、查看、刪除操作。</p><p><b>  添加記錄模塊</b></p><p>  用戶進入記錄信息管理頁面,點擊“添加”選項菜單,在添加記錄界面中輸入信息,如果輸入一些

50、非法字符則重新輸入信息。流程圖如圖3.4所示。</p><p>  圖3.4 添加記錄流程圖</p><p><b>  設(shè)置提醒時間模塊</b></p><p>  用戶進入設(shè)置時間狀態(tài),然后通過滑動時間選項來設(shè)置時間。流程圖如圖3.5所示。</p><p>  圖3.5 設(shè)置提醒時間流程圖</p>&l

51、t;p>  3.2 系統(tǒng)開發(fā)環(huán)境</p><p><b> ?。?)軟件環(huán)境</b></p><p>  開發(fā)環(huán)境:JDK1.6、Eclipse 3.7、ADT</p><p>  數(shù)據(jù)庫:SQLite數(shù)據(jù)庫</p><p>  Android環(huán)境:Android SDK</p><p>&

52、lt;b> ?。?)硬件環(huán)境</b></p><p>  筆記本電腦(任何一部配置電腦即可)</p><p>  3.3 系統(tǒng)任務(wù)的可行性分析</p><p>  (1)技術(shù)及開發(fā)方法可行性</p><p>  該應(yīng)用程序使用的是最主流和前沿的先進技術(shù)和工具。本程序采用的是MVC模式的開發(fā),使用了Eclipse作為開發(fā)平臺,

53、結(jié)合了Android和Java的基本知識,采用了SQLite數(shù)據(jù)庫,因為它占用的空間小,并且能夠處理大量的數(shù)據(jù)。該應(yīng)用程序基于Android系統(tǒng),該系統(tǒng)提供了非常友好的界面和容易實現(xiàn)的操作,它的安全性,靈活性和易用性為數(shù)據(jù)庫和編程提供良好的條件。因此本應(yīng)用程序開發(fā)成熟可行。</p><p><b> ?。?)管理可行性</b></p><p>  通過采用系統(tǒng)結(jié)構(gòu)化的

54、設(shè)計開發(fā)方法,將整個程序劃分為多個模塊,獨立管理維護,這樣當(dāng)某一個類出現(xiàn)錯誤,就可以直接找到這個模塊進行修改,而不用去每個類文件進行修改。所以經(jīng)過這樣的模塊劃分,就更加有利于程序的管理和維護。</p><p><b> ?。?)經(jīng)濟可行性</b></p><p>  經(jīng)過各方面詳細謹慎的調(diào)研,采取了經(jīng)濟高效的開發(fā),以及科學(xué)的設(shè)計開發(fā)方法,以達到降低程序的開發(fā)成本。&l

55、t;/p><p><b>  運行可行性</b></p><p>  本應(yīng)用程序操作簡單易懂,界面友好,程序的運行環(huán)境只要基于Android系統(tǒng)即可。本程序的開發(fā)符合軟件設(shè)計所遵循的幾大原則,符合人們的邏輯思維習(xí)慣,所以本程序的設(shè)計為以后的程序升級留有很大的空間。</p><p><b>  第4章 系統(tǒng)設(shè)計</b></

56、p><p>  4.1 設(shè)計指導(dǎo)思想和原則</p><p>  4.1.1 指導(dǎo)思想</p><p>  本應(yīng)用程序的前端開發(fā)使用的是Android布局技術(shù),而后臺數(shù)據(jù)庫采用的是SQLite數(shù)據(jù)庫。SQLite設(shè)計目標是嵌入式的程序,它是是一款非常輕型的數(shù)據(jù)庫,而且目前已經(jīng)在很多嵌入式的產(chǎn)品中使用了它,它占用的資源非常的低,在嵌入式的設(shè)備中,可能只僅僅需要幾百K的內(nèi)存就

57、足夠了,因此能夠很大程度上節(jié)約系統(tǒng)的內(nèi)存。它能夠支持目前比較主流的幾種操作系統(tǒng),并且同時也能夠跟很多編程語言相結(jié)合,比如PHP、Java等,還有JDBC接口,同時它的處理速度比Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)都快。SQLite雖然占用的資源很小,但是它支持的SQL語句絕對不會比其他開源數(shù)據(jù)庫的差,同時它還支持事務(wù)處理功能等等。本應(yīng)用程序以Eclipse為主要開發(fā)工具,整個程序在開發(fā)過程中符合MVC模式。

58、MVC模式要求對應(yīng)用分層,雖然要做許多額外的工作,但程序的結(jié)構(gòu)清晰,可擴展性強、產(chǎn)品的應(yīng)用性通過MVC模式可以得到更好地體現(xiàn)。這恰恰是日程應(yīng)用程序所需要的。該程序的功能會隨著時代的發(fā)展及用戶的需要不斷的擴展,因此這個程序需要不斷的進行功能的升級和修改。</p><p>  4.1.2 軟件設(shè)計原則</p><p>  本應(yīng)用程序的功能主要包括兩方面:一是主界面的顯示,在程序的打開界面上能夠

59、看到日期的顯示和相關(guān)的其他信息;二是后臺管理,主要實現(xiàn)對記錄信息的增、刪、改、查等操作。進入程序界面后,就可以很清晰地感受到該程序的設(shè)計所遵循的一貫原則,就是從人性化和智能化的角度出發(fā),很好的為用戶服務(wù)。</p><p>  4.2 系統(tǒng)的功能結(jié)構(gòu)設(shè)計</p><p>  根據(jù)上一章的系統(tǒng)分析,本應(yīng)用程序?qū)崿F(xiàn)的功能主要有提醒時間的管理和記錄信息的管理等操作,具體如圖4.1系統(tǒng)功能結(jié)構(gòu)圖所示

60、。</p><p>  Google android 平臺的系統(tǒng)構(gòu)架圖如下所示:</p><p><b>  圖4.1</b></p><p>  Android分為四層,從上層到底層分別是應(yīng)用層、應(yīng)用框架層、系統(tǒng)運行庫層和Linux內(nèi)核層。</p><p>  (1). 應(yīng)用層。應(yīng)用層是用Java語言編寫的運行在虛擬機

61、上的程序。其實,Google 最開始時就在 Android 系統(tǒng)中捆綁了一些核心應(yīng)用,比如E-mail客戶端、SMS短消息程序、日歷、地圖、游覽器、聯(lián)系人管理程序,等等。</p><p>  (2). 應(yīng)用框架層。這一層編寫Google 發(fā)布的核心應(yīng)用時所使用的API 框架,開發(fā)人員同樣可以使用這些框架來發(fā)布自己的應(yīng)用,這樣便簡化了程序開發(fā)的構(gòu)架設(shè)計,但是必須遵守其框架的開發(fā)順序。Android提供了如下一些組件

62、:</p><p>  1). 豐富而又可擴展的視圖:可以用來構(gòu)建應(yīng)用程序,它包括列表(List)、網(wǎng)絡(luò)(Grid)、文本框(TextBox)、按鈕(Button),以及可嵌入的Web游覽器。</p><p>  2). 內(nèi)容提供器 (Content Provider):它可以讓一個應(yīng)用程序訪問另一個應(yīng)用程序的數(shù)據(jù)。</p><p>  3).資源管理器(Resou

63、re Manager):提供非代碼資源的訪問,如本地字符串、圖形和布局文件(layout file)。</p><p>  4).通知管理器(Notification Manager):應(yīng)用可以在狀態(tài)欄中顯示自定義的提示信息。</p><p>  5).活動管理器(Activity Manager):用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。</p><p>

64、;  6).窗口管理器(Window Manager):管理所有的窗口程序。</p><p>  7).包管理器(Package Manager):Android系統(tǒng)內(nèi)的程序管理。</p><p>  4.3 系統(tǒng)靜態(tài)模型設(shè)計</p><p>  由于本系統(tǒng)是電子課表應(yīng)用程序,類圖主要包括了類的屬性和方法,在系統(tǒng)的實現(xiàn)上,本程序主要包括日期的繪制、添加記錄和提醒時間

65、的設(shè)置這幾個方面,所以類圖主要解釋這幾個方面的信息。</p><p>  其中日期的繪制類圖如圖4.2所示。</p><p>  圖4.2 日期的繪制類圖</p><p>  本日程的日期繪制除去配置和xml文件,主要用到了Grid.java、CalendarParent.java、CalendarView.java、Calendar.java這四個文件。</

66、p><p>  CalendarParent.java</p><p>  CalendarParent.java主要封裝了顯示界面的一些尺寸大小和顏色,除此之外實現(xiàn)了CalendarParent.java的接口,實現(xiàn)了draw()方法,以便讓后面的類實現(xiàn)這個類,就可以繪制日歷了。而這個類的構(gòu)造方法直接把要顯示的界面和公用的屬性放在里面。</p><p>  Calen

67、dar.java</p><p>  在構(gòu)造方法里引用Grid類,并把邊框和日期全都加到日歷的顯示主界面中,然后繼承CalendarParent.java,去實現(xiàn)這個draw()方法繪制日歷。</p><p>  CalendarView.java</p><p>  這個類直接繼承了View類,同樣要去用draw()這個方法去繪制日歷,然后的onTouchEven

68、t()方法的意思是當(dāng)手動滑動屏幕時日歷的顯示位置,而onKeyDown()方法是當(dāng)在鍵盤上按上、下、左、右四個方向鍵時日歷的顯示位置。</p><p><b>  Grid.java</b></p><p>  此類是本日歷應(yīng)用程序的核心類,它的主要作用是封裝了日歷和處理一些事務(wù)的方法,主要方法具體見表4.1所示。</p><p>  表4.1

69、 Grid.java主要方法</p><p>  記錄信息的類圖如圖4.3所示。</p><p><b>  圖4.3記錄類圖</b></p><p>  本應(yīng)用程序的記錄信息方面,除了用到普通的類還要關(guān)聯(lián)數(shù)據(jù)庫,并把用戶添加的記錄信息放到數(shù)據(jù)庫中。</p><p>  Record.java</p>&l

70、t;p>  直接繼承了Activity類,把記錄的相關(guān)功能界面顯示在虛擬機上,并在此類中寫了兩個內(nèi)部類定義了觸發(fā)事件的方法。</p><p>  AllRecord.java</p><p>  同樣繼承了ListActivity,把添加、刪除、修改記錄的界面放置在虛擬機上,并寫了內(nèi)部類來定義觸發(fā)事件的方法。</p><p>  DBService.java&

71、lt;/p><p>  和數(shù)據(jù)庫直接相關(guān)連的類,在此類中封裝了增、刪、改、查相關(guān)的方法供其它類調(diào)用使用。</p><p><b>  4.4 數(shù)據(jù)庫設(shè)計</b></p><p>  4.4.1 數(shù)據(jù)庫設(shè)計的概述</p><p>  數(shù)據(jù)庫設(shè)計是建立在數(shù)據(jù)庫及其應(yīng)用系統(tǒng)上的技術(shù),是信息系統(tǒng)開發(fā)和建設(shè)中的核心技術(shù)。為了支持相關(guān)程

72、序的運行,所以數(shù)據(jù)庫的設(shè)計就變得非常復(fù)雜,又由于數(shù)據(jù)庫應(yīng)用系統(tǒng)的復(fù)雜性,因此數(shù)據(jù)庫的最佳設(shè)計根本不可能就一蹴而就,而只可能是一種“反復(fù)探尋,逐步求精”的過程,也就是必須把數(shù)據(jù)庫中的一些數(shù)據(jù)對象以及這些數(shù)據(jù)對象之間關(guān)系的過程規(guī)劃和結(jié)構(gòu)化好。</p><p>  數(shù)據(jù)庫是信息系統(tǒng)的基礎(chǔ)和核心,把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來,提供存儲、維護、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時、準確地從數(shù)據(jù)庫中獲得所需

73、的信息。在數(shù)據(jù)庫設(shè)計和開發(fā)的過程中,它到處都透漏著軟件工程的思想。按照軟件的生命周期的思路,能把數(shù)據(jù)庫的應(yīng)用系統(tǒng)從開始的規(guī)劃到最后被新系統(tǒng)所取代而停止使用的整個期間稱之為數(shù)據(jù)庫系統(tǒng)的生存期。</p><p>  4.4.2 概念結(jié)構(gòu)設(shè)計</p><p>  概念結(jié)構(gòu)設(shè)計的任務(wù)是根據(jù)需求分析階段產(chǎn)生的需求說明書,按照指定的方法把數(shù)據(jù)模型抽象為一個不依賴于任何的具體機器,即概念模型。概念模型使

74、設(shè)計開發(fā)者的注意力能夠從繁雜的實現(xiàn)細節(jié)中解脫出來,而不僅僅只集中在最重要的信息的處理模式和組織結(jié)構(gòu)上。在數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計中,通常采用E-R圖來表示數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計。E-R圖將現(xiàn)實世界的信息結(jié)構(gòu)統(tǒng)一用屬性、實體和它們之間的聯(lián)系來描述,而本應(yīng)用程序最終設(shè)計出的實體只有記錄這一個,下面就說明這個實體。</p><p>  4.4.3 邏輯結(jié)構(gòu)設(shè)計</p><p>  應(yīng)用程序的數(shù)據(jù)庫邏輯

75、設(shè)計是整個設(shè)計的前半段,包括所需的實體和關(guān)系,實體規(guī)范化等工作,數(shù)據(jù)庫的物理設(shè)計是整個設(shè)計的后半段,它包含所選擇的數(shù)據(jù)庫產(chǎn)品,確定的數(shù)據(jù)庫實體屬性(字段)、數(shù)據(jù)類型、長度、精度確定、DBMS頁面大小等。數(shù)據(jù)庫的邏輯設(shè)計決定了一個數(shù)據(jù)庫及其應(yīng)用的整體性能和調(diào)優(yōu)位置。如果一個系統(tǒng)的數(shù)據(jù)庫的邏輯設(shè)計的不好,則所有的調(diào)優(yōu)方法對于提高數(shù)據(jù)庫性能的效果都是不明顯的。為了逐漸完善數(shù)據(jù)庫設(shè)計的方法,必須遵守數(shù)據(jù)庫的相關(guān)的規(guī)范化理論。而規(guī)范化理論又為數(shù)據(jù)

76、庫的邏輯設(shè)計提供了理論性的指導(dǎo)和工具,在減少了數(shù)據(jù)冗余的同時又節(jié)約了存儲空間,并且同時加快了增、刪、改、查的速度。</p><p>  根據(jù)用戶的記錄信息的需求,數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計就包含一個表t_records,其字段見表4.2所示。</p><p><b>  表4.2數(shù)據(jù)庫表</b></p><p><b>  續(xù)表4.2數(shù)據(jù)庫

77、表</b></p><p>  4.4.4 物理結(jié)構(gòu)設(shè)計</p><p>  設(shè)計數(shù)據(jù)庫的物理結(jié)構(gòu),根據(jù)數(shù)據(jù)庫的邏輯結(jié)構(gòu)來選定RDBMS(如Oracle、Sybase等),并設(shè)計和實施數(shù)據(jù)庫的存儲結(jié)構(gòu)、存取方式等。</p><p><b>  第5章 系統(tǒng)實現(xiàn)</b></p><p>  5.1 應(yīng)用程序功能

78、實現(xiàn)</p><p>  本系統(tǒng)的主要功能所用到類以及其作用,具體如表5.1系統(tǒng)結(jié)構(gòu)類圖說明所示。</p><p>  表5.1 主要文件列表</p><p>  5.2 應(yīng)用程序界面功能實現(xiàn)</p><p>  5.2.1 應(yīng)用程序主界面</p><p>  應(yīng)用程序啟動主界面如圖5.1所示。</p>

79、<p>  圖5.1 系統(tǒng)啟動主界面</p><p>  Android的每一個可視化界面都有一個唯一的布局配置文件,該文件里面有許多種布局方式,和各種資源文件如圖像,文字,顏色,本程序在運行時,可以通過代碼對各配置文件里面的內(nèi)容進行讀取以完成Android應(yīng)用程序的界面。這樣就可以形成多種不同的可視化界面和豐富炫麗的效果。其主要代碼如下:</p><p>  LinearLay

80、out mainLayout = (LinearLayout) getLayoutInflater().inflate(</p><p>  R.layout.main, null);</p><p>  setContentView(mainLayout);</p><p>  calendarView = new CalendarView(this);</

81、p><p>  mainLayout.addView(calendarView);</p><p>  該代碼主要把日程應(yīng)用程序的主界面展現(xiàn)在用戶面前。除此之外,我們能夠看到在有一個設(shè)置布局的方法setContentView(mainLayout),而該方法的mainLayout是通過是通過獲取R.java類里的ID獲取的,而此ID正是代表res/layout目錄下的main.xml文件。&l

82、t;/p><p>  下面為布局文件main.xml的代碼。</p><p>  <?xml version="1.0" encoding="utf-8"?></p><p>  <LinearLayout xmlns:android="http://schemas.android.com/apk/re

83、s/android"</p><p>  android:orientation="vertical" android:layout_width="fill_parent"</p><p>  android:layout_height="fill_parent" android:background="@co

84、lor/calendar_background"><!-- android:background="@drawable/background" --></p><p>  <RelativeLayout android:id="@+id/calHeader" android:layout_width="fill_parent&q

85、uot;</p><p>  android:layout_height="70dp"></p><p>  <LinearLayout android:layout_width="fill_parent" </p><p>  android:layout_height="wrap_content&qu

86、ot; android:layout_toRightOf="@id/ivLogo"</p><p>  android:layout_marginTop="@dimen/margin" android:orientation="vertical" > </p><p>  <TextView android:id=&q

87、uot;@+id/tvMsg1" android:layout_width="fill_parent"</p><p>  android:layout_height="wrap_content" android:textColor="@color/text_color" android:textSize="16sp"/

88、> </p><p>  </LinearLayout></p><p>  </RelativeLayout></p><p>  </LinearLayout></p><p>  5.2.2 指定課表界面</p><p>  日程應(yīng)用程序的指定日期界面如圖5.2所示。&l

89、t;/p><p>  圖5.2 指定課表界面</p><p>  首先需要在單擊選項菜單時顯示如圖5.2所示的設(shè)置課表的對話框,菜單單擊事件的代碼如下:</p><p>  builder = new AlertDialog.Builder(activity);</p><p>  builder.setTitle("指定日程"

90、;);</p><p>  dpSelectDate.init(calendarView.ce.grid.currentYear,</p><p>  calendarView.ce.grid.currentMonth,</p><p>  calendarView.ce.grid.currentDay, this);</p><p>  b

91、uilder.setView(myDateLayout);</p><p>  adMyDate = builder.create();</p><p>  onDateChanged(dpSelectDate, dpSelectDate.getYear(), dpSelectDate</p><p>  .getMonth(), dpSelectDate.getD

92、ayOfMonth());</p><p>  adMyDate.show();</p><p>  5.2.3 顯示所有的課表</p><p>  在類中我們可以看到實現(xiàn)記錄的一些信息的操作的代碼。當(dāng)單擊主界面選項菜單中的“記錄/提醒”菜單項,會進入記錄列表界面,如圖5.3所示,通過該界面的選項菜單,可以對所記錄的信息進行增、刪、改、查操作。</p>

93、<p><b>  圖5.3 課表界面</b></p><p>  類的核心是通過數(shù)據(jù)庫來讀取記錄信息,代碼如下:</p><p>  protected void onCreate(Bundle savedInstanceState)</p><p><b>  {</b></p><p&

94、gt;  super.onCreate(savedInstanceState);</p><p>  year = getIntent().getExtras().getInt("year");</p><p>  month = getIntent().getExtras().getInt("month");</p><p>

95、;  day = getIntent().getExtras().getInt("day");</p><p>  Cursor cursor = Grid.dbService.query(year + "-" + month + "-" + day);</p><p>  if (recordArray == null)<

96、/p><p>  recordArray = new ArrayList<String>();</p><p>  if (arrayAdapter == null)</p><p>  arrayAdapter = new ArrayAdapter<String>(this,</p><p>  android.R.la

97、yout.simple_list_item_1, recordArray);</p><p><b>  else</b></p><p>  arrayAdapter.clear();</p><p>  idList.clear();</p><p>  while (cursor.moveToNext())<

98、/p><p><b>  {</b></p><p>  arrayAdapter.add(cursor.getString(1));</p><p>  idList.add(cursor.getInt(0));</p><p><b>  }</b></p><p>  Re

99、sources res = getResources();</p><p>  Drawable drawable = res.getDrawable(R.color.calendar_background);</p><p>  this.getWindow().setBackgroundDrawable(drawable);</p><p><b> 

100、 }</b></p><p>  此外,在這個類中還處理了3個選項菜單的事件。這三個菜單事件的代碼如下:</p><p>  增加記錄菜單的事件代碼:</p><p>  Intent intent = new Intent(activity, Record.class);</p><p>  activity.startActi

101、vity(intent);</p><p>  修改記錄菜單的事件代碼如下:</p><p>  AllRecord allRecord = (AllRecord) activity;</p><p>  int index = allRecord.getSelectedItemPosition();</p><p>  if (index

102、< 0)</p><p>  return false;</p><p>  allRecord.startEditRecordActivity(index);</p><p>  刪除記錄菜單的事件代碼如下:</p><p>  AllRecord allRecord = (AllRecord) activity;</p>

103、<p>  int index = allRecord.getSelectedItemPosition();</p><p>  if (index < 0)</p><p>  return false;</p><p>  recordArray.remove(index);</p><p>  int id = id

104、List.get(index);</p><p>  idList.remove(index);</p><p>  allRecord.setListAdapter(arrayAdapter);</p><p>  Grid.dbService.deleteRecord(id);</p><p>  5.3 數(shù)據(jù)庫存儲方式</p>

105、;<p>  SQLite是一款非常流行的嵌入式數(shù)據(jù)庫,它支持SQL查詢,并且只用很少的內(nèi)存。Android在運行時集成了SQLite,所以每個Android應(yīng)用程序都可以使用SQLite數(shù)據(jù)庫。對數(shù)熟悉SQL的開發(fā)人員來時,使用SQLite相當(dāng)簡單。但是,由于JDBC不適合手機這種內(nèi)存受限設(shè)備,所以Android開發(fā)人員需要學(xué)習(xí)新的API來使用SQLite。</p><p>  Android不自

106、動提供數(shù)據(jù)庫。在Android應(yīng)用程序中使用SQLite,必須自己創(chuàng)建數(shù)據(jù)庫,然后創(chuàng)建表、索引,填充數(shù)據(jù)。Android提供了SQLiteOpenHelper幫助我們創(chuàng)建一個數(shù)據(jù)庫,我們只要繼承SQLiteOpenHelper類,就可以輕松創(chuàng)建數(shù)據(jù)庫。SQLiteOpenHelper類根據(jù)開發(fā)應(yīng)用程序的需要,封裝了創(chuàng)建和更新數(shù)據(jù)庫使用的邏輯。SQLiteOpenHelper的子類,至少需要實現(xiàn)三個方法:</p><p

107、>  ?構(gòu)造函數(shù),調(diào)用父類SQLiteOpenHelper的構(gòu)造函數(shù)。這個方法需要四個參數(shù):上下文環(huán)境(例如,一個Activity),數(shù)據(jù)庫名字,一個可選的游標工廠(通常是Null),一個代表你正在使用的數(shù)據(jù)庫模型版本的整數(shù)。</p><p>  ?onCreate()方法,它需要一個SQLiteDatabase對象作為參數(shù),根據(jù)需要對這個對象填充表和初始化數(shù)據(jù)。</p><p> 

108、 ?onUpgrage()方法,它需要三個參數(shù),一個SQLiteDatabase對象,一個舊的版本號和一個新的版本號,這樣你就可以清楚如何把一個數(shù)據(jù)庫從舊的模型轉(zhuǎn)變到新的模型。</p><p>  在日程應(yīng)用程序的DBService類中同樣實現(xiàn)了上述的三個方法來創(chuàng)建數(shù)據(jù)庫和一些操作。當(dāng)我們需要在數(shù)據(jù)庫中進行創(chuàng)建表、刪除數(shù)據(jù)、插入數(shù)據(jù)時,一般就要調(diào)用getReadableDatabase()或getWriteabl

109、eDatabase()方法,來得到SQLiteDatabase實例去改變數(shù)據(jù)庫里的內(nèi)容。其中的刪除數(shù)據(jù)的代碼如下:</p><p>  public void deleteRecord(int id)</p><p><b>  {</b></p><p>  String sql = "delete from t_records w

110、here id = " + id;</p><p>  SQLiteDatabase db = this.getWritableDatabase();</p><p>  db.execSQL(sql);</p><p><b>  }</b></p><p>  而查詢數(shù)據(jù)時我們就要用到Cursor游標來遍歷

111、數(shù)據(jù)庫中的數(shù)據(jù)了,其代碼如下:</p><p>  public Cursor query(String date)</p><p><b>  {</b></p><p>  SQLiteDatabase db = this.getReadableDatabase();</p><p>  Cursor cursor

112、= db.rawQuery(</p><p>  "select id,title from t_records where record_date='" + date</p><p>  + "' order by id desc", null);</p><p>  return cursor;</p

113、><p><b>  }</b></p><p><b>  第6章 系統(tǒng)測試</b></p><p>  為了提高本應(yīng)用程序的質(zhì)量,使應(yīng)用程序的使用更加人性化,友好化,一個完整的軟件測試是必不可少的。通過軟件測試我們能夠發(fā)現(xiàn)其中的一些錯誤和不合理的地方,這對于系統(tǒng)的完善是極有好處的。</p><p>

114、  6.1 測試方案及測試用例</p><p>  軟件測試是對軟件質(zhì)量保證的關(guān)鍵步驟,它是在軟件投入運行前,對軟件的需求分析、軟件規(guī)格說明和編碼實現(xiàn)的最終審查。通常對軟件的定義有兩種描述,第一軟件測試是為了發(fā)現(xiàn)錯誤而必須執(zhí)行的程序的過程;第二軟件測試是根據(jù)軟件設(shè)計開發(fā)各階段的需求說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計的一些測試用例,并利用這些測試用例運行程序和及時發(fā)現(xiàn)錯誤的過程,即執(zhí)行測試步驟。</p>

115、<p>  按照軟件測試用例的設(shè)計方法而論,軟件測試可以分為白盒測試和黑盒測試法。</p><p>  按照軟件測試的策略和過程分類,軟件測試可分為單元測試、集成測試、系統(tǒng)測試、驗證測試和確認測試。</p><p>  6.2 系統(tǒng)測試計劃</p><p>  在系統(tǒng)的開發(fā)和設(shè)計過程中,對系統(tǒng)做了如下幾個方面的測試:</p><p>

116、; ?。?)功能及正確性測試:對后臺記錄信息的增、刪、改、查等操作的測試。</p><p> ?。?)及時正確的處理系統(tǒng)各種錯誤的異常。</p><p><b>  6.3 系統(tǒng)測試</b></p><p>  (1)添加記錄測試用例,具體如表6.1所示。</p><p>  功能描述:驗證添加記錄信息功能。</p

117、><p>  用例目的:驗證添加記錄信息功能的實現(xiàn)。</p><p>  前提條件:已經(jīng)進入到添加記錄信息的頁面。</p><p>  表6.1 添加記錄測試</p><p> ?。?)修改記錄測試用例,具體如表6.2所示。</p><p>  功能描述:驗證修改記錄信息功能。</p><p>  

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論