
摘 要:雖然大多數高校已有網站形式的招聘報名管理系統,但是如何能讓管理人員隨時隨地、更加靈活的管理報名工作環節,讓報考人員不受電腦的限制在手機上完成報名、查看審核結果、及時關注報考進度和消息等操作。在此背景下提出了,引入WebService并對API進行自定義重新編程的方法,實現了在與已有的招聘報名管理系統共用底層數據庫的基礎上,再拓展開發了基于Android平臺的招聘報名管理系統,滿足了為管理和報考人員提供在Android平臺上完成相關工作和業務的需求。
關鍵詞:Android平臺;WebService;API編程
中圖分類號:TP311.5 文獻標識碼:A
1 引言(Introduction)
當前國內大部分高校的招聘報名工作都已經采用了依托網絡的在線招聘報名工作方式。依托于網絡的在線招聘報名工作方式,因為實現了工作環節自動化,所以在節省了大量人力和財力投入的同時,也提高了高校招聘報名工作的效率。隨著智能手機的普及、手機功能的多樣化,以及移動互聯網的飛速發展,人們更習慣于使用手機連接互聯網,在手機上進行各種互聯網的業務操作[1,2]。因此結合現有招聘報名工作的實際情況,在已有的在線招聘報名管理系統的基礎上,再開發一套基于Android平臺的招聘報名管理系統,為管理和報考人員提供第二種完成相關管理工作與報考操作的渠道,對于高校招聘報名工作來說具有非常大的現實意義。
2 系統需求分析(System requirements analysis)
2.1 系統功能需求
作者單位現已有一套基于.Net架構的在線招聘報名管理系統,該系統采用了技術較為成熟的三層架構,可以滿足報考人員通過電腦連接互聯網實現在線報名的需求,但是如果通過手機瀏覽器訪問在線招聘報名系統的表示層WEB頁面時,手機就會出現頁面亂碼、頁面不完整、功能按鈕點擊失效等情況[3]。因此為了能夠實現讓報考人員能夠通過手機完成報名的需求,就必須要開發一套基于Android平臺的招聘報名系統。為了不影響已有的在線招聘報名系統的繼續使用,以及保證招聘報名工作數據的統一性,基于Android平臺的招聘報名系統要通過公共數據訪問模塊遠程調用已有的在線招聘報名系統的底層數據庫,也就是說兩個不同操作系統的程序要共用一個數據庫。本系統采用對WebService中API的重新編程來完成這個遠程調用任務。
基于Android平臺的招聘報名系統提供了報名端和管理端兩個訪問端口,系統的數據支持由一個公共數據訪問模塊提供。報名端提供了完成所有報名流程的各個功能,以及查看審核結果、報考進度等功能。為了讓工作人員能夠及時掌握報名工作情況、處理報名工作中出現的問題,管理端為工作人員提供了查詢、維護和管理報名數據信息的功能[4]。
2.2 系統主要工作流程
本系統工作流程如圖1所示。
3 系統架構設計(Design of software architecture)
3.1 模塊劃分
在Android平臺進行軟件開發與Windows平臺不同,在系統模塊的劃分中要充分考慮到Android平臺的特性,以及手機硬件環境對程序運行的影響等問題[5]。本系統的模塊劃分如圖2所示。
3.2 公共數據訪問模塊的架構設計
公共數據訪問模塊是系統的核心。本系統實現的難點是如何在與已有的在線招聘報名系統共用一個底層數據庫,也就是如何處理兩個不同的操作系統、不同的系統之間多用戶并發訪問延遲的問題。為了解決這些問題,本系統引入了WebService技術。WebService可以兼容任何一種操作系統,而且與實現編程語言無關[6,7]。在Android系統的開發中,并不能直接對WebService進行編程,需要調用KSOAP2開發包來輔助完成。在WebService中提供了許多可以自定義的API接口,我們通過對API接口的編程就能夠實現對多個用戶的訪問請求、遠程數據庫的響應進行協調與管理[8,9]。系統數據架構設計模型如圖3所示。
4 核心功能模塊的設計與實現(Design and implementation of core functional modules)
4.1 報名端數據錄入的實現
報名端要完成報考人員的所有信息錄入,在這些信息中科研論文與著作信息的輸入是實現的難點,因為這些信息具有特殊符號多、字符長度長、數據記錄多等特點,所以本系統在對這些數據進行錄入的時候,首先會對這些數據進行了特殊符號校驗、字符長度限制、數據記錄分段等處理,并且還使用了哈希表來構造這些數據的結構形式,主要實現方法如下所示。
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 管理端推送信息模塊的實現 招聘管理人員可以通過管理端的信息推送功能,將報考人員的資格審核結果、或是在報考工作中需要發布的通知、公告等信息推送出去。管理端推送信息的主要實現方法如下所示。
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 上傳報名照片文件的模塊實現
報考人員通過手機上傳報名照片到遠端服務器中。為了保證上傳的可靠性,系統對照片的體積大小做了相應的限制。主要實現方法如下所示。
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 系統實現
本系統報名端登錄、填報個人信息和管理端消息推送運行效果如圖4所示。
5 系統測試(System test)
程序在設計完成后,為了能夠發現系統的不足或是漏洞,必須要經過實際的使用測試[10]。為了能夠模擬多用戶訪問數據庫,測試系統對于并發訪問延遲的應對能力,我們組織了五個班級的在校的學生,在同一個時間使用本系統進行填報信息、上傳照片、獲取消息等操作,測試結果如表1所示。
6 結論(Conclusion)
應用WebService技術到基于Android平臺的招聘報名管理系統中,可以實現可以實現報考人員更方便的通過手機來完成報名的各個流程,同時管理人員也可以隨時、隨地的掌握報考情況,并能夠及時處理在招聘報名工作中出現的問題。在經過實際的使用后,運行良好完全可以招聘工作的需求。
參考文獻(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的開發與設計[J].軟件工程,2016,19(6):45-47.
[5] 魏晉.基于Android平臺的課堂簽到與手機違規監測系統的設計與實現[J].軟件工程,2016,19(2):37-38.
[6] 羅國濤.基于WebService和Android的C/S+B/S結構手機電影系統[J].計算機應用與軟件,2015,32(9):328-333.
[7] 施波迪.利用ASIHTTPRequest+WebService實現iOS訪問遠程數據庫[J].信息安全與技術,2015,6(5):67-68.
[8] 涂繼輝,趙劍.基于WebService的通信實驗設備排隊系統設計與實現[J].長江大學學報(自科版),2015(10):44-47.
[9] 李躍田,馬振.基于WebService的固井數據庫管理系統的設計與開發[J].軟件工程,2016,19(11):36-40.
[10] 陳會安.Android SDK程序設計與開發范例[M].北京:清華大學出版社,2013.
作者簡介:
魏 晉(1975-),男,講師,碩士.研究領域:計算機軟件工程.