版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 存檔日期: 存檔編號(hào): </p><p><b> 本科生畢業(yè)設(shè)計(jì)</b></p><p><b> 論 文 題 目:</b></p><p> 姓 名:
2、 </p><p> 學(xué) 院: 教育科學(xué)學(xué)院 </p><p> 專 業(yè): 教育技術(shù)學(xué) </p><p> 年 級(jí) 、 學(xué) 號(hào): </p>
3、<p> 指 導(dǎo) 教 師: </p><p><b> 目 錄</b></p><p><b> 摘 要1</b></p><p><b> 一、前 言1</b></p><p><
4、;b> (一)設(shè)計(jì)目標(biāo)1</b></p><p><b> ?。ǘ┫到y(tǒng)價(jià)值1</b></p><p> 二、系統(tǒng)需求分析2</p><p> 三、總體設(shè)計(jì)與系統(tǒng)結(jié)構(gòu)2</p><p><b> (一)總體設(shè)計(jì)2</b></p><p>&
5、lt;b> ?。ǘ┫到y(tǒng)結(jié)構(gòu)3</b></p><p> ?。ㄈ╅_發(fā)工具介紹和關(guān)鍵技術(shù)3</p><p> 1. Eclipse的介紹3</p><p> 2.JCreator與Tomcat介紹5</p><p> 3.關(guān)鍵技術(shù)介紹6</p><p> 四、系統(tǒng)功能設(shè)計(jì)7<
6、/p><p><b> ?。ㄒ唬┣芭_(tái)管理7</b></p><p><b> 1. 注冊(cè)7</b></p><p><b> 2. 用戶登錄8</b></p><p><b> 3. 設(shè)備查詢8</b></p><p>&
7、lt;b> 4. 用戶管理8</b></p><p><b> 5. 設(shè)備管理8</b></p><p><b> ?。ǘ┖笈_(tái)管理8</b></p><p><b> 1. 注冊(cè)管理9</b></p><p><b> 2. 登錄管
8、理9</b></p><p> 3. 設(shè)備查詢管理9</p><p><b> 4. 用戶管理9</b></p><p><b> 5. 設(shè)備管理9</b></p><p> 五、數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)9</p><p> (一)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)9
9、</p><p> (二)數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)11</p><p> 六、系統(tǒng)開發(fā)及編碼實(shí)現(xiàn)13</p><p> ?。ㄒ唬┓?wù)器端的設(shè)計(jì)---搭建java web服務(wù)器13</p><p> ?。ǘ┻B接數(shù)據(jù)庫(kù)模塊14</p><p> ?。ㄈ┓?wù)器功能模塊14</p><p>
10、 1. 注冊(cè)模塊14</p><p> 2. 登錄模塊15</p><p> 3. 設(shè)備查詢模塊15</p><p> 4. 特定用戶查詢模塊15</p><p> 5. 查詢所有用戶模塊15</p><p> 6. 新增設(shè)備模塊16</p><p> ?。ㄋ模┛蛻舳说脑O(shè)
11、計(jì)---設(shè)計(jì) UI界面16</p><p> ?。ㄎ澹┚唧w功能代碼實(shí)現(xiàn)17</p><p> 1. 注冊(cè)界面17</p><p> 2. 登錄界面20</p><p> 3. 學(xué)生用戶設(shè)備查詢界面23</p><p> 4. 管理員界面28</p><p> 5. 管理學(xué)生
12、用戶界面28</p><p> 6. 管理設(shè)備界面29</p><p> 7. 新增設(shè)備界面33</p><p><b> 七、用戶體驗(yàn)35</b></p><p> ?。ㄒ唬?用戶注冊(cè)體驗(yàn)35</p><p> (二)用戶登錄體驗(yàn)36</p><p>
13、 ?。ㄈ┰O(shè)備查詢體驗(yàn)37</p><p> ?。ㄋ模┯脩艄芾眢w驗(yàn)38</p><p> ?。ㄎ澹┰O(shè)備管理體驗(yàn)38</p><p><b> 八、總 結(jié)39</b></p><p><b> 參考文獻(xiàn)41</b></p><p> Abstract42<
14、;/p><p> 附錄一 其它核心代碼43</p><p> 基于Android平臺(tái)的設(shè)備查詢系統(tǒng)設(shè)計(jì)</p><p><b> [摘要]: </b></p><p> 基于web的傳統(tǒng)設(shè)備查詢應(yīng)用適合在PC機(jī)上使用,難以通過移動(dòng)終端隨時(shí)隨地的使用,而移動(dòng)終端尤其是智能手機(jī)的出現(xiàn)使得移動(dòng)應(yīng)用成為可能?;贏ndro
15、id平臺(tái)的設(shè)備查詢系統(tǒng)能夠通過Android終端實(shí)現(xiàn)設(shè)備隨時(shí)隨地的查詢和管理,擴(kuò)大用戶的使用空間。本篇文章闡述了在Android平臺(tái)下設(shè)備查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程,其目的是讓人們能夠在基于Android平臺(tái)的移動(dòng)設(shè)備上享受快捷方便的設(shè)備信息查詢服務(wù)。本系統(tǒng)采用C/S結(jié)構(gòu),使用Android布局技術(shù)設(shè)計(jì)頁(yè)面布局,實(shí)現(xiàn)了用戶注冊(cè)、登錄、查詢?cè)O(shè)備信息以及管理員用戶(老師)對(duì)普通用戶(學(xué)生)管理和普通用戶預(yù)借設(shè)備等功能,并在模擬器上通過了測(cè)試。
16、</p><p> [關(guān)鍵詞]:設(shè)備查詢系統(tǒng);Android開發(fā);Eclipse</p><p><b> 一、前 言</b></p><p><b> ?。ㄒ唬┰O(shè)計(jì)目標(biāo) </b></p><p> 隨著信息技術(shù)的快速發(fā)展,移動(dòng)互聯(lián)網(wǎng)時(shí)代已經(jīng)來臨。智能手機(jī)是移動(dòng)互聯(lián)網(wǎng)時(shí)代一個(gè)標(biāo)志性的客戶端工具
17、,它兼具了計(jì)算機(jī)具有強(qiáng)大的計(jì)算、存儲(chǔ)能力和傳統(tǒng)手機(jī)方便攜帶、移動(dòng)性好的優(yōu)勢(shì),同時(shí)還具有自己的操作系統(tǒng),能夠安裝、卸載軟件,可以通過移動(dòng)通信網(wǎng)絡(luò)來實(shí)現(xiàn)無線網(wǎng)絡(luò)接入,可以補(bǔ)充甚至代替?zhèn)鹘y(tǒng)web的諸多功能,因此,移動(dòng)終端技術(shù)必然有良好的發(fā)展前景。</p><p> 基于Android的設(shè)備查詢系統(tǒng)是適應(yīng)移動(dòng)終端快速良好發(fā)展的具體體現(xiàn), 該系統(tǒng)按功能的不同分為用戶管理、設(shè)備管理兩個(gè)部分。用戶按照使用者的不同分為管理員和
18、普通用戶(學(xué)生),兩類用戶都是使用同一個(gè)平臺(tái),只是權(quán)限不同。學(xué)生用戶只能注冊(cè)、查詢?cè)O(shè)備信息、預(yù)借等功能;管理員擁有可以對(duì)學(xué)生用戶賬號(hào)進(jìn)行注銷,查詢學(xué)生用戶信息,實(shí)時(shí)更新設(shè)備信息,發(fā)布新設(shè)備等權(quán)限。</p><p><b> ?。ǘ┰O(shè)計(jì)的價(jià)值</b></p><p> 就目前我國(guó)在設(shè)備管理移動(dòng)客戶端的開發(fā)與應(yīng)用來說,這方面還不是很成熟,多數(shù)學(xué)校設(shè)備管理系統(tǒng)還是采用傳
19、統(tǒng)的人管理設(shè)備模式,致使設(shè)備及時(shí)信息得不到擴(kuò)散,設(shè)備得不到充分的利用,降低了設(shè)備的應(yīng)有的價(jià)值。在這種情況下,基于Android平臺(tái)的設(shè)備查詢系統(tǒng)屬于一個(gè)計(jì)較新的應(yīng)用。該設(shè)計(jì)能及時(shí)方便地查詢?cè)O(shè)備信息、發(fā)布信息、預(yù)借設(shè)備、管理設(shè)備,做到設(shè)備信息的實(shí)時(shí)化,彌補(bǔ)了設(shè)備傳統(tǒng)管理中信息不能實(shí)時(shí)化的缺陷?,F(xiàn)今,對(duì)于校內(nèi)的設(shè)備管理者和使用來說,智能手機(jī)是一個(gè)必備的物品,手機(jī)客戶端這種形式的設(shè)備查詢系統(tǒng),能更加方便設(shè)備的管理和貼近學(xué)生的的生活,對(duì)設(shè)備的管
20、理和充分利用起到了促進(jìn)作用。</p><p><b> 二、系統(tǒng)需求分析</b></p><p> 大學(xué)的日常教學(xué)和生活中,學(xué)生由于學(xué)習(xí)或者生活的需要,對(duì)學(xué)校設(shè)備有較大的需求,而學(xué)校的設(shè)備在傳統(tǒng)的人管理設(shè)備模式中往往處于閑置狀態(tài)但又不能外借給學(xué)生,滿足學(xué)生的需求。而這種管理模式下多半是由于設(shè)備的信息得不到及時(shí)的傳播造成的。另一方面,設(shè)備的擁有方(校方)又希望設(shè)備得
21、到充分的利用,使使用價(jià)值最大化。為了解決這個(gè)矛盾,學(xué)生和校方都希望能夠讓設(shè)備信息得到及時(shí)的傳播,滿足學(xué)生的需求和校方的期望。設(shè)備管理系統(tǒng)就是基于這種矛盾應(yīng)運(yùn)而生的。該系統(tǒng)能夠解決設(shè)備信息傳播不及時(shí)的矛盾,方便設(shè)備的管理和貼近學(xué)生的的生活,具有較大使用價(jià)值。</p><p> 三、總體設(shè)計(jì)與系統(tǒng)結(jié)構(gòu)</p><p> 為了使軟件開發(fā)能夠及時(shí)、順利進(jìn)行,開發(fā)人員進(jìn)行了長(zhǎng)時(shí)間艱苦的學(xué)習(xí)?,F(xiàn)對(duì)
22、系統(tǒng)的總體設(shè)計(jì)和系統(tǒng)結(jié)構(gòu)設(shè)計(jì)及開發(fā)工具和關(guān)鍵技術(shù)做具體說明。</p><p><b> ?。ㄒ唬┛傮w設(shè)計(jì)</b></p><p> 基于Android平臺(tái)開發(fā)的設(shè)備查詢系統(tǒng)設(shè)計(jì)的思路是:用戶角色分為學(xué)生用戶和管理員兩類;功能包括注冊(cè)、登錄、設(shè)備查詢、設(shè)備更新、管理普通用戶(學(xué)生)共五個(gè)部分。其中系統(tǒng)管理中的學(xué)生用戶權(quán)限包括注冊(cè)、登錄、設(shè)備查詢、設(shè)備預(yù)借、修改個(gè)人信息
23、四個(gè)模塊;管理員的權(quán)限則是除了注冊(cè)、登錄、設(shè)備查詢權(quán)限外,還有實(shí)時(shí)更新設(shè)備信息、管理學(xué)生用戶、修改個(gè)人信息等模塊。從管理功能的角度來看分為前臺(tái)和后臺(tái)管理兩大部分。后臺(tái)管理模塊是本系統(tǒng)最重要部分之一,它是系統(tǒng)維護(hù)和信息管理平臺(tái)。根據(jù)現(xiàn)實(shí)需要,本系統(tǒng)后臺(tái)管理用戶有兩類:管理員和學(xué)生用戶。這兩類用戶使用的系統(tǒng)管理平臺(tái)都是同一個(gè)平臺(tái)上,只不過登陸之后根據(jù)用戶的不同類型擁有相應(yīng)的權(quán)限。</p><p><b>
24、?。ǘ┫到y(tǒng)結(jié)構(gòu)</b></p><p> 本系統(tǒng)總體邏輯結(jié)構(gòu)為C/S結(jié)構(gòu),結(jié)構(gòu)圖如圖2-1所示:</p><p> 圖2.1 C/S結(jié)構(gòu)圖</p><p> ?。ㄈ╅_發(fā)工具介紹及其關(guān)鍵技術(shù)</p><p> 1.Eclipse簡(jiǎn)介</p><p> Eclipse 是一個(gè)開放源代碼、基于 Jav
25、a 的可擴(kuò)展集成開發(fā)平臺(tái)。它本身只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。Eclipse 自身附帶了一個(gè)標(biāo)準(zhǔn)的插件集?! ?lt;/p><p> Android工程是在Eclipse工具上編寫的,進(jìn)行android工程的編寫,首先需要在Eclipse上安裝ADT插件,并且指定SDK所在的路徑,便可以創(chuàng)建android虛擬機(jī)(模擬器)了。</p><p> 在Eclipse中創(chuàng)建
26、虛擬機(jī)的步驟如下:</p><p> (1)安裝ADT插件</p><p> 在Eclipse單擊菜單欄的Help,在Help里面選中Install NewSoftware選項(xiàng),之后便可以出現(xiàn)如下界面:</p><p> 圖2.2 ADT安裝步驟界面</p><p> 指定好ADT的路徑后,就可以開始安裝ADT插件。</p>
27、;<p> (2)導(dǎo)入AndroidSDK</p><p> 安裝好ADT插件后,單擊Eclipse菜單欄Windows下找到preperence,點(diǎn)擊進(jìn)入,得到如下界面:</p><p> 圖2.3 AndroidSDK安裝界面</p><p> 如上圖,在左邊框架選項(xiàng)選中Android,在SDK Location下導(dǎo)入AndroidSDK路
28、徑,點(diǎn)擊Apply應(yīng)用,就會(huì)導(dǎo)入Android的各個(gè)版本。</p><p> (3)創(chuàng)建虛擬機(jī)(模擬器)</p><p> 安裝好ADT和導(dǎo)入AndroidSDK成功后,就可以在菜單欄Windows選項(xiàng)下找到AVD manage選項(xiàng),單擊進(jìn)入后便有管理android虛擬機(jī)界面,在創(chuàng)建界面設(shè)置好虛擬機(jī)參數(shù)并確定后,就創(chuàng)建好了一個(gè)android虛擬機(jī)。</p><p&g
29、t; 在創(chuàng)建好虛擬機(jī)后,點(diǎn)擊start按鈕便可以運(yùn)行選中的android虛擬機(jī), 2.3.3系統(tǒng)虛擬機(jī)下圖:</p><p> 圖2.4 android虛擬機(jī)視圖</p><p> 虛擬機(jī)模擬的是android智能手機(jī)的界面,通過操作虛擬機(jī)可以體驗(yàn)到android智能手機(jī)的大部分應(yīng)用。同時(shí)模擬器是作為開發(fā)的Android應(yīng)用運(yùn)行的工具,他提供最基本的人機(jī)交互功能。</p>
30、<p> 2.JCreator與Tomcat介紹</p><p> Jcreator是Xinox Software公司開發(fā)的一個(gè)用于Java程序設(shè)計(jì)的集成開發(fā)環(huán)境(IDE),具有編輯、調(diào)試、運(yùn)行Java程序的功能。它分為L(zhǎng)E和Pro版本。LE版本功能上受到一些限制,是免費(fèi)版本。Pro版本功能最全,但這個(gè)版本是一個(gè)共享軟件。這個(gè)軟件比較小巧,對(duì)硬件要求不是很高,完全用C++寫的,速度快、效率高。具
31、有語(yǔ)法著色、代碼自動(dòng)完成、代碼參數(shù)提示、工程向?qū)?、類向?qū)У裙δ堋5谝淮螁?dòng)時(shí)提示設(shè)置JavaJDK主目錄及JDKJavaDoc目錄,軟件自動(dòng)設(shè)置好類路徑、編譯器及解釋器路徑,還可以在幫助菜單中使用JDKHelp。</p><p> 圖2.5 JCreator Pro版本界面視圖</p><p> 本系統(tǒng)是基于C/S架構(gòu)的,所以需要在JCreator上創(chuàng)建服務(wù)器端,利用servlet來提
32、供服務(wù),并將其部署在Tomcat下。需要解決的是創(chuàng)建不同的servlet來提供不同的服務(wù)。</p><p> Tomcat是美國(guó)Apache 軟件基金會(huì)Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目。它是由Apache、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。目前,Tomcat 廣受程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源較小,擴(kuò)展性較好,還支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)等常用的功能;同時(shí),它還在不斷的改進(jìn)和完善
33、中,程序員可以更改它或在其中加入新的功能。</p><p> Tomcat 是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,它在中小型系統(tǒng)或者并發(fā)訪問用戶規(guī)模不大的場(chǎng)合下被普遍使用,受到廣泛的好評(píng),是開發(fā)和調(diào)試程序的首選。</p><p><b> 3. 關(guān)鍵技術(shù)介紹</b></p><p> 本軟件采用java作為開發(fā)語(yǔ)言,Android頁(yè)面布局和后臺(tái)服務(wù)器數(shù)
34、據(jù)存儲(chǔ)是開發(fā)本軟件的關(guān)鍵技術(shù),用戶界面的設(shè)計(jì)是否美觀和合理直接影響用戶體驗(yàn),因此運(yùn)用好布局技術(shù)是直接和用戶體驗(yàn)相關(guān),而數(shù)據(jù)存儲(chǔ)技術(shù)則記錄了用戶所有的操作數(shù)據(jù)和用戶所需要提取的數(shù)據(jù)。</p><p> 在Android中,UI通常使用xml技術(shù)設(shè)計(jì),而xml中控件的位置和狀態(tài)則離不開布局的使用,Android中常用的布局有五種,分別是:LinearLayout、AbsoluteLayout、RelativeLay
35、out、FrameLayout、TableLayout,由于布局的使用,并且布局之間可以互相嵌套,使得android軟件UI的設(shè)計(jì)變得非常靈活自如,非常復(fù)雜的界面設(shè)計(jì)也是通過合理的布局實(shí)現(xiàn)的。本系統(tǒng)開發(fā)采用的主要是LinearLayout布局。</p><p> 另外,Json數(shù)據(jù)交換技術(shù)也是本設(shè)計(jì)的關(guān)鍵技術(shù)之一。在服務(wù)器客戶端之間的數(shù)據(jù)傳輸采用json數(shù)據(jù)交換格式,服務(wù)器把數(shù)據(jù)放在bilder數(shù)據(jù)流里,在客戶
36、端通過json解析出特定數(shù)據(jù)值,從而便捷地解決了服務(wù)器與客戶端的數(shù)據(jù)交互。</p><p><b> 四、系統(tǒng)功能設(shè)計(jì)</b></p><p> 本系統(tǒng)采用C/S模式開發(fā),客戶端和服務(wù)器端是獨(dú)立分開的,這樣的分開也就形成了前臺(tái)管理和后臺(tái)管理。前臺(tái)管理注重用戶的交互是否簡(jiǎn)便,后臺(tái)管理注重功能的邏輯和與數(shù)據(jù)庫(kù)數(shù)據(jù)交互的功能。</p><p>&
37、lt;b> ?。ㄒ唬┣芭_(tái)管理</b></p><p> 前臺(tái)客戶端的所有功能畫出的功能流程圖如下:</p><p> 圖3.1 前臺(tái)客戶端流程圖</p><p><b> 1.注冊(cè)</b></p><p> 用戶通過手機(jī)客戶端主界面上的注冊(cè)按鈕注冊(cè)新的學(xué)生用戶,注冊(cè)用戶的信息通過服務(wù)器端和數(shù)據(jù)庫(kù)
38、連接,數(shù)據(jù)庫(kù)中的用戶表則會(huì)生成你注冊(cè)的信息,同時(shí)在手機(jī)客戶端提示注冊(cè)成功。</p><p><b> 2.用戶登錄</b></p><p> 用戶登錄分為兩類用戶:管理員和學(xué)生用戶??梢酝ㄟ^登錄界面中選定身份登錄,服務(wù)器根據(jù)登錄選定的信息選擇數(shù)據(jù)庫(kù)中的數(shù)據(jù)表進(jìn)行匹配,用戶名和密碼正確則登錄成功。</p><p><b> 3.設(shè)
39、備查詢</b></p><p> 在查詢界面輸入所需查詢?cè)O(shè)備名稱的關(guān)鍵字,通過服務(wù)器端查詢數(shù)據(jù)庫(kù)返回你所查詢的設(shè)備信息,設(shè)備信息包括:設(shè)備名稱、編號(hào)、是否可接、設(shè)備的地址等信息。</p><p><b> 4.用戶管理</b></p><p> 用戶管理模塊是管理員對(duì)學(xué)生用戶賬號(hào)的管理,對(duì)于某些賬號(hào)不使用了,比如:學(xué)生畢業(yè)等原
40、因不再使用賬號(hào)的問題,管理員有權(quán)利對(duì)這類賬號(hào)進(jìn)行刪除,同時(shí)可以學(xué)生用戶的用戶名查詢學(xué)生用戶的信息。</p><p><b> 5.設(shè)備管理</b></p><p> 這個(gè)功能也只有管理員身份才能擁有,管理員通過此功能,可以對(duì)設(shè)備進(jìn)行新增、刪除功能、修改設(shè)備信息。</p><p> 通過這個(gè)模塊,管理員可以對(duì)新增的設(shè)備進(jìn)行管理,實(shí)時(shí)發(fā)布新增
41、設(shè)備。還可以及時(shí)對(duì)設(shè)備信息及時(shí)修改,避免信息錯(cuò)誤。</p><p><b> (二)后臺(tái)管理</b></p><p> 后臺(tái)服務(wù)器端的主要任務(wù)是根據(jù)接收到的客戶端發(fā)送過來的請(qǐng)求,根據(jù)客戶端不同功能模塊,通過檢索數(shù)據(jù)庫(kù)不同表格,把檢索結(jié)果返回給客戶端顯示給以用戶,其基本流程圖如下:</p><p> 圖3.2 后臺(tái)服務(wù)器端流程圖</p
42、><p><b> 1.注冊(cè)管理</b></p><p> 用戶注冊(cè)提交:向服務(wù)器提交用戶注冊(cè)的信息,同時(shí)新增到數(shù)據(jù)庫(kù)。 </p><p> 注冊(cè)管理是后臺(tái)的一個(gè)重要內(nèi)容,注冊(cè)只提供學(xué)生用戶的注冊(cè),這樣可以保證設(shè)備館用戶權(quán)限的穩(wěn)定和安全。通過注冊(cè)用戶,用戶才能享受來自手機(jī)客戶端的所有功能。通過手機(jī)客戶端注冊(cè)用戶,來作為以后通過手機(jī)客戶端登錄設(shè)
43、備館管理系統(tǒng)的唯一身份認(rèn)證。</p><p><b> 2.登錄管理</b></p><p> 用戶登錄管理:根據(jù)你登錄的信息向服務(wù)器發(fā)送請(qǐng)求,然后和數(shù)據(jù)庫(kù)信息進(jìn)行對(duì)比,來確認(rèn)用戶登錄的成功與否。 </p><p> 登錄時(shí)候,首先你必須選定你的登錄身份,是以學(xué)生用戶還是管理員身份登錄,根據(jù)你選擇的不同身份,服務(wù)器向不同的數(shù)據(jù)庫(kù)表來核對(duì)信
44、息,以通過對(duì)用戶信息的核對(duì),以確定所登錄的賬號(hào)密碼是否正確。</p><p><b> 3.設(shè)備查詢管理</b></p><p> 設(shè)備查詢管理主要通過設(shè)備的幾個(gè)關(guān)鍵信息進(jìn)行查詢,根據(jù)設(shè)備名稱向數(shù)據(jù)庫(kù)提交信息進(jìn)行條件檢索。通過輸入信息的檢索,返回檢索設(shè)備的基本信息,比如:設(shè)備名稱、是否可接、設(shè)備的地點(diǎn)等。</p><p><b>
45、 4.用戶管理</b></p><p> 用戶管理,是管理員根據(jù)實(shí)際需要對(duì)用戶進(jìn)行注銷,是與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)更新與交互的服務(wù)。</p><p><b> 5.設(shè)備管理</b></p><p> 后臺(tái)的設(shè)備管理,是處理管理員把新設(shè)備添加到設(shè)備數(shù)據(jù)庫(kù)表的服務(wù),通過添加到數(shù)據(jù)庫(kù)表,學(xué)生用戶才能在設(shè)備查詢功能中查詢到新更新的設(shè)備信息。
46、同時(shí),對(duì)于已經(jīng)歸還的設(shè)備要及時(shí)修改是否可借,也就是更新從設(shè)備表的相應(yīng)信息。</p><p><b> 五、數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)</b></p><p> 本系統(tǒng)設(shè)計(jì)時(shí)采用的是SQL數(shù)據(jù)庫(kù)。SQL數(shù)據(jù)庫(kù)的版本是2005版。通過SQL Server Management Studio管理數(shù)據(jù)庫(kù)。以Windows身份驗(yàn)證登陸。</p><p> 配置
47、數(shù)據(jù)庫(kù):新建數(shù)據(jù)庫(kù)QE,在其中創(chuàng)建表,分別為:student(儲(chǔ)存學(xué)生用戶信息)、administrator(儲(chǔ)存管理員信息)、equipment(儲(chǔ)存設(shè)備信息)、borrow(儲(chǔ)存學(xué)生預(yù)借記錄)。</p><p> ?。ㄒ唬?shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 在需求分析階段已完成該系統(tǒng)所有的數(shù)據(jù)分析。根據(jù)該階段所建立的概念模型,已經(jīng)得出滿足系統(tǒng)設(shè)計(jì)要求的幾個(gè)關(guān)系描述,該階段的主要工作
48、就是把前一階段的成果轉(zhuǎn)化為具體的數(shù)據(jù)庫(kù)。</p><p> 管理員用戶用戶名(也就是老師的工號(hào))、密碼、姓名、電話四個(gè)屬性,通過這兩個(gè)屬性來確定管理員用戶的身份是否合法,其中用戶名(工號(hào))為主鍵,其E-R圖如下:</p><p> 圖4.1 管理員E-R圖</p><p> 學(xué)生用戶有用戶名(學(xué)號(hào))、姓名、密碼、班級(jí)、電話屬性,通過這些屬性,來確認(rèn)學(xué)生信息表的
49、信息,其中主鍵為用戶名(學(xué)號(hào)),其E-R圖如下:</p><p> 圖4.2 學(xué)生用戶E-R圖</p><p> 設(shè)備信息表,是用來存儲(chǔ)設(shè)備的基本信息,包括設(shè)備名稱、設(shè)備編號(hào)、是否可接、地址、管理員、管理員電話,其中編號(hào)為主鍵,其E-R圖如下:</p><p> 圖4.3 設(shè)備信息E-R圖</p><p> 學(xué)生預(yù)借記錄是用來儲(chǔ)存有學(xué)
50、生預(yù)借記錄信息的,學(xué)生通過查詢此表可以查到自己預(yù)借設(shè)備記錄。其屬性有學(xué)生學(xué)號(hào),預(yù)借設(shè)備編號(hào)、預(yù)借設(shè)備名稱、預(yù)借時(shí)間點(diǎn)四個(gè)屬性。主鍵Id,其E-R圖如下:</p><p> 圖4.4預(yù)借記錄E-R圖</p><p> 對(duì)于各個(gè)實(shí)體之間的關(guān)系E-R圖如下:</p><p> 圖 4.5 實(shí)體關(guān)系圖</p><p> (二)數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)
51、計(jì)</p><p> 依據(jù)數(shù)據(jù)庫(kù)的原理,并結(jié)合以上E-R圖,經(jīng)過轉(zhuǎn)化,即可進(jìn)行數(shù)據(jù)庫(kù)的物理設(shè)計(jì)?;谝陨蠑?shù)據(jù)庫(kù)的邏輯設(shè)計(jì),考慮程序設(shè)計(jì)的簡(jiǎn)易性,同時(shí)考慮題目的時(shí)間,該系統(tǒng)的數(shù)據(jù)庫(kù)采用SQL建立一個(gè)數(shù)據(jù)庫(kù),在其下創(chuàng)建4個(gè)數(shù)據(jù)表,其結(jié)構(gòu)分別如下各表:</p><p> 表4-1 數(shù)據(jù)表清單</p><p> 表4-2 administrator表</p>
52、;<p> 表4-3 student表</p><p> 表4-4 equipment表</p><p> 表4-5 borrow表</p><p> 六、系統(tǒng)開發(fā)及編碼實(shí)現(xiàn)</p><p> (一)服務(wù)器端的設(shè)計(jì)---搭建web服務(wù)器</p><p> 本軟件是C/S結(jié)構(gòu)的系統(tǒng),因此要先搭建
53、服務(wù)器端,利用JCreator Pro 編寫servlet來提供服務(wù),并將其部署在Tomcat下。創(chuàng)建不同的servlet來提供不同的服務(wù)。</p><p> 在JCreator Pro新建工程名myweb1,編譯成的.class文件位置在tomcat服務(wù)器web1\WEB-INF\classes下,web1為站點(diǎn)。如下圖所示:</p><p> 圖5.1 服務(wù)器端結(jié)構(gòu)和servlet
54、位置</p><p> ?。ǘ┻B接數(shù)據(jù)庫(kù)模塊</p><p> dbconn類是用來連接數(shù)據(jù)庫(kù)和操作數(shù)據(jù)庫(kù)的,并返回操作執(zhí)行的值。</p><p> (三)服務(wù)器功能模塊</p><p> 除dbconn類之外,其他的類都是為service提供服務(wù),封裝對(duì)數(shù)據(jù)庫(kù)的操作的方法。</p><p><b>
55、 其具體情況如下:</b></p><p><b> 1.注冊(cè)模塊</b></p><p> 注冊(cè)分為學(xué)生用戶注冊(cè)和管理員注冊(cè)。</p><p> 提供管理員用戶注冊(cè)servlet為registeradmin,重寫其doPost()和doGet()方法,該servlet是用來處理管理員用戶注冊(cè)請(qǐng)求。注冊(cè)的參數(shù)有Idadmin
56、,Passwordadmin,Nameadmin,Teladmin,其url為:</p><p> http://10.0.2.2:8080/web1/registeradmin。</p><p> 提供學(xué)生用戶注冊(cè)servlet為svlt_getdata,重寫其doPost()和doGet()方法,該servlet是用來處理學(xué)生用戶注冊(cè)請(qǐng)求。注冊(cè)的參數(shù)有Idstu,Namestu,P
57、asswordstu,Classstu,Telstu,其url為:</p><p> http://10.0.2.2:8080/web1/registerstu</p><p><b> 2.登錄模塊</b></p><p> 登陸分為學(xué)生用戶登陸和管理員登陸。</p><p> 提供用戶登錄的servlet為L(zhǎng)
58、oadingadmin,重寫其doPost()和doGet()方法,該servlet是用來處理學(xué)生用戶的請(qǐng)求。登錄的參數(shù)有Idadmin、Passwordadmin,其url為:</p><p> http://10.0.2.2:8080/web1/Loadingadmin。</p><p> 提供用戶登錄的servlet為L(zhǎng)oading,重寫其doPost()和doGet()方法,該
59、servlet是用來處理學(xué)生用戶的請(qǐng)求。登錄的參數(shù)有Idstu、Passwordstu,其url為:</p><p> http://10.0.2.2:8080/web1/Loading。</p><p><b> 3.設(shè)備查詢模塊</b></p><p> 設(shè)備查詢分為學(xué)生用戶查詢和管理員查詢。</p><p>
60、 提供管理員設(shè)備查詢servlet為admin_saerch_equipment,重寫其doPost()和doGet()方法,該servlet是用來處理管理員查詢特定設(shè)備的請(qǐng)求。查詢?cè)O(shè)備參數(shù)為EName,其url為:</p><p> http://10.0.2.2:8080/web1/admin_saerch_equipment</p><p> 提供學(xué)生用戶設(shè)備查詢servlet
61、為student_saerch_equipment,重寫其doPost()和doGet()方法,該servlet是用來處理學(xué)生查詢特定設(shè)備的請(qǐng)求。查詢?cè)O(shè)備參數(shù)為EIsendetail,其url為:</p><p> http://10.0.2.2:8080/web1/student_saerch_equipment。</p><p> 4.管理員學(xué)生用戶查詢模塊</p>
62、<p> 管理員查詢學(xué)生用戶分為查詢特定用戶和查詢所有用戶。</p><p> 提供特定用戶查詢servlet為admin_search_student_message,重寫其doPost()和doGet()方法,該servlet用來處理管理員查詢特定學(xué)生用戶信息的請(qǐng)求。管理員查詢特定學(xué)生用戶參數(shù)有Namestu,其url為:</p><p> http://10.0.2.
63、2:8080/web1/admin_search_student_message。</p><p> 5.查詢所有用戶模塊</p><p> 提供所有用戶查詢servlet為admin_search_allstudent_message,重寫其doPost()和doGet()方法, 該servlet用來處理管理員用戶查詢所有學(xué)生用戶信息的請(qǐng)求。因?yàn)槭遣樵兯袑W(xué)生用戶,所以不需要提供任何
64、參數(shù),只需要通過點(diǎn)擊查詢所有這個(gè)按鈕便可以查詢出所有,其url為:</p><p> http://10.0.2.2:8080/web1/admin_search_allstudent_message。</p><p><b> 6.新增設(shè)備模塊</b></p><p> 提供管理員添加設(shè)備servlet為equipment_add,重寫
65、其doPost()和doGet()方法,該servlet是用來處理管理員用戶發(fā)布新設(shè)備的請(qǐng)求。對(duì)發(fā)布的設(shè)備需要提供參數(shù)有設(shè)備名稱、設(shè)備編號(hào)、設(shè)備是否可接、設(shè)備的地址,設(shè)備管理員、設(shè)備管理員電話參數(shù),其url為:</p><p> http://10.0.2.2:8080/web1/equipment_add。</p><p> (四)設(shè)計(jì)安卓客戶端UI界面</p><
66、;p> 在Eclipse安裝好了ADT插件并且導(dǎo)入了AndroidSDK后,創(chuàng)建一個(gè)工程(android project),此工程是作為設(shè)備管理系統(tǒng)的客戶端,是為大用戶下載使用的,所以,該UI界面的主要要求是要操作性強(qiáng)和交互簡(jiǎn)單。Android project名稱:EQ(Equipment Qury的首字母大寫)</p><p> 我的工程結(jié)構(gòu)如圖所示:</p><p> 圖5
67、.2 客戶端系統(tǒng)結(jié)構(gòu)</p><p> 下面就來簡(jiǎn)單說說各個(gè)class文件的功能和作用:</p><p> Admin_equipment_manage.java 是管理員管理設(shè)備界面;</p><p> Admin_manage_studentuser.java是管理員管理學(xué)生用戶界面;</p><p> Admin_message
68、_modify.java是管理員修改個(gè)人信息界面;</p><p> Admin_modify_equipment.java是管理員修改設(shè)備信息界面;</p><p> Equipmentadd.java是管理新增設(shè)備界面;</p><p> Loading.java 是剛啟動(dòng)系統(tǒng)主界面,可以登錄或者注冊(cè);</p><p> M
69、ainadmin.java是管理員登陸成功后的主界面;</p><p> Mainmessagestu.java是學(xué)生用戶個(gè)人信息界面;</p><p> Mainsearchstu.java是學(xué)生用戶登陸后主界面;</p><p> Registerstu.java 是學(xué)生注冊(cè)界面;</p><p> Registeradmin.
70、java是管理員注冊(cè)界面; </p><p> Show_history_borrow.java是學(xué)生查詢預(yù)借記錄界面;</p><p> Stu_message_modify.java是學(xué)生修改人信息界面;</p><p> Student_equipment_detailmessage.java是學(xué)生看看設(shè)備詳細(xì)信息界面。</p><p
71、> ?。ㄎ澹┚唧w功能代碼實(shí)現(xiàn)</p><p><b> 1. 注冊(cè)界面</b></p><p> 對(duì)于一個(gè)系統(tǒng)的開始,首先必須的是用戶的注冊(cè)界面,注冊(cè)模塊是為了登錄系統(tǒng)所進(jìn)行的獲取通行證的步驟,注冊(cè)所有的信息都將提交給數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),注冊(cè)的信息將作為用戶在本系統(tǒng)進(jìn)行一切活動(dòng)的標(biāo)識(shí)。注冊(cè)界面如下:</p><p><b>
72、圖5.3 注冊(cè)界面</b></p><p> 以學(xué)生注冊(cè)為例,在輸入框內(nèi)輸入注冊(cè)信息,點(diǎn)擊確定按鈕便可以注冊(cè),主要代碼如下:</p><p> EditText idstu = (EditText)findViewById(R.id.idstu);</p><p> EditText passwordstu = (EditText)findView
73、ById(R.id.passwordstu);</p><p> EditText passwordstusencond = (EditText)findViewById(R.id.passwordstusencond);</p><p> EditText namestu = (EditText)findViewById(R.id.namestu);</p><p
74、> EditText telstu = (EditText)findViewById(R.id.telstu);</p><p> EditText classstu = (EditText)findViewById(R.id.classstu);</p><p> String Idstu = idstu.getText().toString().trim();</p&
75、gt;<p> String Passwordstu = passwordstu.getText().toString().trim();;</p><p> String Passwordstusencond = passwordstusencond.getText().toString().trim();;</p><p> String Namestu = nam
76、estu.getText().toString().trim();;</p><p> String Telstu = telstu.getText().toString().trim();;</p><p> String Classstu = classstu.getText().toString().trim();;</p><p> if(Passwo
77、rdstu.equals(Passwordstusencond)){if(Idstu.equals("")||Passwordstu.equals("")||Passwordstusencond.equals("")||Namestu.equals("")||Telstu.equals("")||Classstu.equals(&quo
78、t;")){</p><p> Toast.makeText(Registerstu.this, "注冊(cè)信息請(qǐng)?zhí)顚懲暾?quot;, Toast.LENGTH_LONG).show();; </p><p><b> }else{</b></p><p> String URL="http://10.0.2
79、.2:8080/web1/registerstu";</p><p> List<NameValuePair> </p><p> params=new ArrayList<NameValuePair>();</p><p> params.add(new BasicNameValuePair("Idstu"
80、;,Idstu));</p><p> params.add(new BasicNameValuePair("Passwordstu",Passwordstu));</p><p> params.add(new BasicNameValuePair("Namestu",Namestu));</p><p> param
81、s.add(new BasicNameValuePair("Telstu",Telstu));</p><p> params.add(new BasicNameValuePair("Classstu",Classstu));</p><p> new HttpThread(params,URL).start();</p><
82、p><b> }</b></p><p><b> }else{</b></p><p><b> ;</b></p><p><b> }</b></p><p> 運(yùn)行到這里就要執(zhí)行HttpThread類了,其的代碼如下:</p&
83、gt;<p><b> //線程</b></p><p> class HttpThread extends Thread{</p><p> List<NameValuePair> params;</p><p> String url=null;</p><p> public H
84、ttpThread( List<NameValuePair> params,String url){</p><p> this.params= params;</p><p> this.url=url;</p><p><b> }</b></p><p><b> @Override&
85、lt;/b></p><p> public void run() {</p><p> registerResult = postData(params,url);</p><p> //判定注冊(cè)成功后跳轉(zhuǎn)到登陸頁(yè)面</p><p> if(registerResult.equals("true")){&l
86、t;/p><p> Message msg1 = new Message();</p><p> msg1.obj = registerResult;</p><p> handler.sendMessage(msg1); </p><p><b> }</b></p><p><b&g
87、t; else{</b></p><p> Toast.makeText(Registerstu.this,"注冊(cè)失??!請(qǐng)重試", Toast.LENGTH_LONG).show();</p><p><b> }</b></p><p><b> }</b></p>
88、<p> public String postData(List<NameValuePair> params,String url){</p><p> String result = "";</p><p> InputStream is = null;</p><p> String line = null;&l
89、t;/p><p> String URL=url;</p><p><b> try{</b></p><p> HttpPost request=new HttpPost(URL);</p><p> request.setEntity(new UrlEncodedFormEntity(params,HTTP.UT
90、F_8));</p><p> HttpResponse response=new DefaultHttpClient().execute(request);</p><p> if (response.getStatusLine().getStatusCode() == 200) { </p><p> //result = EntityUtils.toSt
91、ring(response.getEntity(), "UTF-8");</p><p> is = response.getEntity().getContent();</p><p> BufferedReader read = new BufferedReader(new InputStreamReader(is));</p><p>
92、 while((line=read.readLine())!=null){</p><p> result = result + line;</p><p><b> }</b></p><p><b> } else {</b></p><p> //Log.i("HttpPo
93、st", "HttpPost方式請(qǐng)求失敗");</p><p> result = "-100";</p><p><b> }</b></p><p> }catch(Exception e){</p><p> e.printStackTrace();<
94、/p><p><b> }</b></p><p> return result;</p><p><b> }}</b></p><p> 執(zhí)行完這個(gè)方法體后就是到了hander方法了,其代碼如下:</p><p> handler=new Handler(){<
95、;/p><p> public void handleMessage(Message msg1){</p><p> String panding=(String)msg1.obj; if(panding.equals("true")){</p><p> Toast.makeText(Registerstu.this, &qu
96、ot;恭喜!注冊(cè)成功錄,請(qǐng)登錄", Toast.LENGTH_LONG).show(); </p><p> Intent intent=new Intent();</p><p> intent.setClass(Registerstu.this, Loading.class);</p><p> Registerstu.this.startAc
97、tivity(intent); </p><p> Registerstu.this.finish();</p><p><b> }else{</b></p><p> Toast.makeText(Registerstu.this, "注冊(cè)失敗,請(qǐng)重試!", Toast.LENGTH_LONG).sho
98、w();</p><p><b> }</b></p><p><b> }</b></p><p> //handler的}</p><p><b> };</b></p><p> 運(yùn)行到此,學(xué)生注冊(cè)算是完成了。由于管理員注冊(cè)和學(xué)生注冊(cè)類似
99、,因此不再說明管理員注冊(cè)界面。</p><p><b> 2.登錄界面</b></p><p> 登錄界面作為系統(tǒng)的門面,登錄界面完成的功能是驗(yàn)證所登錄用戶的賬號(hào)是否正確,以驗(yàn)證是否有進(jìn)入系統(tǒng)的權(quán)限。登錄界面如下:</p><p><b> 圖5.4 登錄界面</b></p><p> 登錄
100、界面主要為驗(yàn)證賬號(hào)和密碼的功能,登錄界面分為學(xué)生用戶登錄和管理員登錄,下面來說說主要功能的實(shí)現(xiàn):</p><p> 點(diǎn)擊登錄按鈕之后先獲取賬號(hào)和密碼,接著判定用戶的類型,根據(jù)用戶的類型相向不同的serverlet發(fā)送請(qǐng)求,主要功能代碼如下:</p><p> m_RadioGroup.setOnCheckedChangeListener(new RadioGroup.OnChecked
101、ChangeListener() { </p><p> @Override </p><p> public void onCheckedChanged(RadioGroup group, int checkedId) </p><p><b> { </b></p><p> switch(check
102、edId){</p><p> case R.id.load_radioButton1:</p><p> userleibie="student";</p><p><b> break;</b></p><p> case R.id.load_radioButton2: </p>
103、;<p> userleibie="admin";</p><p><b> break;</b></p><p><b> }</b></p><p> //Toast.makeText(Loading.this, userleibie, Toast.LENGTH_LONG).s
104、how();</p><p><b> } </b></p><p><b> }); </b></p><p> EditText idloading = (EditText)findViewById(R.id.idloading);</p><p> EditText passwor
105、dloading = (EditText)findViewById(R.id.passwordloading);</p><p> String Idloading = idloading.getText().toString();</p><p> String Passwordloading = passwordloading.getText().toString();</p
106、><p> //判定用戶類別后跳轉(zhuǎn)到相應(yīng)的主界面</p><p> if(userleibie.equals("student")){</p><p> //Toast.makeText(Loading.this, "用戶類別:"+userleibie, Toast.LENGTH_LONG).show();</p>
107、;<p> String URL="http://10.0.2.2:8080/web1/Loading";</p><p> List<NameValuePair> params=new ArrayList<NameValuePair>();</p><p> params.add(new BasicNameValuePair
108、("Idstu",Idloading));</p><p> params.add(new BasicNameValuePair("Passwordstu",Passwordloading));</p><p> new HttpThread(params,URL).start();</p><p> }else if(
109、userleibie.equals("admin")){</p><p> String URL="http://10.0.2.2:8080/web1/Loadingadmin";</p><p> List<NameValuePair> params=new ArrayList<NameValuePair>();<
110、/p><p> params.add(new BasicNameValuePair("Idadmin",Idloading));</p><p> params.add(new BasicNameValuePair("Passwordadmin",Passwordloading));</p><p> new HttpThr
111、ead2(params,URL).start();</p><p><b> }</b></p><p> 服務(wù)器根據(jù)傳送過來的數(shù)據(jù)檢索用戶名是否存在,密碼是否正確,如果正確則返回true,否則返回false,客戶端接收到返回?cái)?shù)據(jù)后,判定是否為true,是就進(jìn)入到相應(yīng)的主頁(yè),功能代碼:</p><p> if(LoadResult.equ
112、als("true")){</p><p> //System.out.println(LoadResult);</p><p> EditText idloading2 = (EditText)findViewById(R.id.idloading);</p><p> String Idloading2 = idloading2.get
113、Text().toString();</p><p> Intent intent=new Intent();</p><p> intent.putExtra("Idstu", Idloading2+"");</p><p> intent.setClass(Loading.this, Mainsearchstu.cl
114、ass);</p><p> Loading.this.startActivity(intent);</p><p> Loading.this.finish();</p><p><b> }</b></p><p><b> else{</b></p><p>
115、 Message msg1 = new Message();</p><p> msg1.obj = LoadResult;</p><p> handler.sendMessage(msg1);</p><p><b> }</b></p><p><b> }</b></p>
116、<p> 如果登陸成功,則跳轉(zhuǎn)到主界面,如果失敗,主線程就會(huì)收到message,提示登錄失敗,功能代碼:</p><p> handler=new Handler(){</p><p> public void handleMessage(Message msg1){</p><p> Toast.makeText(Loading.this,
117、"登錄失敗,請(qǐng)重試!", Toast.LENGTH_LONG).show(); </p><p><b> }</b></p><p> //handler的}</p><p><b> };</b></p><p> 3.學(xué)生用戶設(shè)備查詢界面</p>&
118、lt;p> 學(xué)生用戶通過輸入所需查詢的設(shè)備名稱時(shí),便可以從數(shù)據(jù)庫(kù)中查詢到所查詢的設(shè)備。需要說明的是,默認(rèn)的查詢條件為“可借”,如果需要查詢?nèi)吭O(shè)備,可以選擇“全部”。在沒有輸入任何關(guān)鍵字的情況下,查詢結(jié)果為選擇條件下的所有設(shè)備。例如,輸入框沒有輸入任何字,條件是“可借”,那么查詢的結(jié)果是顯示所有可借的設(shè)備。查詢“計(jì)算機(jī)”界面如下:</p><p> 圖5.5 設(shè)備查詢界面</p><
119、p> 設(shè)備查詢功能主要代碼如下:</p><p><b> 偵聽搜索按鈕</b></p><p> Button search_mainsearchstu=(Button) findViewById(R.id.search_mainsearchstu);search_mainsearchstu.setOnClickListener(new search_m
120、ainsearchstu());</p><p><b> 點(diǎn)擊事件發(fā)生后</b></p><p> public class search_mainsearchstu implements OnClickListener {</p><p><b> @Override</b></p><p&g
121、t; public void onClick(View v) {</p><p> //獲得搜索設(shè)備的名稱并賦值給EName</p><p> EditText EName_search = (EditText)findViewById(R.id.EName_search_mainsearchstu);</p><p> String EName = ENa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于android平臺(tái)的酒店即時(shí)查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-基于android平臺(tái)的成績(jī)查詢應(yīng)用
- android電子課表計(jì)算機(jī)畢業(yè)設(shè)計(jì)--基于android平臺(tái)的電子課表查詢?cè)O(shè)計(jì)與實(shí)現(xiàn)
- 基于android的天氣預(yù)報(bào)查詢系統(tǒng)的實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 基于android的天氣預(yù)報(bào)查詢系統(tǒng)的實(shí)現(xiàn)--畢業(yè)設(shè)計(jì)
- 畢業(yè)論文-基于android平臺(tái)的車輛信息查詢系統(tǒng)的開發(fā)設(shè)計(jì)
- 基于android平臺(tái)的飛機(jī)游戲畢業(yè)設(shè)計(jì)
- 基于android平臺(tái)的飛機(jī)游戲畢業(yè)設(shè)計(jì)
- 基于android平臺(tái)的股票查詢系統(tǒng)的設(shè)計(jì)與開發(fā)
- 基于android平臺(tái)的星座查詢軟件設(shè)計(jì)
- 基于android平臺(tái)的星座查詢軟件設(shè)計(jì)
- 基于android平臺(tái)的星座查詢軟件設(shè)計(jì)
- 基于android平臺(tái)的手機(jī)游戲開發(fā)【畢業(yè)設(shè)計(jì)】
- 基于android平臺(tái)的飛機(jī)游戲畢業(yè)設(shè)計(jì)x
- 畢業(yè)設(shè)計(jì)(論文)基于android平臺(tái)的手機(jī)商城的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)——基于android系統(tǒng)的失物招領(lǐng)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于Android平臺(tái)的星座查詢軟件設(shè)計(jì).doc
- 基于android平臺(tái)的電子課表查詢?cè)O(shè)計(jì)與實(shí)現(xiàn)
- 基于android平臺(tái)的掌上社區(qū)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 基于Android平臺(tái)的星座查詢軟件設(shè)計(jì).doc
評(píng)論
0/150
提交評(píng)論