邱進(jìn) 廖澤容 馮春麗
摘要:為解決醫(yī)學(xué)院學(xué)生在外見習(xí)、實習(xí)而無法及時參加選課的問題,作者基于Eclipse平臺開發(fā)了Android選課APP,實現(xiàn)了教務(wù)管理、教師管理和學(xué)生選課三大功能,滿足了學(xué)生和教師隨時隨地選課和辦公的需求。
關(guān)鍵詞:Eclipse;Android選課APP;教務(wù)管理;教師管理;學(xué)生選課
中圖分類號:TP309.2 文獻(xiàn)標(biāo)識碼:A 論文編號:1674-2117(2018)13/14-0165-05
目前,昆明醫(yī)科大學(xué)使用的是湖南青果教務(wù)管理系統(tǒng),選課的基本流程是“教務(wù)處通過辦公自動化系統(tǒng)通知教師申報課程—教務(wù)處組織專家對申報的課程進(jìn)行資格審核—審核通過后形成選修課匯總表—教務(wù)處通知各學(xué)院教學(xué)辦組織學(xué)生進(jìn)行選課—學(xué)生只能通過校園網(wǎng)內(nèi)電腦進(jìn)行選課”。[1][2][3][4]由于受時間和地點、機(jī)房數(shù)量、網(wǎng)絡(luò)速度的限制,有課或在外地見習(xí)、實習(xí)的學(xué)生不能及時參加選課,以至無法選到理想的課程,甚至錯過選課時間。[5][6][7][8]2015年,杭州電子科技大學(xué)4名學(xué)生開發(fā)設(shè)計了基于Android的選課APP,并命名為“Hduin”。筆者經(jīng)過兩學(xué)期的試用,通過Android手機(jī)提交選課時間最短用時為18毫秒,平均用時5秒。經(jīng)過后期的進(jìn)一步改進(jìn)和優(yōu)化,選課時間平均用時只需要4.39秒,進(jìn)而成功地解決了地域和網(wǎng)絡(luò)擁堵的“選課難”問題。
1.Android開發(fā)環(huán)境的搭建
(1)安裝JDK
JDK是Sun公司針對Java開發(fā)人員發(fā)布的一款免費軟件開發(fā)工具包(SDK,Software development kit),現(xiàn)屬于Oracle公司。使用者可以通過訪問http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html,同意協(xié)議后,下載與Windows操作系統(tǒng)版本匹配的工具包。安裝時可以選擇安裝到任意的硬盤驅(qū)動器上,筆者選擇目錄C:\Program Files\Java\jdk1.8.0_162,正確安裝后,在JDK目錄下有bin、demo、lib、jre等子目錄。然后設(shè)置JDK的環(huán)境變量,其設(shè)置方法如下:在Windows 10操作系統(tǒng)下,用鼠標(biāo)右鍵單擊“我的電腦”,彈出菜單選擇“屬性”,單擊“高級系統(tǒng)設(shè)置”,彈出“系統(tǒng)屬性”對話框,單擊該對話框中的“高級”選項,然后單擊“環(huán)境變量”按鈕,添加名字為JAVA、CLASSPTH和PTAH的用戶變量,如下頁圖1所示。按鍵Win+R后輸入cmd,再輸入java或javac命令,出現(xiàn)java版本等信息后,JDK安裝配置成功。
(2)安裝Eclipse
訪問http://www.eclipse.org/downloads/,下載eclipse-inst-win64.exe的win 64bit版,解壓后即可使用。
(3)安裝Android SDK
訪問http://www.androiddevtools.cn/,下載Android SDK Tools,下載完成后解壓到任意路徑。雙擊SDK Manager.exe,單擊標(biāo)題“Tools”,選擇選項“Options”,在選項“HTTP Proxy Server”上填寫鏡像地址(mirrors.opencas.ac.cn或mirrors.neusoft.edu.cn或google.com.cn),在“HTTP Proxy Port”上填寫端口80,勾選“Forcehttps://... sources to be fetched using http://...”,設(shè)置完成后單擊“Close”。然后單擊標(biāo)題“Packages”選項“Reload”。最后,選擇希望安裝的SDK及其文檔或者其他包,點擊Installation Selected、Accept All、Install Accepted,開始下載安裝所選包。如圖2所示。
SDK下載完成后,安裝SDK的目錄里面有tools、platforms、platform-tools、add-one等多個文件。將SDK目錄設(shè)置為系統(tǒng)環(huán)境變量Android_Home,同時設(shè)置PATH路徑,如圖3所示。按鍵Win+R后輸入cmd,再輸入adb命令,出現(xiàn)Android版本等信息后,則SDK安裝配置成功。
(4)安裝ADT
訪問http://www.androiddevtools.cn/,下載ADT Plugin,下載后壓縮包存放到硬盤不解壓。打開Eclipse,進(jìn)入菜單中的"Help"→"Install New Software",單擊Add按鈕,然后在彈出的窗口中,name寫上ADT壓縮包的名字,點擊Archive選擇已下載好的ADT壓縮包,如圖4所示。然后選中Devrloper Tools單擊“下一步”完成即可。
(5)創(chuàng)建AVD
Eclipse平臺上運行Android APP時,方法一是在平臺安裝Android模擬器AVD,方法二是直接連接Android手機(jī),在手機(jī)上運行Android APP程序。
①在Eclipse中,選擇Windows>AVD Manager。
②點擊左側(cè)面板的Virtual Devices,再右側(cè)點擊New。
③填入Name,選擇Target的API,SD Card:512MB,其他選項可以任意選擇或保持默認(rèn)值。
(6)安裝Tomcat
訪問https://tomcat.apache.org/,筆者使用Eclipse Mar版本,下載Tomcat為7.0或8.0版,并解壓到硬盤,然后按照Eclipse中Tomcat的配置步驟進(jìn)行配置。
(7)SQL Server數(shù)據(jù)庫配置
安裝好SQL Server 2008后,數(shù)據(jù)庫設(shè)置為SQL Server身份驗證方式。運行開始→所有程序→Microsoft SQL Server 2008 R2→SQL Server配置管理器,設(shè)置QLEXPRESS右邊的TCP/IP模式為啟用。Named Pipes設(shè)置為啟用,同時配置TCP/IP,將IP地址設(shè)置為127.0.0.1,IpAll的TCP端口為1433,開啟啟動選項。
2.硬件環(huán)境
在Eclipse平臺中,要運行JDK虛擬環(huán)境、Android虛擬機(jī)以及Android模擬器。其硬件的最低配置為CPU在主頻2.0GHz以上,內(nèi)存2G以上,屏幕最佳分辨率為1024×768像素。
1.系統(tǒng)設(shè)計
(1)系統(tǒng)開發(fā)框架
在Eclipse平臺中,Android移動終端通過tomcat服務(wù)器Java Servlet的HTTP方式訪問Web服務(wù)器,筆者在服務(wù)器端工程中編寫了servelt程序,使用HttpServletRequest和HttpServletResponse來表示請求和響應(yīng);在服務(wù)器端工程中編寫JDBC與數(shù)據(jù)庫交互程序,用于訪問SQL數(shù)據(jù)庫服務(wù)器,在Android客服端包工程集成了Apache HTTP客戶端,用到HttpGet和HttpPost兩個對象。[9][10][11]系統(tǒng)開發(fā)框架如圖5所示。
(2)數(shù)據(jù)庫設(shè)計
①用戶表,字段:登錄名、密碼、權(quán)限。系統(tǒng)設(shè)置教務(wù)管理員、普通教師、學(xué)生三種角色,設(shè)置教務(wù)管理員為超級管理員。
②學(xué)生表,字段:學(xué)號、姓名、性別、班級。
③選課表,字段:學(xué)號、工號、課程編碼。
④課程表,字段:課程編碼、課程名、學(xué)時、學(xué)分、課程性質(zhì)、考核方式、上課學(xué)期。
⑤教師信息表,字段:工號、姓名、課程編碼、課程名稱、所屬學(xué)院、上課地點、聯(lián)系電話。
2.系統(tǒng)實現(xiàn)
(1)系統(tǒng)功能模塊
該系統(tǒng)實現(xiàn)學(xué)生、教師和教務(wù)管理人員相關(guān)數(shù)據(jù)的管理,主要包括三個模塊[12][13][14][15]:選課學(xué)生管理模塊、任課教師管理模塊、教務(wù)管理人員模塊,如圖6所示。
其中詳細(xì)模塊設(shè)計包含:①學(xué)生選課管理模塊,含系統(tǒng)登錄、選課信息、選擇課程、退選課程和已選課程查詢5個功能;②教師管理模塊,含系統(tǒng)登錄、申請開課、查詢課表、查看學(xué)生4個功能;③教務(wù)管理人員模塊,含4個基本管理功能。
(2)客戶端與服務(wù)器通信模塊
Android集成了Apache HTTP客戶端,在服務(wù)器Servlet編程中使用HttpServletRequest和HttpServletResponse來表示請求和響應(yīng)。Apache HTTP客戶端也已經(jīng)對請求和響應(yīng)進(jìn)行封裝,只需根據(jù)請求方法的不同,用到HttpGet和HttpPost兩個對象。其中,響應(yīng)對象是HttpResponse,使用DefaultHttpClient執(zhí)行請求獲得響應(yīng)。
實現(xiàn)該模塊的核心代碼如下:
public class HttpUtil {
//生命Base URL常量
public static final String BASE_URL="http://192.168.1.111:8080/xiaoge/";
//通過URL獲得HttpGet對象
public static HttpGet getHttpGet(String url){
HttpGet request = new HttpGet(url);
return request;
}
public static String queryStringForGet(String url){
HttpGet request = HttpUtil.getHttpGet(url);
String result = null;
try {
HttpResponse response = HttpUtil.getHttpResponse(request);
if(response.getStatusLine().getStatusCode()==200){
result = EntityUtils.toString(response.getEntity());
byte[] b=result.getBytes("8859-1");
String a=new String(b,"UTF-8");
return result;
}
} catch (ClientProtocolException e) {
e.printStackTrace();
result = "網(wǎng)絡(luò)異常!";
return result;
} catch (IOException e) {
e.printStackTrace();
result = "網(wǎng)絡(luò)異常!";
return result;
}
return null;
}
public static HttpResponse getHttpResponse(HttpGet request) throws ClientProtocolException, IOException{
HttpResponse response = new DefaultHttpClient().execute(request);
return response;
}}
基于Android移動終端的醫(yī)學(xué)院校選課系統(tǒng)設(shè)置了教務(wù)管理人員、普通教師和學(xué)生三個系統(tǒng)角色,為全校師生帶來實時和便捷。同時,該系統(tǒng)具有很好的可擴(kuò)展性,可以將視頻課程、課程考試、課程評教等與教學(xué)有關(guān)的內(nèi)容集成,實現(xiàn)學(xué)校信息系統(tǒng)的整體移動智能化。
[1]劉敏,滕華,董文,等.基于IPv6校園網(wǎng)的智能選課系統(tǒng)的J2EE架構(gòu)的設(shè)計與實現(xiàn)[J].數(shù)據(jù)通信,2006(3):56-58.
[2]張曉葉.基于Android平臺高校移動選課系統(tǒng)的設(shè)計與實現(xiàn)[D].長春:吉林大學(xué),2015.
[3][6]楊國清.高校移動選課系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2008(6):1097-1099.楊國清.高校移動選課系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2008(6).
[4]胡劍鋒.基于Android的高職院校選課系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2014(33):7866-7868.
[5]湯青林.基于Android的移動選課系統(tǒng)的設(shè)計[D].洛陽:洛陽理工學(xué)院,2010.
[7]湯青林.基于Android平臺的選課系統(tǒng)的設(shè)計與實現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2011(11):164.
[8]劉嘯宇,范輝.基于Android的選課系統(tǒng)的研究與實現(xiàn)[J].無線互聯(lián)科技,2014(9)94-95.
[9]李芝興.Java程序設(shè)計之網(wǎng)絡(luò)編程[M].北京:清華大學(xué)出版社,2009.
[10]顏建華.Android開發(fā)關(guān)鍵技術(shù)之旅[M].北京:中國鐵道出版社,2012.
[11]陳會安.Java和Android開發(fā)實戰(zhàn)詳解[M].北京:人民郵電出版社,2014.
[12]孫曉宇.Android手機(jī)界面管理系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:北京郵電大學(xué),2009.
[13]曾健平,邵艷潔.Android系統(tǒng)架構(gòu)及應(yīng)用程序開發(fā)研究[J].微計算機(jī)信息,2011(9):1-3.
[14]吳想想.基于Android平臺軟件開發(fā)方法的研究與應(yīng)用[D].北京:北京郵電大學(xué), 2011.
[15]方靜.基于Android系統(tǒng)的移動學(xué)習(xí)平臺的設(shè)計和實現(xiàn)[D].武漢:華中師范大學(xué),2014.
作者簡介:邱進(jìn)(1969—),男,云南人,助教,研究方向為現(xiàn)代教育技術(shù)應(yīng)用;廖澤容(通訊作者)(1984—),女,四川人,博士生,研究方向為超聲醫(yī)學(xué)工程、移動終端APP開發(fā);馮春麗(1983—),女,云南人,主治醫(yī)師,研究方向為中醫(yī)兒科慢性咳嗽。
基金項目:云南省教育廳科學(xué)研究基金資助性項目(2016ZDX050);昆明醫(yī)科大學(xué)教研教改重點課題(2016-JY-Z-05)。