摘 要:雖然大多數(shù)高校已有網(wǎng)站形式的招聘報名管理系統(tǒng),但是如何能讓管理人員隨時隨地、更加靈活的管理報名工作環(huán)節(jié),讓報考人員不受電腦的限制在手機上完成報名、查看審核結(jié)果、及時關(guān)注報考進度和消息等操作。在此背景下提出了,引入WebService并對API進行自定義重新編程的方法,實現(xiàn)了在與已有的招聘報名管理系統(tǒng)共用底層數(shù)據(jù)庫的基礎(chǔ)上,再拓展開發(fā)了基于Android平臺的招聘報名管理系統(tǒng),滿足了為管理和報考人員提供在Android平臺上完成相關(guān)工作和業(yè)務(wù)的需求。
關(guān)鍵詞:Android平臺;WebService;API編程
中圖分類號:TP311.5 文獻標識碼:A
1 引言(Introduction)
當前國內(nèi)大部分高校的招聘報名工作都已經(jīng)采用了依托網(wǎng)絡(luò)的在線招聘報名工作方式。依托于網(wǎng)絡(luò)的在線招聘報名工作方式,因為實現(xiàn)了工作環(huán)節(jié)自動化,所以在節(jié)省了大量人力和財力投入的同時,也提高了高校招聘報名工作的效率。隨著智能手機的普及、手機功能的多樣化,以及移動互聯(lián)網(wǎng)的飛速發(fā)展,人們更習慣于使用手機連接互聯(lián)網(wǎng),在手機上進行各種互聯(lián)網(wǎng)的業(yè)務(wù)操作[1,2]。因此結(jié)合現(xiàn)有招聘報名工作的實際情況,在已有的在線招聘報名管理系統(tǒng)的基礎(chǔ)上,再開發(fā)一套基于Android平臺的招聘報名管理系統(tǒng),為管理和報考人員提供第二種完成相關(guān)管理工作與報考操作的渠道,對于高校招聘報名工作來說具有非常大的現(xiàn)實意義。
2 系統(tǒng)需求分析(System requirements analysis)
2.1 系統(tǒng)功能需求
作者單位現(xiàn)已有一套基于.Net架構(gòu)的在線招聘報名管理系統(tǒng),該系統(tǒng)采用了技術(shù)較為成熟的三層架構(gòu),可以滿足報考人員通過電腦連接互聯(lián)網(wǎng)實現(xiàn)在線報名的需求,但是如果通過手機瀏覽器訪問在線招聘報名系統(tǒng)的表示層WEB頁面時,手機就會出現(xiàn)頁面亂碼、頁面不完整、功能按鈕點擊失效等情況[3]。因此為了能夠?qū)崿F(xiàn)讓報考人員能夠通過手機完成報名的需求,就必須要開發(fā)一套基于Android平臺的招聘報名系統(tǒng)。為了不影響已有的在線招聘報名系統(tǒng)的繼續(xù)使用,以及保證招聘報名工作數(shù)據(jù)的統(tǒng)一性,基于Android平臺的招聘報名系統(tǒng)要通過公共數(shù)據(jù)訪問模塊遠程調(diào)用已有的在線招聘報名系統(tǒng)的底層數(shù)據(jù)庫,也就是說兩個不同操作系統(tǒng)的程序要共用一個數(shù)據(jù)庫。本系統(tǒng)采用對WebService中API的重新編程來完成這個遠程調(diào)用任務(wù)。
基于Android平臺的招聘報名系統(tǒng)提供了報名端和管理端兩個訪問端口,系統(tǒng)的數(shù)據(jù)支持由一個公共數(shù)據(jù)訪問模塊提供。報名端提供了完成所有報名流程的各個功能,以及查看審核結(jié)果、報考進度等功能。為了讓工作人員能夠及時掌握報名工作情況、處理報名工作中出現(xiàn)的問題,管理端為工作人員提供了查詢、維護和管理報名數(shù)據(jù)信息的功能[4]。
2.2 系統(tǒng)主要工作流程
本系統(tǒng)工作流程如圖1所示。
3 系統(tǒng)架構(gòu)設(shè)計(Design of software architecture)
3.1 模塊劃分
在Android平臺進行軟件開發(fā)與Windows平臺不同,在系統(tǒng)模塊的劃分中要充分考慮到Android平臺的特性,以及手機硬件環(huán)境對程序運行的影響等問題[5]。本系統(tǒng)的模塊劃分如圖2所示。
3.2 公共數(shù)據(jù)訪問模塊的架構(gòu)設(shè)計
公共數(shù)據(jù)訪問模塊是系統(tǒng)的核心。本系統(tǒng)實現(xiàn)的難點是如何在與已有的在線招聘報名系統(tǒng)共用一個底層數(shù)據(jù)庫,也就是如何處理兩個不同的操作系統(tǒng)、不同的系統(tǒng)之間多用戶并發(fā)訪問延遲的問題。為了解決這些問題,本系統(tǒng)引入了WebService技術(shù)。WebService可以兼容任何一種操作系統(tǒng),而且與實現(xiàn)編程語言無關(guān)[6,7]。在Android系統(tǒng)的開發(fā)中,并不能直接對WebService進行編程,需要調(diào)用KSOAP2開發(fā)包來輔助完成。在WebService中提供了許多可以自定義的API接口,我們通過對API接口的編程就能夠?qū)崿F(xiàn)對多個用戶的訪問請求、遠程數(shù)據(jù)庫的響應(yīng)進行協(xié)調(diào)與管理[8,9]。系統(tǒng)數(shù)據(jù)架構(gòu)設(shè)計模型如圖3所示。
4 核心功能模塊的設(shè)計與實現(xiàn)(Design and implementation of core functional modules)
4.1 報名端數(shù)據(jù)錄入的實現(xiàn)
報名端要完成報考人員的所有信息錄入,在這些信息中科研論文與著作信息的輸入是實現(xiàn)的難點,因為這些信息具有特殊符號多、字符長度長、數(shù)據(jù)記錄多等特點,所以本系統(tǒng)在對這些數(shù)據(jù)進行錄入的時候,首先會對這些數(shù)據(jù)進行了特殊符號校驗、字符長度限制、數(shù)據(jù)記錄分段等處理,并且還使用了哈希表來構(gòu)造這些數(shù)據(jù)的結(jié)構(gòu)形式,主要實現(xiàn)方法如下所示。
String ServiceUrl="http://ip:8080"
String webservicename=WebService;
SoapObject rq=new SoapObject(ServiceUrl,
webservicename);
HashMap
String,Object>();
ifmps.put( "bk1" ,edit1);
ifmps.put( "bk2" ,edit2);
for ( i=0;i ifmps.hasNext() request.addProperty(ifmps.getKey().toString());} 4.2 管理端推送信息模塊的實現(xiàn) 招聘管理人員可以通過管理端的信息推送功能,將報考人員的資格審核結(jié)果、或是在報考工作中需要發(fā)布的通知、公告等信息推送出去。管理端推送信息的主要實現(xiàn)方法如下所示。
URL ServiceUrl=new URL( "http://ip:8080" );
SoapObject webrpc=new SoapObject(webservicename);
webrpc.addProperty(webservicenametext, tx1);
String vf=result.getProperty("webservicetext").toString();
Intent webnet=new Intent(this,ifActivity.class);
webnet.putExtra("message",vf);
4.3 上傳報名照片文件的模塊實現(xiàn)
報考人員通過手機上傳報名照片到遠端服務(wù)器中。為了保證上傳的可靠性,系統(tǒng)對照片的體積大小做了相應(yīng)的限制。主要實現(xiàn)方法如下所示。
URL WURL=new URL("http://ip:8080");
File imagefile=new File(imagetextpath);
StringBuffer stringbuffer=new StringBuffer();
InputStream inputstream;
try {inputstream=new FileInputStream(imagefile);
byte[] imagebuff=new byte[1024*1024];
int len=-1;
while (-1 !=(len=is.read(imagebuff,0, imagebuff.length)))
{stringbuffer.append(Base64.encode(imagebuff,0, len));}
is.close();}
4.4 系統(tǒng)實現(xiàn)
本系統(tǒng)報名端登錄、填報個人信息和管理端消息推送運行效果如圖4所示。
5 系統(tǒng)測試(System test)
程序在設(shè)計完成后,為了能夠發(fā)現(xiàn)系統(tǒng)的不足或是漏洞,必須要經(jīng)過實際的使用測試[10]。為了能夠模擬多用戶訪問數(shù)據(jù)庫,測試系統(tǒng)對于并發(fā)訪問延遲的應(yīng)對能力,我們組織了五個班級的在校的學生,在同一個時間使用本系統(tǒng)進行填報信息、上傳照片、獲取消息等操作,測試結(jié)果如表1所示。
6 結(jié)論(Conclusion)
應(yīng)用WebService技術(shù)到基于Android平臺的招聘報名管理系統(tǒng)中,可以實現(xiàn)可以實現(xiàn)報考人員更方便的通過手機來完成報名的各個流程,同時管理人員也可以隨時、隨地的掌握報考情況,并能夠及時處理在招聘報名工作中出現(xiàn)的問題。在經(jīng)過實際的使用后,運行良好完全可以招聘工作的需求。
參考文獻(References)
[1] Jun Song,et al.An Integrated Static Detection and Analysis Framework for Android[J].Pervasive and Mobile Computing,2016,32(10):15-25.
[2] Domenico Amalfitano,Nicola Amatucci,Porfirio Tramontana.A General Framework for Comparing Automatic Testing Techniques of Android Mobile Apps[J].2016,125(3):322-343.
[3] Seyyed Ehsan Salamati Taba,et al.An Exploratory Study on the Usage of Common Interface Elements in Android Applications[J].2016,15(7):70-77.
[4] 降惠.基于Android的銀行實時排隊等待APP的開發(fā)與設(shè)計[J].軟件工程,2016,19(6):45-47.
[5] 魏晉.基于Android平臺的課堂簽到與手機違規(guī)監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[J].軟件工程,2016,19(2):37-38.
[6] 羅國濤.基于WebService和Android的C/S+B/S結(jié)構(gòu)手機電影系統(tǒng)[J].計算機應(yīng)用與軟件,2015,32(9):328-333.
[7] 施波迪.利用ASIHTTPRequest+WebService實現(xiàn)iOS訪問遠程數(shù)據(jù)庫[J].信息安全與技術(shù),2015,6(5):67-68.
[8] 涂繼輝,趙劍.基于WebService的通信實驗設(shè)備排隊系統(tǒng)設(shè)計與實現(xiàn)[J].長江大學學報(自科版),2015(10):44-47.
[9] 李躍田,馬振.基于WebService的固井數(shù)據(jù)庫管理系統(tǒng)的設(shè)計與開發(fā)[J].軟件工程,2016,19(11):36-40.
[10] 陳會安.Android SDK程序設(shè)計與開發(fā)范例[M].北京:清華大學出版社,2013.
作者簡介:
魏 晉(1975-),男,講師,碩士.研究領(lǐng)域:計算機軟件工程.