• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Android和Web Service的掌上校園系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2015-04-01 01:19:56張宏彬
      關(guān)鍵詞:客戶端智能手機(jī)界面

      張 亮 ,王 超 ,張宏彬 ,2

      (1.揚(yáng)州工業(yè)職業(yè)技術(shù)學(xué)院 電氣信息工程學(xué)院,江蘇 揚(yáng)州 225127;2.揚(yáng)州大學(xué),江蘇 揚(yáng)州 225127)

      近年來,各種信息服務(wù)系統(tǒng)在高校已經(jīng)得到廣泛應(yīng)用,各高校紛紛建成了如教務(wù)查詢系統(tǒng)、圖書查詢系統(tǒng)、校園一卡通系統(tǒng)等信息系統(tǒng),為師生校園生活帶來了很大便利。由于這些系統(tǒng)普遍建設(shè)較早,基本都采用傳統(tǒng)的B/S或C/S架構(gòu),只能在計(jì)算機(jī)上通過瀏覽器或?qū)S每蛻舳藖硎褂?,?duì)于使用的時(shí)間和地點(diǎn)有極大的局限性。另外,大部分高校原有的各個(gè)信息服務(wù)系統(tǒng)不能互聯(lián)互通、共享數(shù)據(jù),形成了一個(gè)個(gè)信息孤島,導(dǎo)致重復(fù)建設(shè),資源浪費(fèi),嚴(yán)重影響了學(xué)校的信息化建設(shè)和日常管理工作。目前在高校中,智能手機(jī)的普及率非常高,通過智能手機(jī)上網(wǎng)已經(jīng)成為廣大師生的普遍行為,而現(xiàn)有信息服務(wù)系統(tǒng)設(shè)計(jì)時(shí)大都未考慮到在智能手機(jī)平臺(tái)上運(yùn)行的兼容性,致使這些系統(tǒng)在智能手機(jī)上要么無法打開,要么即使能夠打開,但版式設(shè)計(jì)無法和手機(jī)平臺(tái)完全兼容,從而可用性極低。因此,通過無線通信網(wǎng)絡(luò)及移動(dòng)互聯(lián)技術(shù),設(shè)計(jì)一個(gè)基于智能手機(jī)平臺(tái)的掌上校園系統(tǒng),將原有各種信息資源和應(yīng)用服務(wù)進(jìn)行整合、挖掘和展現(xiàn),為管理人員、教職工、學(xué)生、學(xué)生家長和公眾提供便捷的移動(dòng)信息服務(wù),有著極大的現(xiàn)實(shí)意義。

      1 智能手機(jī)平臺(tái)選擇

      目前,智能手機(jī)平臺(tái)主流系統(tǒng)有蘋果的IOS系統(tǒng)、Google的Android系統(tǒng)、微軟的WP系統(tǒng)和諾基亞的塞班系統(tǒng),其中微軟的WP系統(tǒng)和諾基亞的塞班系統(tǒng)由于市場占有率太小,實(shí)際上已經(jīng)退出了一線競爭行列,市場基本處于蘋果和Google兩強(qiáng)爭霸的局面[1]。經(jīng)過科研服務(wù)團(tuán)隊(duì)前期調(diào)研發(fā)現(xiàn),蘋果手機(jī)由于定位高端,價(jià)格昂貴,在校園人群中占有率不高,而Android手機(jī)國產(chǎn)品牌眾多,價(jià)格低廉,且校內(nèi)電信運(yùn)營商推廣強(qiáng)勢(shì),因此為廣大師生所青睞,占有率高達(dá)90%以上。同時(shí),Android操作系統(tǒng)是開源系統(tǒng),所有編程接口全部對(duì)外開放,開發(fā)程序也十分便利,因此科研服務(wù)團(tuán)隊(duì)考慮首先在Android系統(tǒng)平臺(tái)實(shí)現(xiàn)掌上校園系統(tǒng)。

      2 系統(tǒng)總體架構(gòu)

      和傳統(tǒng)的信息系統(tǒng)一樣,基于移動(dòng)平臺(tái)的掌上校園系統(tǒng)的核心仍然是客戶端和數(shù)據(jù)庫服務(wù)器的通信??蛻舳薃pp用戶通過軟件界面選擇查詢內(nèi)容,軟件編碼后通過特定的網(wǎng)絡(luò)協(xié)議將查詢內(nèi)容傳輸給服務(wù)器端數(shù)據(jù)庫,數(shù)據(jù)庫查詢后,將信息返回給客戶端,客戶端解碼后在界面上顯示結(jié)果。然而,與傳統(tǒng)C/S架構(gòu)及B/S架構(gòu)不一樣的是,Android系統(tǒng)無法安全高效地與遠(yuǎn)端數(shù)據(jù)庫服務(wù)器直接進(jìn)行通信,如微軟SQL Server官方驅(qū)動(dòng)就不支持Android平臺(tái),而第三方驅(qū)動(dòng)無論功能和安全性都得不到保證。另外,在客戶端App中調(diào)用SQL語句直接向數(shù)據(jù)庫發(fā)起查詢也不是一個(gè)好的做法,這樣做無論安全性和效率都存在嚴(yán)重的問題。因此,目前Android客戶端連接遠(yuǎn)端SQL數(shù)據(jù)庫,主流的做法是在中間加層,即通過Web Service等技術(shù)來間接訪問數(shù)據(jù)庫,形成Android App+Web Service+Database的連接訪問方式[2]。Web Service接收來自Android客戶端的各種查詢請(qǐng)求,然后轉(zhuǎn)發(fā)給數(shù)據(jù)庫進(jìn)行查詢,對(duì)查詢所返回的數(shù)據(jù)進(jìn)行解析、抽取并通過合適的協(xié)議和數(shù)據(jù)格式將所需的數(shù)據(jù)傳回給Android客戶端程序。這樣,很多操作實(shí)際由Web Service來完成,Android客戶端的工作量將大大減少,從而大幅度降低對(duì)電池和網(wǎng)絡(luò)流量的消耗,而這又恰恰是移動(dòng)開發(fā)的關(guān)鍵。具體來說,本系統(tǒng)分為服務(wù)器端程序和客戶端程序兩部分,服務(wù)器端程序主要包含數(shù)據(jù)庫和Web service程序。其中,數(shù)據(jù)庫用來存放學(xué)院各職能部門提供的數(shù)據(jù),如學(xué)生成績、一卡通消費(fèi)記錄等;Web service程序則負(fù)責(zé)接收客戶端發(fā)來的查詢請(qǐng)求并對(duì)數(shù)據(jù)庫進(jìn)行查詢,最后將查詢到的結(jié)果返回給客戶端。客戶端程序以Android系統(tǒng)apk安裝包的形式發(fā)布,在Android手機(jī)安裝后,可以查詢相應(yīng)學(xué)生的課程成績、圖書借閱、學(xué)費(fèi)繳納、一卡通消費(fèi)記錄等數(shù)據(jù)。系統(tǒng)的總體架構(gòu)如圖1所示。

      圖1 系統(tǒng)總體架構(gòu)

      3 系統(tǒng)實(shí)現(xiàn)

      3.1 數(shù)據(jù)庫實(shí)現(xiàn)

      由于學(xué)校原有的各大信息系統(tǒng)都是各部門獨(dú)立開發(fā)或采購的,因此采用的數(shù)據(jù)庫類型不盡相同,如教務(wù)處自主開發(fā)教務(wù)系統(tǒng)采用SQL Server數(shù)據(jù)庫,而圖書館采購的匯文圖書系統(tǒng)則使用Oracle數(shù)據(jù)庫。在一個(gè)Web Service中對(duì)多種不同的數(shù)據(jù)庫進(jìn)行操作難度非常大,同時(shí)各個(gè)部門出于安全性的考慮,大都也不愿意將自己的數(shù)據(jù)庫開放給外部程序來訪問。因此,本系統(tǒng)Web service程序并沒有直接對(duì)各部門數(shù)據(jù)庫進(jìn)行操作,而是采取了每周定期從各部門導(dǎo)出相關(guān)數(shù)據(jù),生成excel文件,然后匯總到本地,利用SQL Server的導(dǎo)入向?qū)Чδ軐xcel文件導(dǎo)入本地SQL Server數(shù)據(jù)庫來進(jìn)行查詢的方式。這種方式在查詢的實(shí)時(shí)性方面要稍遜一籌,但降低了編程難度,確保了原有系統(tǒng)的安全,易于為各職能部門接受,降低了系統(tǒng)推廣的難度。在目前的1.0系統(tǒng)版本中,數(shù)據(jù)導(dǎo)出和導(dǎo)入由本系統(tǒng)管理員手動(dòng)完成,預(yù)期在下一個(gè)版本中,加入數(shù)據(jù)庫導(dǎo)入接口,使各部門的數(shù)據(jù)庫管理員可以定期向本系統(tǒng)導(dǎo)入其部門數(shù)據(jù),以減輕本系統(tǒng)管理員的工作量。

      3.2 Web Service實(shí)現(xiàn)

      目前,實(shí)現(xiàn)Web Service可選的兩大技術(shù)平臺(tái)分別為java平臺(tái)和.Net平臺(tái),這兩種平臺(tái)技術(shù)可以說是各有千秋,但本項(xiàng)目已經(jīng)選擇了微軟SQL Server數(shù)據(jù)庫,在這種情況下,顯然選擇.Net平臺(tái)開發(fā)相應(yīng)的Web Service更能保證兼容性。因此本系統(tǒng)Web service采用C#語言編寫,運(yùn)行在.Net 2.0環(huán)境下,Web服務(wù)器為IIS,采用了常規(guī)的ADO.net技術(shù)對(duì)SQL Server數(shù)據(jù)庫進(jìn)行操作,技術(shù)細(xì)節(jié)在此不在贅述。

      3.3 Android客戶端實(shí)現(xiàn)

      掌上校園Android客戶端采用Java語言,在Eclipse和ADT環(huán)境下開發(fā),兼容Android2.3版及以上系統(tǒng),主要包括用戶登錄、個(gè)人信息查詢、成績查詢、圖書借閱查詢、學(xué)費(fèi)查詢、一卡通消費(fèi)查詢等模塊。圖2為客戶端登錄界面,用戶必須通過身份認(rèn)證后,才能進(jìn)行其他各項(xiàng)信息的查詢。在各個(gè)信息查詢模塊中,主要采用了listview控件在Activity界面顯示獲取到的信息。在開發(fā)的過程中碰到的最大技術(shù)難點(diǎn)在于Android客戶端和Web service如何進(jìn)行信息的交互。.Net平臺(tái)下的Web service采用SOAP協(xié)議進(jìn)行信息的交互,SOAP是基于XML的簡易協(xié)議,可使應(yīng)用程序在HTTP之上進(jìn)行信息交換[3]。遺憾的是,在Android官方SDK提供的編程接口中,并沒有處理SOAP協(xié)議的API,因此在編程時(shí)就有兩種選擇,一種是詳細(xì)學(xué)習(xí)SOAP協(xié)議標(biāo)準(zhǔn),在代碼中手動(dòng)構(gòu)造SOAP數(shù)據(jù)包結(jié)構(gòu),并利用java sdk中提供的HttpURLConnection類進(jìn)行發(fā)送,在接收時(shí)也是手動(dòng)對(duì)XML數(shù)據(jù)進(jìn)行解析,提取出相關(guān)的數(shù)據(jù)。很顯然,這種方式難度較大,且編碼繁瑣,容易出錯(cuò)。另一種方法是選用第三方類庫來對(duì)SOAP協(xié)議進(jìn)行解析,在本項(xiàng)目中,開發(fā)團(tuán)隊(duì)選擇了Ksoap2類庫來進(jìn)行開發(fā)[4]。

      Ksoap2是一個(gè)開源項(xiàng)目,為Android平臺(tái)提供了一個(gè)輕量級(jí)的高效的SOAP庫,使用方便,其關(guān)鍵代碼如下:

      SoapObjectrpc = newSoapObject(NameSpace,MethodName);

      rpc.addProperty("id",myid);

      AndroidHttpTransport ht=new AndroidHttpTransport(url);

      ht.debug=true;

      SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

      envelope.bodyOut=rpc;

      envelope.dotNet=true;

      envelope.setOutputSoapObject(rpc);

      ht.call(soapAction,envelope);

      SoapObject result=(SoapObject)envelope.bodyIn;

      主要代碼流程為構(gòu)造SoapObject和SoapSerializationEnvelope對(duì)象,將相應(yīng)的查詢參數(shù)添加到對(duì)象中,并發(fā)送給Web Service API對(duì)應(yīng)的URL,然后再將返回的信息進(jìn)行解析。尤其需要注意的是,由于是和.Net平臺(tái)下的Web service網(wǎng)絡(luò)接口進(jìn)行通信,envelope.dotNet=true這句代碼必不可少,否則將出現(xiàn)異常。圖3為成績查詢界面,其他模塊業(yè)務(wù)雖然不同,但代碼邏輯類似,都是通過Web Service從數(shù)據(jù)庫取得數(shù)據(jù)后,使用listview控件展示在界面上,由于篇幅所限,這里不在進(jìn)行闡述。

      4 結(jié)論

      揚(yáng)州工業(yè)職業(yè)技術(shù)學(xué)院掌上校園系統(tǒng)研發(fā)成功后,已在校園網(wǎng)內(nèi)部進(jìn)行了初步測(cè)試,測(cè)試結(jié)果表明,由于該系統(tǒng)兼容性好,安裝使用方便且流量消耗很小,深受廣大師生歡迎。項(xiàng)目團(tuán)隊(duì)正在優(yōu)化相關(guān)模塊功能,進(jìn)一步對(duì)系統(tǒng)進(jìn)行完善,并爭取能夠向同類院校推廣。

      圖2 系統(tǒng)登錄界面

      圖3 成績查詢界面

      [1]王彥恩.2013-2014年中國手機(jī)市場研究年度報(bào)告[EB/OL].(2014-01-29)[2014-11-08].http://zdc.zol.com.cn/431/4315148.html.

      [2]馬杰克.基于WEBService的校園信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2013.

      [3]隋菱歌,殷樹友,黃嵐.SOAP協(xié)議在XML數(shù)據(jù)傳輸中的應(yīng)用[J].長春大學(xué)學(xué)報(bào),2006,16(4):52-55.

      [4]華建祥.基于Android平臺(tái)的校園信息查詢系統(tǒng)客戶端設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2014,13(2):101-103.

      猜你喜歡
      客戶端智能手機(jī)界面
      智能手機(jī)是座礦
      智能手機(jī)臉
      英語文摘(2020年5期)2020-09-21 09:26:30
      國企黨委前置研究的“四個(gè)界面”
      假如我是一部智能手機(jī)
      趣味(語文)(2018年8期)2018-11-15 08:53:00
      縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
      孵化垂直頻道:新聞客戶端新策略
      基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
      基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
      人機(jī)交互界面發(fā)展趨勢(shì)研究
      手機(jī)界面中圖形符號(hào)的發(fā)展趨向
      新聞傳播(2015年11期)2015-07-18 11:15:04
      长乐市| 东兰县| 延吉市| 慈利县| 桑日县| 鲜城| 永泰县| 湘潭县| 永嘉县| 汨罗市| 托里县| 安丘市| 上思县| 六枝特区| 潜江市| 临漳县| 扬中市| 阳东县| 盐池县| 高阳县| 辛集市| 峡江县| 磐安县| 扬州市| 中宁县| 平谷区| 杨浦区| 镇坪县| 修武县| 宣汉县| 治县。| 浮梁县| 闵行区| 钦州市| 共和县| 随州市| 建昌县| 蒙城县| 八宿县| 安平县| 酉阳|