基于智能手機的課堂教學反饋系統(tǒng)設計說明書_第1頁
基于智能手機的課堂教學反饋系統(tǒng)設計說明書_第2頁
基于智能手機的課堂教學反饋系統(tǒng)設計說明書_第3頁
基于智能手機的課堂教學反饋系統(tǒng)設計說明書_第4頁
基于智能手機的課堂教學反饋系統(tǒng)設計說明書_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1需求分析1.1問題提出本項目是一款基于智能手機的課堂教學反饋系統(tǒng)業(yè)系統(tǒng),使智能手機擁有在線答題的功能,便于老師及時了解學生對本堂課的理解情況,降低了檢測成本,節(jié)省了時間與紙質(zhì)答題的繁瑣。使老師學生的課堂生活更加多樣化,也使設計者更加熟練Android的技術(shù)和其它在市場上的特點。0 / 192系統(tǒng)設計及主要技術(shù)介紹2.1系統(tǒng)框架設計2.1.1組織結(jié)構(gòu)根據(jù)要求首先設計出系統(tǒng)組織結(jié)構(gòu)圖,如圖2-1所示:圖2-1 系統(tǒng)結(jié)構(gòu)圖Figure.2-1 System Structure圖中服務器上建有數(shù)據(jù)庫,存儲學生信息(學號,姓名,性別,班級,登錄時間,作業(yè)成績),試題信息(題號,題目類型,題干,選項或答

2、案,成績),意見欄。對于客觀題目直接判斷,統(tǒng)計學生個人的做題統(tǒng)計(答題數(shù)目,正確數(shù)目,答題時間等),以及每道題目的數(shù)據(jù)統(tǒng)計(答題人數(shù),正確人數(shù)),隨機分發(fā)組合題目。老師可通過登錄服務器編輯題庫,課上當堂布置作業(yè),課后可批改學生上交的作業(yè)。學生用學號姓名登陸,提交作業(yè)并給老師留言,查閱以前的作業(yè)成績及老師批語。2.1.2 系統(tǒng)運行流程圖根據(jù)分析,首先設計出系統(tǒng)運行的流程,如圖2-2所示是學生的操作流程圖:學生首先在手機上運行程序,然后使用用戶名密碼登陸,密碼正確則進入下一功能選擇,這一模塊可進行答題、成績查詢、留言等功能,最后提交試題,退出程序。根據(jù)規(guī)劃再設計出老師的操作流程圖,將老師所要實現(xiàn)的

3、全部功能流程化、具體化,如圖2-3所示:老師登陸服務器對學生以及試題庫進行編輯,還可以查看學生的答題情況以及學生的留言,完成后可保存退出。1 / 19圖2-2 學生系統(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)服務器

4、和用于支持任務決定型應用程序的開放型RDBMS。Orcale屬于大型數(shù)據(jù)庫系統(tǒng),主要適用于大、中小型應用系統(tǒng),或作為客戶機/服務器系統(tǒng)中服務器端的數(shù)據(jù)庫系統(tǒng)。Sybase通常與Sybase SQL Anywhere用于客戶機/服務器環(huán)境,前者作為服務器數(shù)據(jù)庫,后者為客戶機數(shù)據(jù)庫,采用該公司研制的Power Builder為開發(fā)工具,在大中型系統(tǒng)中具有廣泛的應用,。DB2是IBM公司研制的一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),主要應用于大型應用系統(tǒng),具有較好的可伸縮性,可支持從大型機到單用戶環(huán)境,應用于OS/2、Windows等平臺下。Access是美國Microsoft公司于1994年推出的微機數(shù)據(jù)庫管理

5、系統(tǒng)。它具有界面友好、易學易用、開發(fā)簡單、接口靈活等特點,是典型的新一代桌面數(shù)據(jù)庫管理系統(tǒng)。主要適用于中小型應用系統(tǒng),或作為客戶機/服務器系統(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是一個可擴展的、高性能的、為分布式客戶機/服務器計算所設計的數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)了與Windows NT的有機結(jié)合,提供了

6、基于事務的企業(yè)級信息管理系統(tǒng)方案。2.2.2數(shù)據(jù)庫的選擇Oracle、Sybase、DB2三種數(shù)據(jù)庫均適用于大中型系統(tǒng),應用在本次系統(tǒng)上完全沒必要,并且我的筆記本電腦也很難完美運行,所以不適用本系統(tǒng)。Access與Android的兼容性很低,很難互聯(lián),所以不再選擇之列,MySQL功能太少且經(jīng)常出錯不適合本系統(tǒng),經(jīng)過考慮,決定使用SQL Server 2008。Microsoft SQL Server 2008是一個重大的產(chǎn)品版本,它推出了許多新的特性和關(guān)鍵的改進,使得它成為至今為止的最強大和最全面的Microsoft SQL Server版本。基于他的新特性、優(yōu)點和功能,本系統(tǒng)選擇SQL Se

7、rver 2008 作為數(shù)據(jù)庫的開發(fā)工具。其主要特點如下:(1)高性能設計,可充分利用Windows NT的優(yōu)勢。(2)系統(tǒng)管理先進,支持Windows圖形化管理工具,支持本地和遠程的系統(tǒng)管理和配置。(3)強壯的事務處理功能,采用各種方法保證數(shù)據(jù)的完整性。(4)支持對稱多處理器結(jié)構(gòu)、存儲過程、ODBC,并具有自主的SQL語言。 SQL Server以其內(nèi)置的數(shù)據(jù)復制功能、強大的管理工具、與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)管理員所有,但其中很多過程都可以運行在數(shù)據(jù)庫中。用戶也可以編寫自己的存儲過程,并把它存放在數(shù)據(jù)庫中。這樣就可以做到充分發(fā)揮數(shù)據(jù)庫服務器的功能,盡量減少網(wǎng)絡上的阻塞。3 / 19使用存儲過程時,數(shù)據(jù)可以在數(shù)據(jù)庫服務器上完成。把完成某一數(shù)據(jù)庫處理的功能涉及為存儲過程,就可以在各個程序中反復調(diào)用,從而減輕了程序編寫的工作量。此外,存儲過程還可以間接實現(xiàn)一些安全控制功能。微軟的這個數(shù)據(jù)平臺滿足數(shù)據(jù)爆炸和下一代數(shù)據(jù)驅(qū)動應用程序的需求,支持數(shù)據(jù)平臺愿景:關(guān)鍵任務企業(yè)數(shù)據(jù)平臺、動態(tài)開發(fā)、關(guān)系數(shù)據(jù)和商業(yè)智能。2.3 連接方式介紹及選擇Web Ser

9、vice是一項新技術(shù),能使得運行在不同機器上的不同應用無須借助附加的、專門的第三方軟件或硬件,就可相互交換數(shù)據(jù)或集成。依據(jù)Web Service規(guī)范實施的應用之間, 無論它們所使用的語言、平臺或內(nèi)部協(xié)議是什么,都可以相互交換數(shù)據(jù)。Web Service是自描述、自包含的可用網(wǎng)絡模塊,可以執(zhí)行具體的業(yè)務功能。Web Service也很容易部署, 因為它們基于一些常規(guī)的產(chǎn)業(yè)標準以及已有的一些技術(shù),諸如XML和HTTP。Web Service減少了應用接口的花費。服務端可以寫成Webservice也可以寫成Website,前者只是提供一種服務,而后者是可以提供用戶界面等具體的頁面,后者也就是平時所說

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的可擴展開發(fā)平臺,目前最好的Android開發(fā)工具。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Android開發(fā)工具(Android Development Tools,AD

11、T)。Eclipse的插件機制是輕型軟件組件化架構(gòu)在客戶機平臺上,Eclipse使用插件來提供所有的附加功能,例如支持Java以外的其他語言。 已有的分離的插件已經(jīng)能夠支持C/C+(CDT)、Perl、Ruby,Python、telnet和數(shù)據(jù)庫開發(fā)。插件架構(gòu)能夠支持將任意的擴展加入到 現(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)等建立應用軟件的開發(fā)工具的集合。在Android中,它為開發(fā)者提供了庫文件以及其它開發(fā)所用到的工具。簡單理解為開發(fā)工具包集合,是整體開發(fā)中所用到的工具包,所以用Eclipse作為開發(fā)工具,不需要下載ADT,只下載SDK即可開發(fā)。4 / 192.4.2 Android平臺系統(tǒng)架構(gòu)基于Android平臺的應用軟件開發(fā),需要了解Android平臺的相關(guān)技術(shù)和設計理念,尤其是Android系統(tǒng)架構(gòu)的應用框架層。Android應用開發(fā)需要繼承、實現(xiàn)應用框架層的有關(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)核作為基礎,以C語言編寫,只提供基礎功能。中間層包括函數(shù)庫Library和虛擬機Virtual Machine,以C+編寫。最上層是各種應用軟件以及應用框架,包括通話程序,短信程序等,應用軟件由不同的開發(fā)者獨立完成,以Java語言編寫。Android不只是一個操作系統(tǒng),它包括了:1經(jīng)過Google剪裁和調(diào)優(yōu)的Linux Kernel,支持大多數(shù)手持設備的硬件

14、體系。2經(jīng)過Google修改的Java虛擬機Dalvik,基于Apache Harmony虛擬機版本進行改良,具有極高的執(zhí)行性能,大部分Java核心類庫都可以直接在Java虛擬機上運行。3大量可用的類庫和應用軟件,例如瀏覽器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)分為四層,從上層到底層分別是應用層、應用框架層、系統(tǒng)運行庫層和Linux內(nèi)核層。(1). 應用層(Applications)。應用層由運行在Android設備上的所有應用構(gòu)成,它不僅包括通話、短信、聯(lián)系人等系統(tǒng)應用,還包括其他后續(xù)安裝到設備中的第三方應用,是普通用戶唯一可見的一層。6 / 19(2). 應用框架層(Application Framework)。這是Android系統(tǒng)中最核心的部分,它集中體現(xiàn)了Android系統(tǒng)設計思想??蚣軐佑啥鄠€系統(tǒng)服務組成,所有服務都寄宿在系統(tǒng)核心進程(System Core Process)中??蚣軐幼钪庇^的的體現(xiàn)就是SDK,它通過一系列的Java

16、功能模塊來實現(xiàn)應用所需的功能。主要包括:豐富而又可擴展的視圖組建:用來構(gòu)建應用程序,它包括列表(List)、網(wǎng)絡(Grid)、文本框(TextBox)、按鈕(Button),以及可嵌入的Web游覽器。內(nèi)容提供器 (Content Provider):它可以讓一個應用訪問另一個應用的數(shù)據(jù)。資源管理器(Resoure Manager):提供非代碼資源的訪問,如本地字符串、圖形和布局文件等。通知管理器(Notification Manager):應用可以在狀態(tài)欄中顯示自定義的提示信息。活動管理器(Activity Manager):管理應用程序生命周期并提供常用的導航回退功能。窗口管理器(Windo

17、w Manager):管理所有的窗口程序。包管理器(Package Manager):Android系統(tǒng)內(nèi)的程序管理。(3). 系統(tǒng)運行核心類庫及運行時(Libraries & Android Runtime)。核心類庫的來源主要有兩種,一種是系統(tǒng)原生類庫,如基礎算法,另一種是第三方類庫,大部分都是對優(yōu)秀開源項目的移植,如多媒體庫、Webkit、SQLite等。運行時(Android Runtime)提供了Dalvik虛擬機,為Android應用提供動力,決定其執(zhí)行效率。每個Java程序都運行在Dalvik虛擬機上。與 PC一樣,每個 Android 應用程序都有自己的進程,Dalvi

18、k 虛擬機執(zhí)行.dex文件。當 Java 程序通過編譯生成.dx文件,通過 SDK 中的 .dx工具轉(zhuǎn)化成.dex 格式。(4)Linux內(nèi)核層(Linux Kernel)。Android 的核心系統(tǒng)服務基于Linux 2.6內(nèi)核,如安全性、內(nèi)存管理、進程管理、網(wǎng)絡協(xié)議和驅(qū)動模型等都依賴于該內(nèi)核。Linux 內(nèi)核同時也作為硬件和軟件棧之間的抽象層。Android 更多的是需要一些與移動設備相關(guān)的驅(qū)動程序,包括顯示驅(qū)動(Display Driver)、鍵盤驅(qū)動(KeyBoard Driver)、Flash內(nèi)存驅(qū)動(Flash Memory Driver)、照相機驅(qū)動(Camera Driver)

19、、音頻驅(qū)動(Audio Driver)、藍牙驅(qū)動(Bluetooth Driver)、WiFi、電源管理(Power Management)等。正是由于Android自身的眾多優(yōu)點,Android系統(tǒng)自推出以來就得到眾多手機開發(fā)廠商和通訊業(yè)務提供商的青睞,其在智能手機領域的市場份額更是節(jié)節(jié)攀升,同時也催生了更多的移動互聯(lián)網(wǎng)業(yè)務,促進了移動應用產(chǎn)業(yè)鏈的擴大和發(fā)展。2.4.3 Android平臺的主要特點Android是基于Linux的開源平臺,這一來源決定了它具有諸多優(yōu)點:1開放性。除了一些核心代碼外,平臺的絕大部分源代碼可以免費獲得。2跨應用程序。Android基于組件的設計思想使得應用之間界

20、限變得模糊,用戶的直接感知是不同界面之間的跳轉(zhuǎn),而不是應用程序之間的切換。6 / 193應用程序是在平等的條件下創(chuàng)建的。移動設備上的應用程序可以被替換或擴展,即使是撥號程序或主屏幕這樣的核心組件。4應用程序無界限。Android 應用可以通過API訪問核心移動設備功能。應用程序可以通過互聯(lián)網(wǎng)聲明它們的功能并供其他應用程序使用。5多任務并行運行。Android在這一點上直接繼承了Linux的多任務特點,多個進程或線程可以并行運行。2.4.4 Android平臺主要類庫介紹Android平臺為開發(fā)者提供了一系列可用且高效的類庫,所有的第三方應用都是基于這些類庫來實現(xiàn)的。主要包括:android.a

21、pp:提供高層的程序模型和基本的運行環(huán)境。android.content:包含對各種設備上的數(shù)據(jù)進行訪問和發(fā)布。android.database:通過內(nèi)容提供者瀏覽和操作數(shù)據(jù)庫。android.media:提供一些類管理多種音頻、視頻的媒體接口。:提供幫助網(wǎng)絡訪問的類,超過通常的 .*接口。vider:提供訪問 Android 內(nèi)容提供者的類。android.telephony:提供與撥打電話相關(guān)的 API 交互。android.view:提供基礎的用戶界面接口框架。android.util :涉及工具性的方法,例如時間日期的操作。android.webkit :默認瀏覽

22、器操作接口。android.widget:包含各種UI元素在應用程序的布局中使用。7 / 193系統(tǒng)的實現(xiàn)3.1數(shù)據(jù)庫設計3.1.1數(shù)據(jù)庫的需求分析課堂教學反饋系統(tǒng)以作業(yè)檢測為主體,因此在這個系統(tǒng)中必須要有一個表保存試題信息(題號、題干、選項、答案、空字段供學生答題,并且以題號為主鍵)。負責登錄終端系統(tǒng)的學生應該有保存學生信息的表,這個表中也是包括一些基本信息(學號、姓名、性別、班級、專業(yè)、成績,并且以學號作為主鍵)。學生可以自己選擇在題目的編號中選擇自己要答的題。另外系統(tǒng)中必須要有一個統(tǒng)計表,該表中包括答題總?cè)藬?shù),答題正確人數(shù),答題時間等基本信息。3.1.2數(shù)據(jù)庫的概念設計根據(jù)無線作業(yè)系統(tǒng)的

23、需求,設計出以下的實體-關(guān)系模型(E-R)圖如圖3-1所示:圖3-1 實體聯(lián)系圖Figure.3-1 Entity Chart3.1.3數(shù)據(jù)庫的邏輯設計數(shù)據(jù)庫的邏輯設計,即把概念設計得到的概念數(shù)據(jù)庫模式變?yōu)檫壿嫈?shù)據(jù)模式,它依賴于DBMS(database management system,數(shù)據(jù)庫管理系統(tǒng))。根據(jù)無線課堂教學反饋系統(tǒng)的需求分析及數(shù)據(jù)庫的概念設計,得到以下的數(shù)據(jù)庫表和表的相關(guān)說明如下:首先創(chuàng)建數(shù)據(jù)庫test,根據(jù)設計要求,為了存儲學生信息在數(shù)據(jù)庫中創(chuàng)建學生表(studata),如表3-2所示:表3-2 數(shù)據(jù)庫學生表Table 3-2 Database Student序號字段名稱字

24、段含義類型寬度備注1stunumber學號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ù)庫的設計寫一個Website訪問SQL Server,獲取數(shù)據(jù)并轉(zhuǎn)換成xml格式,然后傳遞給Android客戶端。新建一個Webservice工

26、程,在服務器資源管理器中添加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" /默認構(gòu)造函數(shù) public DBOperation() if (sqlCon = null) sqlCon = new SqlConnection(); sqlCon.ConnectionString = ConServerStr; sqlCon.Open(); 9 / 19 /關(guān)閉/銷毀函數(shù),相當于Close() public void Dispose() if (sqlCon != null) sqlCon.Close(); sqlCon = null; 以上創(chuàng)建了一個類,可以訪問SQL Se

28、rver數(shù)據(jù)庫,具體調(diào)用時可以新建類繼承此類使用。只有成功連接到了數(shù)據(jù)庫才能進行其他操作,否則就無法開展以下的設計與實現(xiàn)了可見,連接數(shù)據(jù)庫是一個很關(guān)鍵的步驟。當正確安裝后在本地的瀏覽器或者局域網(wǎng)內(nèi)的任何移動設備的瀏覽器(包括手機)輸入“http: /15: 3360”,就可以打開一個歡迎網(wǎng)頁( 15為當前電腦的IP,也可以輸入http:/localhost: 3360,默認 localhost 變量指向當前電腦的IP)。設計好工程后,在客戶端軟件的 LoginActivity 模塊訪問服務器地址為:“http: /15: 336

29、0/DinningServer/LoginServlet?user=10passwd = 10”。3.3 客戶端程序設計客戶端是使用者最直接接觸的東西,包括是否能夠讓客戶很輕松、方便的使用,操作響應時間、主機連接時間、圖片綜合質(zhì)量、首頁布局質(zhì)量、首頁信息類型等。 一般來說,一個界面主要由下面幾個因素構(gòu)成: (1)文字:文字元素是信息傳達的主體部分。界面中的文字主要包括標題、信息、文字鏈接幾種主要形式。標題和傳統(tǒng)媒體中信息傳達的基本作用相同,是內(nèi)容的簡概說明一般比較醒目、優(yōu)先編排。文字作為占據(jù)頁面重要比率的元素,同時又是信息重要載體,它的字體、大小、顏色和排布對頁面整體設計影

30、響極大。 (2)圖形:圖形在界面中具有重要作用。合理的運用圖形,可以生動直觀、形象地表現(xiàn)設計主題。網(wǎng)頁中常用的圖形格式包括jpg和gif,這兩種格式壓縮比高,得到了Android平臺的支持,圖形元素包括標題、背景、主圖、鏈接圖標四種。 (3)界面版式:版式是界面設計的重要組成部分,它將文字、圖形等視覺元素進行組合配置,使頁面整體視覺效果美觀和諧,便于閱讀,操作,實現(xiàn)信息傳達的最佳效果。  終端系統(tǒng)的界面設計也是綜合了文字,圖形等元素。使每一個功能有文字與圖片的共同描述,達到看圖就大概知道此鍵是什么功能的目的,最終的目的還是為了使用者能夠快速上手,不至于因

31、為操作的不得當而放棄此系統(tǒng)。3.3.1 界面設計及按鍵響應Android界面是由許多Activity構(gòu)成,首先要設計Android的布局文件,由于系統(tǒng)的不確定性,大部分布局文件采用了相對布局(Relative Layout),然后是在按鍵控件上添加響應,下面是具體每個Activity的實現(xiàn)過程。11 / 19首先單獨建立一個Activity用來控制用戶的登錄,在用戶輸入賬號與密碼時,系統(tǒng)先判斷用戶賬號密碼是否為空,為空則跳出一個對話框給用戶提示;如果不為空則再從EditView中取的賬號密碼與服務器中的賬號密碼進行匹配,如果匹配成功則利用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)聽事件,在學生輸入賬號密碼后點擊登錄后,終端會先判斷是否滿足val

34、idate()方法,此方法是防止賬號密碼為空時的登錄提示,如果為空會跳出一對話框進行提示賬號密碼是必填項,如果不空,則再判斷是否滿足login()方法,login()方法是用來與數(shù)據(jù)庫進行連接比較核對是否一致,不一致則出現(xiàn)賬號密碼錯誤的提示,登錄失敗,一致則順利登錄跳轉(zhuǎn)到下一個Activity即主菜單界面,如圖3-5所示: 12 / 19在Android組件之間的通訊中,主要是由意圖(Intent)協(xié)助完成的。意圖負責對應用中一次操作的動作、動作對應的數(shù)據(jù)、附加數(shù)據(jù)進行描述,Android則根據(jù)此意圖的描述,負責找到相應的組件,將意圖傳遞給它,并完成組件的調(diào)用。因此,意圖在這里起著一個媒體中介

35、的作用,專門提供組件之間互相調(diào)用的相關(guān)信息,實現(xiàn)調(diào)用者與被調(diào)用者之間的解耦。當按下“成績查詢”按鈕時,會觸發(fā)附在上面的按鍵響應,進入到成績查詢的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(); /獲取學生的成績并轉(zhuǎn)換成文字Stuscore2 = pd_score.getSelectedItem().toString(); /同理Stuscore = jd_score.getText().toString(); /同理Bundle bundle = new Bundle();/Bundle /存取學生成績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當按下圖2-9中的“意見”按鈕時,會觸發(fā)附在該按鈕上的按鍵響應,這時候會調(diào)用數(shù)據(jù)庫中的用戶的成績存儲在Intent中,傳遞到顯示界面上,進入意見的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);當按下圖2-9中的“開始測試”按鈕時,觸發(fā)附在該按鈕上的按鍵響應,應用會跳轉(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論