魯紅英 代西果 黃于鑒
摘要:隨著移動(dòng)智能終端的普及和運(yùn)營(yíng)商網(wǎng)絡(luò)能力的進(jìn)一步提升,移動(dòng)互聯(lián)網(wǎng)正由互聯(lián)網(wǎng)最初的只提供瀏覽的數(shù)據(jù)網(wǎng)絡(luò)向商務(wù)、社交、生活、購(gòu)物、娛樂(lè)和學(xué)習(xí)的應(yīng)用網(wǎng)絡(luò)轉(zhuǎn)變。本文提出了基于android平臺(tái)的“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程app的設(shè)計(jì)思想,以此拓展移動(dòng)互聯(lián)網(wǎng)技術(shù)在教學(xué)工作中的應(yīng)用,推進(jìn)創(chuàng)新教學(xué)方式,提高教學(xué)質(zhì)量。
關(guān)鍵詞:移動(dòng)互聯(lián)網(wǎng) 課程APP android平臺(tái)
目前,App客戶端已成為移動(dòng)互聯(lián)網(wǎng)的主要應(yīng)用形式。它是通過(guò)特定程序滿足用戶要求,多指智能手機(jī)和移動(dòng)終端的第三方應(yīng)用程序,并具有用戶增長(zhǎng)速度快、經(jīng)濟(jì)能力強(qiáng),思維活躍;可整合LBS、QR、AR等新技術(shù),帶給用戶前所未有的用戶體驗(yàn);基于手機(jī)的隨時(shí)隨身性、互動(dòng)性特點(diǎn),容易通過(guò)微博、SNS等方式分享和傳播,實(shí)現(xiàn)裂變式增長(zhǎng);相比傳統(tǒng)營(yíng)銷手段成本更低等特點(diǎn)。為了推進(jìn)移動(dòng)互聯(lián)網(wǎng)技術(shù)在教育教學(xué)工作中的應(yīng)用,打破課堂單一的教學(xué)形態(tài),本文在研究分析移動(dòng)互聯(lián)網(wǎng)的發(fā)展趨勢(shì)、移動(dòng)APP的特點(diǎn)以及移動(dòng)互聯(lián)網(wǎng)應(yīng)用領(lǐng)域的基礎(chǔ)上,就如何開發(fā)“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程APP客戶端進(jìn)行了分析和研究,并給出了建設(shè)方案。
1 “大學(xué)計(jì)算機(jī)基礎(chǔ)”課程APP客戶端建設(shè)目標(biāo)和原則
“大學(xué)計(jì)算機(jī)基礎(chǔ)”作為一門本??粕耐ㄗR(shí)課程,又是大學(xué)第一門計(jì)算機(jī)課程,應(yīng)具有基礎(chǔ)性、實(shí)踐性和先進(jìn)性的特點(diǎn)?!按髮W(xué)計(jì)算機(jī)基礎(chǔ)”課程APP客戶端建設(shè)目標(biāo)是構(gòu)建“以學(xué)生為中心”的新型教學(xué)模式,要樹立學(xué)生為主體的學(xué)習(xí)模式,讓學(xué)生進(jìn)行探索研究式的自主學(xué)習(xí),讓教師成為教學(xué)的主導(dǎo)者,起到控制學(xué)習(xí)過(guò)程、提供教學(xué)資源和教學(xué)建議的作用;倡導(dǎo)學(xué)生通過(guò)智能移動(dòng)終端設(shè)備進(jìn)行瀏覽教學(xué)講義、觀看教學(xué)錄像,在線測(cè)試等功能,充分調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性和體現(xiàn)移動(dòng)終端的便利性。
“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程APP學(xué)習(xí)資源平臺(tái)總體建設(shè)原則是:一要注意學(xué)習(xí)內(nèi)容的模塊化。要打破以章節(jié)為單位的教學(xué)形式,以課程知識(shí)點(diǎn)作為學(xué)習(xí)模塊,一個(gè)模塊對(duì)應(yīng)一個(gè)知識(shí)點(diǎn),以方便學(xué)生靈活掌握學(xué)習(xí)內(nèi)容,保證學(xué)生在很短時(shí)間內(nèi)完成內(nèi)容的學(xué)習(xí);二要精煉學(xué)習(xí)內(nèi)容。學(xué)習(xí)內(nèi)容力求要點(diǎn)突出,重點(diǎn)難點(diǎn)明確,概括精煉。以便學(xué)習(xí)者在較短的時(shí)間內(nèi)完成學(xué)習(xí)的同時(shí)保證學(xué)習(xí)效果,能夠持續(xù)激發(fā)和維持學(xué)生參與移動(dòng)學(xué)習(xí)的學(xué)習(xí)動(dòng)機(jī)和興趣;三要體現(xiàn)學(xué)生基礎(chǔ)的差異化。移動(dòng)學(xué)習(xí)資源的開發(fā)要考慮到不同學(xué)生基礎(chǔ),盡量設(shè)計(jì)出個(gè)性化的豐富資源,使每個(gè)人都以自己喜歡的方式、合適的進(jìn)度進(jìn)行學(xué)習(xí)。
2 “大學(xué)計(jì)算機(jī)基礎(chǔ)”課程APP客戶端總體設(shè)計(jì)
“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程APP學(xué)習(xí)資源平臺(tái)包括:課程APP客戶端和后臺(tái)管理。用戶通過(guò)課程客戶端訪問(wèn)資源平臺(tái)提供學(xué)習(xí)內(nèi)容,管理員和老師通過(guò)后臺(tái)管理上傳課程資料?!按髮W(xué)計(jì)算機(jī)基礎(chǔ)”課程APP教學(xué)資源平臺(tái)架構(gòu)如圖1所示。 2.1“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程APP功能模塊
“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程APP客戶端包括用戶登錄、注冊(cè)和修改密碼,通知公告,課程概況(課程簡(jiǎn)介、課程大綱、參考文獻(xiàn)),師資介紹,教學(xué)內(nèi)容(課程教學(xué)歷史沿革、理論課程設(shè)計(jì)、試驗(yàn)課程設(shè)計(jì)、理論課程內(nèi)容),教學(xué)資源(電子課件、教學(xué)錄像),課外閱讀,在線考試,教學(xué)評(píng)價(jià),信息反饋等。
2.2后臺(tái)管理
后臺(tái)管理采用B/S結(jié)構(gòu),管理員和老師通過(guò)瀏覽器訪問(wèn)教學(xué)資源平臺(tái)管理功能。后臺(tái)管理主要包括用戶管理(用戶查詢、添加用戶、刪除用戶、禁用用戶、報(bào)名審核),系統(tǒng)管理(操作員管理、角色權(quán)限管理),教師隊(duì)伍管理,教學(xué)資源管理,消息推送,內(nèi)容發(fā)布,信息查詢統(tǒng)計(jì)等。
3技術(shù)路線
“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程APP學(xué)習(xí)資源平臺(tái)是基于android系統(tǒng)環(huán)境下開發(fā)的,其主要特點(diǎn)是即使客戶端和服務(wù)器斷開后,用戶也可依靠客戶端存儲(chǔ)的少量數(shù)據(jù)完成業(yè)務(wù)操作。
3.1 Android系統(tǒng)架構(gòu)
Android的系統(tǒng)架構(gòu)采用了分層架構(gòu)的思想,如圖2所示。從底層到上層共包括三大部分共四層。底層部分是Linux內(nèi)核和硬件抽象層,核心部分是核心類庫(kù)、Android運(yùn)行時(shí)庫(kù)和應(yīng)用框架層,應(yīng)用部分是應(yīng)用程序程序?qū)印?/p>
在此,重點(diǎn)介紹應(yīng)用程序?qū)拥暮诵膬?nèi)容。應(yīng)用程序?qū)犹峁┮恍┖诵膽?yīng)用程序包,例如聯(lián)系人管理、瀏覽器、日歷、地圖、短信和電子郵件等。同時(shí),開發(fā)者可以利用Java語(yǔ)言設(shè)計(jì)和編寫應(yīng)用程序,編寫的程序與核心應(yīng)用程序彼此平等、友好共處。主要包括以下部分:
活動(dòng)(Activity)——應(yīng)用程序的表示層。應(yīng)用程序的每個(gè)界面都將是Activity類的擴(kuò)展。Activity用視圖(View)構(gòu)成GUI來(lái)顯示信息、響應(yīng)用戶操作。
服務(wù)(Services)——應(yīng)用程序中的隱形工作者。Service組件在后臺(tái)運(yùn)行,更新數(shù)據(jù)源和可見(jiàn)的Activities,觸發(fā)通知(Notification)。在應(yīng)用程序的Activities不激活或不可見(jiàn)時(shí),用于執(zhí)行依然需要繼續(xù)的長(zhǎng)期處理。
內(nèi)容提供器(Content Providers)——可共享的數(shù)據(jù)存儲(chǔ)。Content Providers用于管理和共享應(yīng)用程序數(shù)據(jù)庫(kù)。
意向(Intents)——應(yīng)用程序間(inter-application)的消息傳遞框架。使用Intents你可以在系統(tǒng)范圍內(nèi)廣播消息或者對(duì)一個(gè)目標(biāo)Activity或Service發(fā)送消息,來(lái)表示要執(zhí)行一個(gè)動(dòng)作。
小部件(Widgets)——可以添加到主屏幕界面(home screen)的可視應(yīng)用程序組件。作為Broad caseReceiver的特殊變種,widgets可以為用戶創(chuàng)建可嵌入到主屏幕界面的動(dòng)態(tài)的、交互的應(yīng)用程序組件。
通知(Notifications)——用戶通知框架。Notification不必竊取焦點(diǎn)或中斷當(dāng)前Activities就能通知用戶。
3.2服務(wù)器端與客戶端數(shù)據(jù)交互
Web Service是一種基于SOAP協(xié)議的遠(yuǎn)程調(diào)用標(biāo)準(zhǔn)。SOAP協(xié)議使用基于XML的數(shù)據(jù)機(jī)構(gòu)和超文本傳輸協(xié)議(HTTP)的組合定義了一個(gè)標(biāo)準(zhǔn)方法來(lái)使用Internet上各種不同操作環(huán)境中的分布式對(duì)象。使用Web Service通過(guò)HTTP POST方式接受客戶的請(qǐng)求,使用soap協(xié)議傳輸xml數(shù)據(jù),既保證了數(shù)據(jù)的安全性和封裝性,又具有可擴(kuò)展性。
通過(guò)Web Service可以將不同操作系統(tǒng)平臺(tái),不同語(yǔ)言、不同技術(shù)整合到一起。在Android SDK中并沒(méi)有提供調(diào)用Web Service的庫(kù),因此,需要使用第三方類庫(kù)(KSOAP2)來(lái)調(diào)用Web Service。
在android客戶端開發(fā)中調(diào)用服務(wù)端web service的步驟如下:
//指定Web Service的命名空間和調(diào)用的方法名
Soap Object request = new Soap Object("http://service", "get Name");
//設(shè)置調(diào)用方法的參數(shù)值
request.addProperty("param1", "value1");
//生成調(diào)用WebService方法的SOAP請(qǐng)求信息
SoapSerializationEnvelope envelope = new
SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = request;
//創(chuàng)建Http TransportSE對(duì)象。通過(guò)Http TransportSE類的構(gòu)造方法可以指定
//Web Service的WSDL文檔的URL
HttpTransportSE ht = new
HttpTransportSE("http://service/axis2/services/SearchProductService?wsdl");
//使用call方法調(diào)用WebService方法
ht.call(null, envelope);
//使用getResponse方法獲得WebService方法的返回結(jié)果
SoapObject soapObject = (SoapObject) envelope.getResponse();
在使用多線程獲取到后臺(tái)數(shù)據(jù)之后,在客戶端將數(shù)據(jù)解析出來(lái),然后將這些信息排版并顯示到activity(界面)上,同時(shí)將一些不變的數(shù)據(jù)存到android自帶的sqlite數(shù)據(jù)庫(kù),下次即使是離線也可以使用其中部分功能。
在后臺(tái)服務(wù)端開發(fā),開放出這些功能的接口,供客戶端調(diào)用。本系統(tǒng)主要使用的是php語(yǔ)言,用“正則表達(dá)式”解析出教學(xué)資源平臺(tái)上提供的一些資源,然后變成以web service需要xml數(shù)據(jù)格式,使用soap協(xié)議將數(shù)據(jù)返回給客戶端。同樣客戶端使用soap協(xié)議上傳用戶信息到服務(wù)端后,使用php提供的數(shù)據(jù)庫(kù)操作類結(jié)合sql語(yǔ)言對(duì)數(shù)據(jù)庫(kù)進(jìn)行增、刪、改、查的操作,本系統(tǒng)使用的數(shù)據(jù)庫(kù)是mysql。這樣客戶端與后臺(tái)的交換就完成了。 3.3“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程APP平臺(tái)界面設(shè)計(jì)在進(jìn)行課程APP界面設(shè)計(jì)時(shí),一要特別注意界面的簡(jiǎn)潔明了,學(xué)生不需要過(guò)多的思考就能知道各個(gè)按鈕的功能,不需要過(guò)多的培訓(xùn)就知道如何使用,盡量減少用戶點(diǎn)擊的次數(shù);二要注意課程平臺(tái)設(shè)計(jì)需綜合考慮色彩、噪音、時(shí)限和其他各種感官感受;三是界面操作便捷?!按髮W(xué)計(jì)算機(jī)基礎(chǔ)”課程APP學(xué)習(xí)資源平臺(tái)界面如圖3所示。 4結(jié)束語(yǔ)
本文介紹了基于android系統(tǒng)的“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程APP學(xué)習(xí)資源平臺(tái)的架構(gòu),分析了APP功能模塊、服務(wù)器端和客戶端數(shù)據(jù)交換方式和后臺(tái)管理模塊的功能特點(diǎn)和技術(shù)實(shí)現(xiàn)要點(diǎn),并得到如下結(jié)論:(1)課程APP是一個(gè)充滿活力、擁有廣泛應(yīng)用前景的研究領(lǐng)域,而與網(wǎng)絡(luò)學(xué)習(xí)課程的結(jié)合,必將為學(xué)生提供了優(yōu)質(zhì)便捷的學(xué)習(xí)途徑;(2)編寫移動(dòng)應(yīng)用程序時(shí),應(yīng)注意使用多線程技術(shù),這樣避免程序發(fā)生堵塞而對(duì)用戶操作失去響應(yīng),導(dǎo)致手機(jī)“死機(jī)”的問(wèn)題;(3)由于學(xué)生使用的移動(dòng)終端設(shè)備不同,應(yīng)開發(fā)不同系統(tǒng)版本的課程APP,這樣定會(huì)增加軟件開發(fā)成本;(4)教學(xué)課程APP的開發(fā)工作必將引起高校教學(xué)工作者的高度關(guān)注。
參考文獻(xiàn):
[1]CNNIC發(fā)布第34次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》[J].中國(guó)教育信息化,2014,(15):91.
[2]張曉.基于android平臺(tái)的校園信息系統(tǒng)app的設(shè)計(jì)實(shí)現(xiàn)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013,(24):253-254+256.
[3]許健才,洪洲,宋誠(chéng)英.基于移動(dòng)互聯(lián)網(wǎng)的社區(qū)課程學(xué)習(xí)平臺(tái)建設(shè)研究[J].大眾科技,2013,(11):148-150+57.
基金項(xiàng)目:成都理工大學(xué)2013-2016年高等教育人才培養(yǎng)質(zhì)量和教學(xué)改革項(xiàng)目階段成果(項(xiàng)目編號(hào):13JGY64)。