版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1需求分析1.1問題提出本項目是一款基于智能手機(jī)的課堂教學(xué)反饋系統(tǒng)業(yè)系統(tǒng),使智能手機(jī)擁有在線答題的功能,便于老師及時了解學(xué)生對本堂課的理解情況,降低了檢測成本,節(jié)省了時間與紙質(zhì)答題的繁瑣。使老師學(xué)生的課堂生活更加多樣化,也使設(shè)計者更加熟練Android的技術(shù)和其它在市場上的特點。0 / 192系統(tǒng)設(shè)計及主要技術(shù)介紹2.1系統(tǒng)框架設(shè)計2.1.1組織結(jié)構(gòu)根據(jù)要求首先設(shè)計出系統(tǒng)組織結(jié)構(gòu)圖,如圖2-1所示:圖2-1 系統(tǒng)結(jié)構(gòu)圖Figure.2-1 System Structure圖中服務(wù)器上建有數(shù)據(jù)庫,存儲學(xué)生信息(學(xué)號,姓名,性別,班級,登錄時間,作業(yè)成績),試題信息(題號,題目類型,題干,選項或答
2、案,成績),意見欄。對于客觀題目直接判斷,統(tǒng)計學(xué)生個人的做題統(tǒng)計(答題數(shù)目,正確數(shù)目,答題時間等),以及每道題目的數(shù)據(jù)統(tǒng)計(答題人數(shù),正確人數(shù)),隨機(jī)分發(fā)組合題目。老師可通過登錄服務(wù)器編輯題庫,課上當(dāng)堂布置作業(yè),課后可批改學(xué)生上交的作業(yè)。學(xué)生用學(xué)號姓名登陸,提交作業(yè)并給老師留言,查閱以前的作業(yè)成績及老師批語。2.1.2 系統(tǒng)運(yùn)行流程圖根據(jù)分析,首先設(shè)計出系統(tǒng)運(yùn)行的流程,如圖2-2所示是學(xué)生的操作流程圖:學(xué)生首先在手機(jī)上運(yùn)行程序,然后使用用戶名密碼登陸,密碼正確則進(jìn)入下一功能選擇,這一模塊可進(jìn)行答題、成績查詢、留言等功能,最后提交試題,退出程序。根據(jù)規(guī)劃再設(shè)計出老師的操作流程圖,將老師所要實現(xiàn)的
3、全部功能流程化、具體化,如圖2-3所示:老師登陸服務(wù)器對學(xué)生以及試題庫進(jìn)行編輯,還可以查看學(xué)生的答題情況以及學(xué)生的留言,完成后可保存退出。1 / 19圖2-2 學(xué)生系統(tǒng)流程圖Figure.2-2 Flow Chart Of Student System圖2-3 老師系統(tǒng)流程圖Figure.2-2 Flow Chart Of Teacher System2.2數(shù)據(jù)庫主要技術(shù)及選擇2.2.1 常用的數(shù)據(jù)庫及介紹目前常用的數(shù)據(jù)庫有大型數(shù)據(jù)庫:Oracle、Sybase、DB2、SQL Server小型數(shù)據(jù)庫:Access、MySQL2 / 19Oracle是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是一個協(xié)調(diào)服務(wù)器
4、和用于支持任務(wù)決定型應(yīng)用程序的開放型RDBMS。Orcale屬于大型數(shù)據(jù)庫系統(tǒng),主要適用于大、中小型應(yīng)用系統(tǒng),或作為客戶機(jī)/服務(wù)器系統(tǒng)中服務(wù)器端的數(shù)據(jù)庫系統(tǒng)。Sybase通常與Sybase SQL Anywhere用于客戶機(jī)/服務(wù)器環(huán)境,前者作為服務(wù)器數(shù)據(jù)庫,后者為客戶機(jī)數(shù)據(jù)庫,采用該公司研制的Power Builder為開發(fā)工具,在大中型系統(tǒng)中具有廣泛的應(yīng)用,。DB2是IBM公司研制的一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),主要應(yīng)用于大型應(yīng)用系統(tǒng),具有較好的可伸縮性,可支持從大型機(jī)到單用戶環(huán)境,應(yīng)用于OS/2、Windows等平臺下。Access是美國Microsoft公司于1994年推出的微機(jī)數(shù)據(jù)庫管理
5、系統(tǒng)。它具有界面友好、易學(xué)易用、開發(fā)簡單、接口靈活等特點,是典型的新一代桌面數(shù)據(jù)庫管理系統(tǒng)。主要適用于中小型應(yīng)用系統(tǒng),或作為客戶機(jī)/服務(wù)器系統(tǒng)中的客戶端數(shù)據(jù)庫。MySQL是一個由瑞典MySQL AB公司開發(fā)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),MySQL軟件采用了雙授權(quán)政策,其體積小、速度快、總體擁有成本低,一般搭配PHP和Apache可組成良好的開發(fā)環(huán)境。SQL Server是美國Microsoft公司推出的一種關(guān)系型數(shù)據(jù)庫系統(tǒng)。SQL Server是一個可擴(kuò)展的、高性能的、為分布式客戶機(jī)/服務(wù)器計算所設(shè)計的數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)了與Windows NT的有機(jī)結(jié)合,提供了
6、基于事務(wù)的企業(yè)級信息管理系統(tǒng)方案。2.2.2數(shù)據(jù)庫的選擇Oracle、Sybase、DB2三種數(shù)據(jù)庫均適用于大中型系統(tǒng),應(yīng)用在本次系統(tǒng)上完全沒必要,并且我的筆記本電腦也很難完美運(yùn)行,所以不適用本系統(tǒng)。Access與Android的兼容性很低,很難互聯(lián),所以不再選擇之列,MySQL功能太少且經(jīng)常出錯不適合本系統(tǒng),經(jīng)過考慮,決定使用SQL Server 2008。Microsoft SQL Server 2008是一個重大的產(chǎn)品版本,它推出了許多新的特性和關(guān)鍵的改進(jìn),使得它成為至今為止的最強(qiáng)大和最全面的Microsoft SQL Server版本?;谒男绿匦?、優(yōu)點和功能,本系統(tǒng)選擇SQL Se
7、rver 2008 作為數(shù)據(jù)庫的開發(fā)工具。其主要特點如下:(1)高性能設(shè)計,可充分利用Windows NT的優(yōu)勢。(2)系統(tǒng)管理先進(jìn),支持Windows圖形化管理工具,支持本地和遠(yuǎn)程的系統(tǒng)管理和配置。(3)強(qiáng)壯的事務(wù)處理功能,采用各種方法保證數(shù)據(jù)的完整性。(4)支持對稱多處理器結(jié)構(gòu)、存儲過程、ODBC,并具有自主的SQL語言。 SQL Server以其內(nèi)置的數(shù)據(jù)復(fù)制功能、強(qiáng)大的管理工具、與Internet的緊密集成和開放的系統(tǒng)結(jié)構(gòu)為廣大的用戶、開發(fā)人員和系統(tǒng)集成商提供了一個出眾的數(shù)據(jù)庫平臺。SQL server本身提供了一些存儲過程,用于管理SQL server和現(xiàn)實有關(guān)數(shù)據(jù)庫和用戶的信息,稱
8、之為系統(tǒng)存儲過程。系統(tǒng)存儲過程放在master數(shù)據(jù)庫中,歸系統(tǒng)管理員所有,但其中很多過程都可以運(yùn)行在數(shù)據(jù)庫中。用戶也可以編寫自己的存儲過程,并把它存放在數(shù)據(jù)庫中。這樣就可以做到充分發(fā)揮數(shù)據(jù)庫服務(wù)器的功能,盡量減少網(wǎng)絡(luò)上的阻塞。3 / 19使用存儲過程時,數(shù)據(jù)可以在數(shù)據(jù)庫服務(wù)器上完成。把完成某一數(shù)據(jù)庫處理的功能涉及為存儲過程,就可以在各個程序中反復(fù)調(diào)用,從而減輕了程序編寫的工作量。此外,存儲過程還可以間接實現(xiàn)一些安全控制功能。微軟的這個數(shù)據(jù)平臺滿足數(shù)據(jù)爆炸和下一代數(shù)據(jù)驅(qū)動應(yīng)用程序的需求,支持?jǐn)?shù)據(jù)平臺愿景:關(guān)鍵任務(wù)企業(yè)數(shù)據(jù)平臺、動態(tài)開發(fā)、關(guān)系數(shù)據(jù)和商業(yè)智能。2.3 連接方式介紹及選擇Web Ser
9、vice是一項新技術(shù),能使得運(yùn)行在不同機(jī)器上的不同應(yīng)用無須借助附加的、專門的第三方軟件或硬件,就可相互交換數(shù)據(jù)或集成。依據(jù)Web Service規(guī)范實施的應(yīng)用之間, 無論它們所使用的語言、平臺或內(nèi)部協(xié)議是什么,都可以相互交換數(shù)據(jù)。Web Service是自描述、自包含的可用網(wǎng)絡(luò)模塊,可以執(zhí)行具體的業(yè)務(wù)功能。Web Service也很容易部署, 因為它們基于一些常規(guī)的產(chǎn)業(yè)標(biāo)準(zhǔn)以及已有的一些技術(shù),諸如XML和HTTP。Web Service減少了應(yīng)用接口的花費(fèi)。服務(wù)端可以寫成Webservice也可以寫成Website,前者只是提供一種服務(wù),而后者是可以提供用戶界面等具體的頁面,后者也就是平時所說
10、的“網(wǎng)站”。兩者的區(qū)別:Web Service 只提供程序和接口,不提供用戶界面,Web Site 提供程序和接口,也提供用戶界面(網(wǎng)頁)由于本系統(tǒng)只是需要一個中介來訪問SQL Server,所以寫成Webservice足夠了。2.4 Android平臺相關(guān)技術(shù)2.4.1 開發(fā)工具EclipseEclipse 是一個開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺,目前最好的Android開發(fā)工具。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個標(biāo)準(zhǔn)的插件集,包括Android開發(fā)工具(Android Development Tools,AD
11、T)。Eclipse的插件機(jī)制是輕型軟件組件化架構(gòu)在客戶機(jī)平臺上,Eclipse使用插件來提供所有的附加功能,例如支持Java以外的其他語言。 已有的分離的插件已經(jīng)能夠支持C/C+(CDT)、Perl、Ruby,Python、telnet和數(shù)據(jù)庫開發(fā)。插件架構(gòu)能夠支持將任意的擴(kuò)展加入到 現(xiàn)有環(huán)境中,例如配置管理,而決不僅僅限于支持各種編程語言。目前Android開發(fā)所用的開發(fā)工具是Eclipse,在Eclipse編譯IDE環(huán)境中,安裝ADT,為Android開發(fā)提供開發(fā)工具的升級或者變更,簡單理解為在Eclipse下開發(fā)工具的升級下載工具。SDK(Software Development Ki
12、t)一般是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。在Android中,它為開發(fā)者提供了庫文件以及其它開發(fā)所用到的工具。簡單理解為開發(fā)工具包集合,是整體開發(fā)中所用到的工具包,所以用Eclipse作為開發(fā)工具,不需要下載ADT,只下載SDK即可開發(fā)。4 / 192.4.2 Android平臺系統(tǒng)架構(gòu)基于Android平臺的應(yīng)用軟件開發(fā),需要了解Android平臺的相關(guān)技術(shù)和設(shè)計理念,尤其是Android系統(tǒng)架構(gòu)的應(yīng)用框架層。Android應(yīng)用開發(fā)需要繼承、實現(xiàn)應(yīng)用框架層的有關(guān)類和接口,或者直接調(diào)用系統(tǒng)類庫中的方法,以實現(xiàn)具體的功能,在這種情況
13、下,就必須要查看Android SDK幫助文檔,了解相關(guān)類和接口的功能及其使用方法。Android是基于Linux內(nèi)核的軟件平臺和操作系統(tǒng),它采用了軟件層(software stack,又名軟件疊層)的架構(gòu),主要分為三層。底層以Linux內(nèi)核作為基礎(chǔ),以C語言編寫,只提供基礎(chǔ)功能。中間層包括函數(shù)庫Library和虛擬機(jī)Virtual Machine,以C+編寫。最上層是各種應(yīng)用軟件以及應(yīng)用框架,包括通話程序,短信程序等,應(yīng)用軟件由不同的開發(fā)者獨(dú)立完成,以Java語言編寫。Android不只是一個操作系統(tǒng),它包括了:1經(jīng)過Google剪裁和調(diào)優(yōu)的Linux Kernel,支持大多數(shù)手持設(shè)備的硬件
14、體系。2經(jīng)過Google修改的Java虛擬機(jī)Dalvik,基于Apache Harmony虛擬機(jī)版本進(jìn)行改良,具有極高的執(zhí)行性能,大部分Java核心類庫都可以直接在Java虛擬機(jī)上運(yùn)行。3大量可用的類庫和應(yīng)用軟件,例如瀏覽器Webkit,數(shù)據(jù)庫SQLite等,對于下游開發(fā)者而言,能極大地縮短開發(fā)時間,降低開發(fā)成本。4Android提供了一整套基于Eclipse的完整開發(fā)環(huán)境、模擬器、幫助文檔、示例,對Android的快速推廣和發(fā)展有極大推動作用。Android 平臺的系統(tǒng)架構(gòu)如圖2-3所示:圖2-3 Android系統(tǒng)架構(gòu)Figure.2-3 Android FrameworkAndroid系
15、統(tǒng)架構(gòu)分為四層,從上層到底層分別是應(yīng)用層、應(yīng)用框架層、系統(tǒng)運(yùn)行庫層和Linux內(nèi)核層。(1). 應(yīng)用層(Applications)。應(yīng)用層由運(yùn)行在Android設(shè)備上的所有應(yīng)用構(gòu)成,它不僅包括通話、短信、聯(lián)系人等系統(tǒng)應(yīng)用,還包括其他后續(xù)安裝到設(shè)備中的第三方應(yīng)用,是普通用戶唯一可見的一層。6 / 19(2). 應(yīng)用框架層(Application Framework)。這是Android系統(tǒng)中最核心的部分,它集中體現(xiàn)了Android系統(tǒng)設(shè)計思想??蚣軐佑啥鄠€系統(tǒng)服務(wù)組成,所有服務(wù)都寄宿在系統(tǒng)核心進(jìn)程(System Core Process)中??蚣軐幼钪庇^的的體現(xiàn)就是SDK,它通過一系列的Java
16、功能模塊來實現(xiàn)應(yīng)用所需的功能。主要包括:豐富而又可擴(kuò)展的視圖組建:用來構(gòu)建應(yīng)用程序,它包括列表(List)、網(wǎng)絡(luò)(Grid)、文本框(TextBox)、按鈕(Button),以及可嵌入的Web游覽器。內(nèi)容提供器 (Content Provider):它可以讓一個應(yīng)用訪問另一個應(yīng)用的數(shù)據(jù)。資源管理器(Resoure Manager):提供非代碼資源的訪問,如本地字符串、圖形和布局文件等。通知管理器(Notification Manager):應(yīng)用可以在狀態(tài)欄中顯示自定義的提示信息?;顒庸芾砥?Activity Manager):管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。窗口管理器(Windo
17、w Manager):管理所有的窗口程序。包管理器(Package Manager):Android系統(tǒng)內(nèi)的程序管理。(3). 系統(tǒng)運(yùn)行核心類庫及運(yùn)行時(Libraries & Android Runtime)。核心類庫的來源主要有兩種,一種是系統(tǒng)原生類庫,如基礎(chǔ)算法,另一種是第三方類庫,大部分都是對優(yōu)秀開源項目的移植,如多媒體庫、Webkit、SQLite等。運(yùn)行時(Android Runtime)提供了Dalvik虛擬機(jī),為Android應(yīng)用提供動力,決定其執(zhí)行效率。每個Java程序都運(yùn)行在Dalvik虛擬機(jī)上。與 PC一樣,每個 Android 應(yīng)用程序都有自己的進(jìn)程,Dalvi
18、k 虛擬機(jī)執(zhí)行.dex文件。當(dāng) Java 程序通過編譯生成.dx文件,通過 SDK 中的 .dx工具轉(zhuǎn)化成.dex 格式。(4)Linux內(nèi)核層(Linux Kernel)。Android 的核心系統(tǒng)服務(wù)基于Linux 2.6內(nèi)核,如安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議和驅(qū)動模型等都依賴于該內(nèi)核。Linux 內(nèi)核同時也作為硬件和軟件棧之間的抽象層。Android 更多的是需要一些與移動設(shè)備相關(guān)的驅(qū)動程序,包括顯示驅(qū)動(Display Driver)、鍵盤驅(qū)動(KeyBoard Driver)、Flash內(nèi)存驅(qū)動(Flash Memory Driver)、照相機(jī)驅(qū)動(Camera Driver)
19、、音頻驅(qū)動(Audio Driver)、藍(lán)牙驅(qū)動(Bluetooth Driver)、WiFi、電源管理(Power Management)等。正是由于Android自身的眾多優(yōu)點,Android系統(tǒng)自推出以來就得到眾多手機(jī)開發(fā)廠商和通訊業(yè)務(wù)提供商的青睞,其在智能手機(jī)領(lǐng)域的市場份額更是節(jié)節(jié)攀升,同時也催生了更多的移動互聯(lián)網(wǎng)業(yè)務(wù),促進(jìn)了移動應(yīng)用產(chǎn)業(yè)鏈的擴(kuò)大和發(fā)展。2.4.3 Android平臺的主要特點Android是基于Linux的開源平臺,這一來源決定了它具有諸多優(yōu)點:1開放性。除了一些核心代碼外,平臺的絕大部分源代碼可以免費(fèi)獲得。2跨應(yīng)用程序。Android基于組件的設(shè)計思想使得應(yīng)用之間界
20、限變得模糊,用戶的直接感知是不同界面之間的跳轉(zhuǎn),而不是應(yīng)用程序之間的切換。6 / 193應(yīng)用程序是在平等的條件下創(chuàng)建的。移動設(shè)備上的應(yīng)用程序可以被替換或擴(kuò)展,即使是撥號程序或主屏幕這樣的核心組件。4應(yīng)用程序無界限。Android 應(yīng)用可以通過API訪問核心移動設(shè)備功能。應(yīng)用程序可以通過互聯(lián)網(wǎng)聲明它們的功能并供其他應(yīng)用程序使用。5多任務(wù)并行運(yùn)行。Android在這一點上直接繼承了Linux的多任務(wù)特點,多個進(jìn)程或線程可以并行運(yùn)行。2.4.4 Android平臺主要類庫介紹Android平臺為開發(fā)者提供了一系列可用且高效的類庫,所有的第三方應(yīng)用都是基于這些類庫來實現(xiàn)的。主要包括:android.a
21、pp:提供高層的程序模型和基本的運(yùn)行環(huán)境。android.content:包含對各種設(shè)備上的數(shù)據(jù)進(jìn)行訪問和發(fā)布。android.database:通過內(nèi)容提供者瀏覽和操作數(shù)據(jù)庫。android.media:提供一些類管理多種音頻、視頻的媒體接口。:提供幫助網(wǎng)絡(luò)訪問的類,超過通常的 .*接口。vider:提供訪問 Android 內(nèi)容提供者的類。android.telephony:提供與撥打電話相關(guān)的 API 交互。android.view:提供基礎(chǔ)的用戶界面接口框架。android.util :涉及工具性的方法,例如時間日期的操作。android.webkit :默認(rèn)瀏覽
22、器操作接口。android.widget:包含各種UI元素在應(yīng)用程序的布局中使用。7 / 193系統(tǒng)的實現(xiàn)3.1數(shù)據(jù)庫設(shè)計3.1.1數(shù)據(jù)庫的需求分析課堂教學(xué)反饋系統(tǒng)以作業(yè)檢測為主體,因此在這個系統(tǒng)中必須要有一個表保存試題信息(題號、題干、選項、答案、空字段供學(xué)生答題,并且以題號為主鍵)。負(fù)責(zé)登錄終端系統(tǒng)的學(xué)生應(yīng)該有保存學(xué)生信息的表,這個表中也是包括一些基本信息(學(xué)號、姓名、性別、班級、專業(yè)、成績,并且以學(xué)號作為主鍵)。學(xué)生可以自己選擇在題目的編號中選擇自己要答的題。另外系統(tǒng)中必須要有一個統(tǒng)計表,該表中包括答題總?cè)藬?shù),答題正確人數(shù),答題時間等基本信息。3.1.2數(shù)據(jù)庫的概念設(shè)計根據(jù)無線作業(yè)系統(tǒng)的
23、需求,設(shè)計出以下的實體-關(guān)系模型(E-R)圖如圖3-1所示:圖3-1 實體聯(lián)系圖Figure.3-1 Entity Chart3.1.3數(shù)據(jù)庫的邏輯設(shè)計數(shù)據(jù)庫的邏輯設(shè)計,即把概念設(shè)計得到的概念數(shù)據(jù)庫模式變?yōu)檫壿嫈?shù)據(jù)模式,它依賴于DBMS(database management system,數(shù)據(jù)庫管理系統(tǒng))。根據(jù)無線課堂教學(xué)反饋系統(tǒng)的需求分析及數(shù)據(jù)庫的概念設(shè)計,得到以下的數(shù)據(jù)庫表和表的相關(guān)說明如下:首先創(chuàng)建數(shù)據(jù)庫test,根據(jù)設(shè)計要求,為了存儲學(xué)生信息在數(shù)據(jù)庫中創(chuàng)建學(xué)生表(studata),如表3-2所示:表3-2 數(shù)據(jù)庫學(xué)生表Table 3-2 Database Student序號字段名稱字
24、段含義類型寬度備注1stunumber學(xué)號char8Primary key2stuname姓名varchar83stusex性別char44stuid身份證后八位char85stuclass班級char86stutime答題時間int8Foreign key7stuscore成績int8Foreign key8 / 19在數(shù)據(jù)庫中創(chuàng)建試題表(test1)存儲試題信息,如3-3所示:表3-3 數(shù)據(jù)庫試題表Table 3-3 Database Exam序號字段名稱字段含義類型寬度備注1testnumber題號char8Primary key2testcont題干char703testa選項acha
25、r84testb選項bchar85testc選項cchar86testdaan答案char8在數(shù)據(jù)庫中創(chuàng)建管理表(admin)存儲答題時間人數(shù)統(tǒng)計信息,如表3-4所示:表3-4 數(shù)據(jù)庫管理表Table 3-4 Database Management序號字段名稱字段含義類型寬度備注1testnumber題號char8Primary key2dtnumber答題人數(shù)int43zqnumber正確人數(shù)int44stutime答題時間time83.2 連接數(shù)據(jù)庫的設(shè)計寫一個Website訪問SQL Server,獲取數(shù)據(jù)并轉(zhuǎn)換成xml格式,然后傳遞給Android客戶端。新建一個Webservice工
26、程,在服務(wù)器資源管理器中添加SQL Server的連接,新建一個類,代碼如下:namespace StockManageWebservice / 一個操作數(shù)據(jù)庫的類,所有對SQLServer的操作都寫在這個類中,使用的時候?qū)嵗粋€然后直接調(diào)用就可以 public class DBOperation:IDisposable public static SqlConnection sqlCon; /用于連接數(shù)據(jù)庫 /將下面的引號之間的內(nèi)容換成上面記錄下的屬性中的連接字符串privateStringConServerStr="DataSource=BOTTLE-PC;InitialCat
27、alog=StockManage;Integrated Security=True" /默認(rèn)構(gòu)造函數(shù) public DBOperation() if (sqlCon = null) sqlCon = new SqlConnection(); sqlCon.ConnectionString = ConServerStr; sqlCon.Open(); 9 / 19 /關(guān)閉/銷毀函數(shù),相當(dāng)于Close() public void Dispose() if (sqlCon != null) sqlCon.Close(); sqlCon = null; 以上創(chuàng)建了一個類,可以訪問SQL Se
28、rver數(shù)據(jù)庫,具體調(diào)用時可以新建類繼承此類使用。只有成功連接到了數(shù)據(jù)庫才能進(jìn)行其他操作,否則就無法開展以下的設(shè)計與實現(xiàn)了可見,連接數(shù)據(jù)庫是一個很關(guān)鍵的步驟。當(dāng)正確安裝后在本地的瀏覽器或者局域網(wǎng)內(nèi)的任何移動設(shè)備的瀏覽器(包括手機(jī))輸入“http: /15: 3360”,就可以打開一個歡迎網(wǎng)頁( 15為當(dāng)前電腦的IP,也可以輸入http:/localhost: 3360,默認(rèn) localhost 變量指向當(dāng)前電腦的IP)。設(shè)計好工程后,在客戶端軟件的 LoginActivity 模塊訪問服務(wù)器地址為:“http: /15: 336
29、0/DinningServer/LoginServlet?user=10passwd = 10”。3.3 客戶端程序設(shè)計客戶端是使用者最直接接觸的東西,包括是否能夠讓客戶很輕松、方便的使用,操作響應(yīng)時間、主機(jī)連接時間、圖片綜合質(zhì)量、首頁布局質(zhì)量、首頁信息類型等。 一般來說,一個界面主要由下面幾個因素構(gòu)成: (1)文字:文字元素是信息傳達(dá)的主體部分。界面中的文字主要包括標(biāo)題、信息、文字鏈接幾種主要形式。標(biāo)題和傳統(tǒng)媒體中信息傳達(dá)的基本作用相同,是內(nèi)容的簡概說明一般比較醒目、優(yōu)先編排。文字作為占據(jù)頁面重要比率的元素,同時又是信息重要載體,它的字體、大小、顏色和排布對頁面整體設(shè)計影
30、響極大。 (2)圖形:圖形在界面中具有重要作用。合理的運(yùn)用圖形,可以生動直觀、形象地表現(xiàn)設(shè)計主題。網(wǎng)頁中常用的圖形格式包括jpg和gif,這兩種格式壓縮比高,得到了Android平臺的支持,圖形元素包括標(biāo)題、背景、主圖、鏈接圖標(biāo)四種。 (3)界面版式:版式是界面設(shè)計的重要組成部分,它將文字、圖形等視覺元素進(jìn)行組合配置,使頁面整體視覺效果美觀和諧,便于閱讀,操作,實現(xiàn)信息傳達(dá)的最佳效果。 終端系統(tǒng)的界面設(shè)計也是綜合了文字,圖形等元素。使每一個功能有文字與圖片的共同描述,達(dá)到看圖就大概知道此鍵是什么功能的目的,最終的目的還是為了使用者能夠快速上手,不至于因
31、為操作的不得當(dāng)而放棄此系統(tǒng)。3.3.1 界面設(shè)計及按鍵響應(yīng)Android界面是由許多Activity構(gòu)成,首先要設(shè)計Android的布局文件,由于系統(tǒng)的不確定性,大部分布局文件采用了相對布局(Relative Layout),然后是在按鍵控件上添加響應(yīng),下面是具體每個Activity的實現(xiàn)過程。11 / 19首先單獨(dú)建立一個Activity用來控制用戶的登錄,在用戶輸入賬號與密碼時,系統(tǒng)先判斷用戶賬號密碼是否為空,為空則跳出一個對話框給用戶提示;如果不為空則再從EditView中取的賬號密碼與服務(wù)器中的賬號密碼進(jìn)行匹配,如果匹配成功則利用Intent語句跳轉(zhuǎn)到下一個主菜單界面。 界面
32、如圖3-4所示: 圖3-5 登陸界面 圖3-6 主界面Figure.3-5 Interface Login Figure.3-6 Main Interface實現(xiàn)登錄主要代碼及注釋: loginBtn.setOnClickListener(new OnClickListener() Override public void onClick(View v) if(validate() /通過validate()判斷賬號密碼是否為空 if(login() /通過login()連接數(shù)
33、據(jù)庫核對是否一致 Intent intent = new Intent(LoginActivity.this,MainActivity.class); startActivity(intent); /啟動Activity傳遞intent來跳轉(zhuǎn)頁面 Else showDialog("用戶名稱或者密碼錯誤,請重新輸入!"); 對登錄按鈕添加監(jiān)聽事件,在學(xué)生輸入賬號密碼后點擊登錄后,終端會先判斷是否滿足val
34、idate()方法,此方法是防止賬號密碼為空時的登錄提示,如果為空會跳出一對話框進(jìn)行提示賬號密碼是必填項,如果不空,則再判斷是否滿足login()方法,login()方法是用來與數(shù)據(jù)庫進(jìn)行連接比較核對是否一致,不一致則出現(xiàn)賬號密碼錯誤的提示,登錄失敗,一致則順利登錄跳轉(zhuǎn)到下一個Activity即主菜單界面,如圖3-5所示: 12 / 19在Android組件之間的通訊中,主要是由意圖(Intent)協(xié)助完成的。意圖負(fù)責(zé)對應(yīng)用中一次操作的動作、動作對應(yīng)的數(shù)據(jù)、附加數(shù)據(jù)進(jìn)行描述,Android則根據(jù)此意圖的描述,負(fù)責(zé)找到相應(yīng)的組件,將意圖傳遞給它,并完成組件的調(diào)用。因此,意圖在這里起著一個媒體中介
35、的作用,專門提供組件之間互相調(diào)用的相關(guān)信息,實現(xiàn)調(diào)用者與被調(diào)用者之間的解耦。當(dāng)按下“成績查詢”按鈕時,會觸發(fā)附在上面的按鍵響應(yīng),進(jìn)入到成績查詢的Activity(如圖2-10所示),執(zhí)行的代碼如下:scorebtn.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) Intent intent = new Intent(MainActivity.this,ScoreActivity1.class);/跳轉(zhuǎn)到下一界面Stuscore1 = xz_score.getSelectedItem().t
36、oString(); /獲取學(xué)生的成績并轉(zhuǎn)換成文字Stuscore2 = pd_score.getSelectedItem().toString(); /同理Stuscore = jd_score.getText().toString(); /同理Bundle bundle = new Bundle();/Bundle /存取學(xué)生成績bundle.putString("xz_score",xz_score);bundle.putString("pd_score",pd_score);bundle.putString("jd_score"
37、;,jd_score);intent.putExtras(bundle); /向查詢界面?zhèn)魉蛿?shù)據(jù)startActivity(intent);System.out.println(bundle);finish(); 12 / 19圖3-7 成績查詢界面 圖3-8 意見界面Figure.3-7 Interface Of Score Figure.3-8 Interface Of Ideas當(dāng)按下圖2-9中的“意見”按鈕時,會觸發(fā)附在該按鈕上的按鍵響應(yīng),這時候會調(diào)用數(shù)據(jù)庫中的用戶的成績存儲在Intent中,傳遞到顯示界面上,進(jìn)入意見的Activity(如圖2-11所示),可以輸入意見并提交,代碼如下
38、: class MyOnClickListenerimplements OnClickListenerOverridepublic void onClick(View v) System.out.println("idonclick="+id1);Intent intent1 = new Intent(MainActivity.this,Ideas.class); /跳轉(zhuǎn)到意見ActivitystartActivity(intent1);當(dāng)按下圖2-9中的“開始測試”按鈕時,觸發(fā)附在該按鈕上的按鍵響應(yīng),應(yīng)用會跳轉(zhuǎn)到題目選擇界面上,中間不會傳遞數(shù)據(jù),直接用OnClickListener類來完成,代碼原理同上。 圖3-9 試題界面 圖3-10 選擇題界面Figure.3-9 Interface Of Exams Figure.3-10
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 短波通信機(jī)務(wù)員春節(jié)假期安全告知書
- 礦山電機(jī)車司機(jī)春節(jié)假期安全告知書
- 起重裝卸機(jī)械智能控制員春節(jié)假期安全告知書
- 企業(yè)市場營銷風(fēng)險管理手冊
- 化妝培訓(xùn)課件制作方案
- 《電工電子技術(shù)》 課件 項目七 直流穩(wěn)壓電路
- 申通線上培訓(xùn)題庫及答案
- 2025年肇慶教練員從業(yè)資格證考試題庫
- 倉儲企業(yè)安全生產(chǎn)獎懲管理制度
- 2025年廣東遴選筆試試題及答案
- 2026年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試參考題庫含答案解析
- 2026湖南師大附中雨花學(xué)校春季合同制教師招聘考試備考題庫及答案解析
- 2026年云南省影視協(xié)會招聘工作人員(2人)筆試參考題庫及答案解析
- 防寒防凍防滑安全培訓(xùn)課件
- 駕校教練員安全知識培訓(xùn)課件
- 《危險化學(xué)品安全法》解讀與要點
- 電力網(wǎng)絡(luò)安全培訓(xùn)教學(xué)課件
- 2025年宜昌市“招才興業(yè)”市直事業(yè)單位人才引進(jìn)47人·重慶大學(xué)站筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025秋滬科版(五四制)(新教材)初中科學(xué)六年級第一學(xué)期知識點及期末測試卷及答案
- 孕婦貧血教學(xué)課件
- 5年(2021-2025)山東高考生物真題分類匯編:專題17 基因工程(解析版)
評論
0/150
提交評論