趙春宇,劉紹華
(北京郵電大學(xué)電子工程學(xué)院 北京 100876)
基于Android系統(tǒng)的移動辦公應(yīng)用設(shè)計與實現(xiàn)
趙春宇,劉紹華
(北京郵電大學(xué)電子工程學(xué)院 北京 100876)
隨著信息技術(shù)的快速發(fā)展,企事業(yè)單位、政府機構(gòu)等也逐漸重視移動互聯(lián)網(wǎng)帶來的巨大變化,移動辦公應(yīng)運而生,它使得人們真正意義上實現(xiàn)自主辦公,而不受時間、地點、事務(wù)的約束,從根本上解決了工作效率和成本問題。目前,國內(nèi)的移動辦公應(yīng)用多基于SaaS服務(wù),比較優(yōu)秀的軟件有阿里的釘釘,騰訊的騰訊通,teambition和Worktile等,同時,國外的移動辦公市場也是十分火爆,在蘋果App Store中搜索移動辦公相關(guān)應(yīng)用,已經(jīng)有300多款上線的APP。本文設(shè)計并實現(xiàn)了一種基于Android系統(tǒng)的移動辦公應(yīng)用,在功能上除了包括基本的在線辦公、文件閱覽、通訊錄等,還添加了手寫簽批功能,通過手寫即可進行簽名及批閱,以及集成的視頻會議功能,可以全方位的滿足各類用戶的日常辦公需求。
計算機;移動辦公;Android開發(fā)
近幾年來,隨著移動互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,各種智能移動設(shè)備和配套的應(yīng)用軟件層出不窮,其中不乏可以用來進行辦公的軟件,這也吸引著越來越多的人體驗通過智能手機和平板電腦來進行辦公,這種新的辦公方式就是移動辦公。移動辦公是移動終端計算能力和無線網(wǎng)絡(luò)傳輸能力的結(jié)合[1],從而形成了的新的辦公自動化模式。使用“移動辦公”應(yīng)用,辦公人員不必局限于在公司、有電腦才能處理公司事務(wù)??梢栽谌我獾胤剑ˋnywhere)、任意時候(Anytime)通過手機處理任意事務(wù)(Anything)[2]?!耙苿愚k公”有效的突破了時間和空間的局限,促進問題溝通,保證服務(wù)質(zhì)量,提升管理效率,從而推動效益增長。
隨著企業(yè)規(guī)模的擴大,員工日常工作范圍不再局限于唯一的辦公間內(nèi),在多個辦公場所間流動辦公已成為現(xiàn)在主流的辦公方式,這就難免會出現(xiàn)交流和分工上的問題。在這種情形之下,就需要有一種能夠滿足員工跨區(qū)域性辦公的工具,使員工不受地域、時間和業(yè)務(wù)的約束,能夠便捷、迅速的與他人進行溝通協(xié)作,解決工作問題。除了企業(yè)之外,這種辦公方式在各地方政府單位中也慢慢多了起來,為了減少辦公流程中紙質(zhì)文件的產(chǎn)生,保證信息的安全性和降低開銷,實現(xiàn)“無紙化”辦公,政府單位也越來越重視移動互聯(lián)網(wǎng)所帶來的信息化辦公的模式,并且逐步開始借助這種方法來提高整體的辦公效率和質(zhì)量。
總的來說,移動辦公應(yīng)用具有及時、高效、方便的特性[3],同時在功能和需求上仍有很大的探索空間和發(fā)展前景,對基于 Android 的移動辦公系統(tǒng)的課題研究來說是十分有意義的。
根據(jù)移動辦公應(yīng)用在現(xiàn)實生活中的使用場景,從用戶實際需求入手,整個動辦公應(yīng)用的功能大致分為四大模塊:對外辦公模塊、個人辦公模塊、信息管理模塊和系統(tǒng)功能模塊,其中每一個模塊中還細(xì)分了很多小功能模塊,所以移動辦公應(yīng)用的整體功能需求還是比較復(fù)雜的。移動辦公應(yīng)用粗顆粒度的結(jié)構(gòu)圖如圖1所示,首先來描述應(yīng)用中全部功能,然后再對每一項功能做具體的業(yè)務(wù)分析。
1.1 對外辦公業(yè)務(wù)分析
對外辦公指的是不同用戶之間有業(yè)務(wù)聯(lián)系的辦公模式,是任何移動辦公都需要具備的基本功能[4]。結(jié)合本課題研究的移動辦公應(yīng)用的使用場景來分析,對外辦公常發(fā)生于企事業(yè)單位中上下級間或者同級同事間的業(yè)務(wù)需求,主要形式體現(xiàn)為文件的送遞、閱覽、審批,以及多人共同參與的會議等。
針對文件處理的業(yè)務(wù)需求,移動辦公應(yīng)用秉持“無紙化”辦公的目標(biāo),主要提供兩部分功能:公文簽批和文件速遞。公文簽批的功能包含對公文的擬稿、修改、審閱、查詢、會簽、簽批記錄展示和公文附帶附件展示等,可以實現(xiàn)對流轉(zhuǎn)中的公文進行流程跟蹤和控制。文件速遞完成的是對文件的分發(fā)、送審、傳閱、查詢和簽批意見展示等功能,具體業(yè)務(wù)流程包含選擇狀態(tài)和選擇具體文件。
針對多人會議需求,移動辦公應(yīng)用結(jié)合當(dāng)今比較流行的在線視頻技術(shù),集成第三方的視頻會議應(yīng)用,設(shè)置了操作簡便且功能強大的視頻會議功能,滿足用戶在任何地點任何時間下都可以進行多人會議的迫切需求。
1.2 個人辦公業(yè)務(wù)分析
移動辦公應(yīng)用除了適用與用戶之間的辦公業(yè)務(wù)需求,也需要滿足個人辦公的需求。從用戶實際需求出發(fā),個人辦公主要體現(xiàn)在對一些重要信息的記錄以及日程安排的提醒上。個人辦公只針對用戶個人需求,因此要強調(diào)操作的便捷方便,降低用戶的學(xué)習(xí)成本。在文研究的移動辦公應(yīng)用中,主要以記事本功能來實現(xiàn)。
記事本功能通過調(diào)用移動設(shè)備自帶的記事本應(yīng)用來實現(xiàn),其中包含記事簿、會議紀(jì)要、文稿和手繪等子功能,同樣可以基于手寫來實現(xiàn)內(nèi)容的記錄與保存,進一步實現(xiàn)了“無紙化”辦公的目標(biāo)。
1.3 信息管理業(yè)務(wù)分析
移動辦公應(yīng)用設(shè)置了集中的信息管理功能,主要體現(xiàn)為通訊錄和公共信息展示。通訊錄是移動設(shè)備用戶最常用的功能,在通訊錄里可以按照不同索引方式將聯(lián)系人劃分為若干群組,用戶可以查詢特定聯(lián)系人的姓名、職位、部門和聯(lián)系方式等個人信息[5],以滿足工作的需求。同樣,該通訊錄也是企事業(yè)內(nèi)部員工進行工作交流和信息共享的用戶數(shù)據(jù)庫。公共信息可以實現(xiàn)讓企事業(yè)單位展示一些數(shù)據(jù)信息和動態(tài)要聞,以及發(fā)布針對全員的公告等,實現(xiàn)企事業(yè)內(nèi)部的信息統(tǒng)一。主要通過PDF文件的形式來展示信息內(nèi)容。
1.4 系統(tǒng)功能業(yè)務(wù)分析
移動辦公應(yīng)用中除了涉及與辦公業(yè)務(wù)相關(guān)的需求外,還包括了與應(yīng)用本身相關(guān)的一些系統(tǒng)業(yè)務(wù),主要體現(xiàn)在用戶賬號綁定、系統(tǒng)升級和修改密碼等方面。
賬號綁定主要體現(xiàn)在用戶登錄時的個人身份驗證,將用戶賬號與用戶實際的個人標(biāo)記進行綁定,保證了個人辦公信息的安全性;在進入移動辦公應(yīng)用時,需對當(dāng)前移動辦公應(yīng)用的版本進行分析,判斷是否是最新版,并根據(jù)判斷結(jié)果提示用戶進行升級操作。
從軟件開發(fā)的角度來看,任何應(yīng)用的開發(fā)都需要一個詳細(xì)的設(shè)計方案。針對移動辦公應(yīng)用,在設(shè)計時需要注意幾點內(nèi)容:第一,保證移動辦公應(yīng)用的可用性,在網(wǎng)絡(luò)情況正常的情況下,要達(dá)到99.99%的可使用時間。第二,要以用戶為中心來進行產(chǎn)品設(shè)計,注重產(chǎn)品使用中的用戶體驗,界面簡潔美觀,功能高效實用,系統(tǒng)運行流程。第三,應(yīng)用程序的接口設(shè)計要有高可重用性,使用迭代式開發(fā)模式[6]。
2.1 總體設(shè)計方案
移動辦公應(yīng)用包括客戶端和服務(wù)端,客戶端負(fù)責(zé)與用戶交互,服務(wù)端實現(xiàn)數(shù)據(jù)處理和存儲,與客戶端進行交互[7]。涉及到企事業(yè)具體應(yīng)用場景,需要的物理環(huán)境包括:移動設(shè)備、無線通信網(wǎng)絡(luò)、無線網(wǎng)關(guān)、Internet網(wǎng)絡(luò)、企事業(yè)內(nèi)部服務(wù)器和數(shù)據(jù)庫系統(tǒng)等,當(dāng)然還包括防火墻[8]。系統(tǒng)總體設(shè)計結(jié)構(gòu)如圖2所示。
2.2 Android客戶端設(shè)計方案
圖2 系統(tǒng)總體設(shè)計結(jié)構(gòu)圖Fig.2 overall architecture design of system
移動辦公應(yīng)用Android客戶端的結(jié)構(gòu)如圖3所示。在底層數(shù)據(jù)的支持下,整體分為登錄模塊、主功能模塊、子功能模塊三個部分。在登錄模塊通過對用戶信息的輸入、驗證、匹配后,進入APP的具體應(yīng)用界面。主功能模塊中分為六部分,其中前五部分由主界面上對應(yīng)的按鈕可以點擊進入,修改密碼和系統(tǒng)升級模塊是由主界面右上角的工具欄進入。在進入每個主功能模塊后,通過不同的業(yè)務(wù)需求即可到達(dá)對應(yīng)的子功能模塊,完成相應(yīng)功能。
圖3 Android客戶端功能結(jié)構(gòu)圖Fig.3 function architecture of Android client
2.3 服務(wù)端設(shè)計方案
本文研究中的服務(wù)端系統(tǒng)是基于Spring MVC框架實現(xiàn)的,在功能上實現(xiàn)為客戶端APP提供資源及數(shù)據(jù)存儲服務(wù),所以服務(wù)端并未進行相關(guān)Web前端開發(fā),僅實現(xiàn)Model層和Controller層。服務(wù)端系統(tǒng)設(shè)計如圖4所示。
圖4 服務(wù)端系統(tǒng)設(shè)計圖Fig.4 architecture of server system
在完成需求分析和方案設(shè)計之后,本章主要在代碼層面來分析移動辦公應(yīng)用在開發(fā)中的一些核心技術(shù)的實現(xiàn)過程。其中Android客戶端開發(fā)使用的集成開發(fā)環(huán)境是Android Studio,使用的版本為Android 4.4版本。
3.1 登錄模塊加密實現(xiàn)
賬號登錄時客戶端與服務(wù)端交互的規(guī)則設(shè)定為客戶端發(fā)送包含有“用戶名|密碼|手機號”的Request給服務(wù)端提供的相應(yīng)接口,服務(wù)端處理請求后會響應(yīng)一個包含“token”和“errorMsg”的Response。token可以理解為一個令牌,是用戶登錄成功后對當(dāng)前用戶的唯一標(biāo)識,通常設(shè)定token為全局變量,并且伴隨在應(yīng)用程序的每一個界面。errorMsg即為登錄失敗時的錯誤信息,會在登錄失敗時直接顯示在登錄頁面的屏幕上。
本文研究中對登錄模塊中的用戶名密碼采用MD5加Base64編碼的雙重加密方式。
首先看一下MD5加密的實現(xiàn)過程,自定義一個MD5EncodeUtils的工具類,在工具類內(nèi)部先通過MessageDigest.getInstance(“MD5”)方法來聲明進行加密的計算摘要[9],再調(diào)用digest()方法來計算MD5的值,最終將得到的值返回為十六進制字符串形式,通過上述步驟即可實現(xiàn)MD5Encode的加密方法。接著,通過這個工具類,在實現(xiàn)登錄模塊的LoginActivity中對密碼進行MD5加密,并將加密后的密碼與用戶名、手機號拼接成字符串,然后再將這個字符串進行Basse64的編碼加密,Base64編碼可以直接調(diào)用Java自帶的方法實現(xiàn)。最終形成了需要發(fā)送給服務(wù)端的Request。
3.2 網(wǎng)絡(luò)請求實現(xiàn)
通過一個網(wǎng)絡(luò)開源庫——Retrofit對網(wǎng)絡(luò)請求進行封裝,Retrofit是一個類型安全的httpclient庫,也是目前Android上最流行的httpclient庫之一,若應(yīng)用程序中集成了OkHttp,則Retrofit會默認(rèn)使用OkHttp來處理網(wǎng)絡(luò)層的請求[10]。當(dāng)然Retrofit最大的特色是使用標(biāo)準(zhǔn)RESTful API的方式來封裝請求接口,并且通過注解的方式來表示請求方式,對于返回的數(shù)據(jù)有同步和異步兩種方式處理方式,極大的精簡了開發(fā)中的代碼量。
在使用Retrofit框架之前,我們先需要通過Android Studio中的build.gradle引入Retrofit和OkHttp的依賴,完成導(dǎo)入相關(guān)第三方庫的工作。接著創(chuàng)建一個Retrofit Factory的工廠類,通過OkHttpClient.Builder()方法來封裝OkHttp,以及采用動態(tài)代理的方式來創(chuàng)建Http連接。然后創(chuàng)建一個RestApi的interface接口類,在這個接口類中,可以通過@GET、@POST等注解來實現(xiàn)每一個接口的請求方式,以及通過@Url和@Field來說明接口的地址和字段。這里需要補充一點,Retrofit中是采用Google推出的GSON來解析JSON數(shù)據(jù)的。
在完成整個框架的封裝之后,在Activity中即可以調(diào)用RetrofitFactory類中的getRetrofit()方法來進行網(wǎng)絡(luò)請求,對于響應(yīng)的結(jié)果,使用call.enqueue()的異步方法來處理。
3.3 多線程處理實現(xiàn)
在涉及到系統(tǒng)升級、大資源文件下載等耗時操作時,很容易造成線程阻塞,就是我們常說的卡死[11],這種現(xiàn)象在Android中叫作ANR(Application Not Response),應(yīng)用中常采用多線程的方法來處理這個問題。Android中提供了多種實現(xiàn)多線程間通信的方法,本文實現(xiàn)的應(yīng)用中使用Handler機制來實現(xiàn)系統(tǒng)升級功能。在主UI線程中通過Thread.start()方法開啟一個新的線程,將進行文件下載的Runnable子線程添加至Thread中,同時在UI主線程中創(chuàng)建一個Handler的實例mdownloadHandler。在子線程中,通過mdownloadHandler.sendMessage()的方法將消息發(fā)送給消息隊列,在Handler的方法中就可以通過handleMessage()的方法來處理接收到的消息,從而實現(xiàn)針對系統(tǒng)升級包下載的多線程。
完成了移動辦公系統(tǒng)的詳細(xì)設(shè)計和具體的代碼實現(xiàn)之后,我們需要通過完善的測試來對系統(tǒng)的整體運行狀況、各功能模塊的實現(xiàn)情況、實際使用中的用戶體驗等方面進行檢查,盡可能多的發(fā)現(xiàn)存在的BUG并修改,保證移動辦公系統(tǒng)的正常上線及使用。
4.1 測試環(huán)境
從實際使用場景出發(fā),對移動辦公應(yīng)用需要進行在內(nèi)網(wǎng)環(huán)境和外網(wǎng)環(huán)境下的全方位測試,測試環(huán)境分為硬件測試環(huán)境、軟件測試環(huán)境和網(wǎng)絡(luò)測試環(huán)境,分別如表1,表2,表3所示。
表1 硬件測試環(huán)境
表2 軟件測試環(huán)境
表3 網(wǎng)絡(luò)測試環(huán)境
4.2 性能測試
在配置好相關(guān)的軟硬件及網(wǎng)絡(luò)測試環(huán)境后,我們通過壓力測試來對移動辦公應(yīng)用在性能上進行相關(guān)測試,模仿企事業(yè)單位的業(yè)務(wù)場景,驗證其系統(tǒng)的可用性和穩(wěn)定性。壓力測試的結(jié)果如表4所示。
表4 壓力測試結(jié)果表
通過壓力測試可以看出在100個用戶時,90%的事務(wù)平均響應(yīng)時間不超過3秒,每一事務(wù)的響應(yīng)時間不超過5秒;在500個用戶時,事務(wù)平均響應(yīng)時間不超過6秒,每一事務(wù)的響應(yīng)時間不超過8秒;達(dá)到1000個用戶時,總事務(wù)平均響應(yīng)時間和單一事務(wù)響應(yīng)時間都在10秒以內(nèi)。根據(jù)測試結(jié)果,實現(xiàn)的移動辦公應(yīng)用在性能上完全可以滿足企事業(yè)單位的日常辦公需求。
4.3 實際效果測試
完成性能測試后,在真機上對移動辦公應(yīng)用的實際效果進行測試,移動辦公應(yīng)用的主界面如圖5所示。
圖5 移動辦公應(yīng)用主界面Fig.5 Main interface of Mobile Office Application
本文所設(shè)計的移動辦公應(yīng)用最大的特點是完全實現(xiàn)了“無紙化”辦公,通過手寫簽批和簽批圖片異步展示等功能,簡化辦公流程中的步驟和開銷,也提高了公文在業(yè)務(wù)流程中的安全性。手寫公文簽批和圖片展示如圖6所示。
圖6 手寫公文簽批頁面Fig.6 Handwritten document signed page
Android技術(shù)的發(fā)展使得移動設(shè)備可以實現(xiàn)更加復(fù)雜的應(yīng)用。本文利用基于Android的Retrofit
網(wǎng)絡(luò)請求框架、SharePreferences數(shù)據(jù)存儲、Handler
消息機制等技術(shù)實現(xiàn)了一個移動辦公應(yīng)用,并且通過借助移動設(shè)備的手寫輸入模塊,實現(xiàn)了手寫簽批等個性化功能,為辦公人員提供了一個高效的移動辦公解決方案。移動辦公應(yīng)用的服務(wù)端采用基于
Java語言的Spring MVC框架進行開發(fā),在功能上實現(xiàn)了很好的模塊劃分,同時使用請求-響應(yīng)模型,極大的簡化了服務(wù)端系統(tǒng)的開發(fā)。
[1] 陳靜. 移動辦公與管理[M]. 北京: 對外經(jīng)貿(mào)大學(xué)出版社, 2012: 5-30.
[2] iResearch. 中國網(wǎng)民Android智能手機用戶研究報告[R].北京: iResearch, 2012: 2-8.
[3] 達(dá)斯. 移動終端系統(tǒng)設(shè)計[M]. 北京: 人民郵電出版社, 2012: 50-70.
[4] 姚昱旻. 基于Android的移動學(xué)習(xí)終端平臺的開發(fā)與研究[D]. 湖南: 中南大學(xué), 2008.
[5] 李蕓婕. 企業(yè)辦公自動化系統(tǒng)的發(fā)展[J]. 科學(xué)之友, 2007, 11(1): 126-127.
[6] 劉衛(wèi)國, 姚昱禹. Android的架構(gòu)與應(yīng)用開發(fā)研究[J]. 計算機系統(tǒng)應(yīng)用, 2008, 9(3): 110-112.
[7] JOHN LEWIS. Java Software Solutions[M]. Beijing: Publishing House of Electronics Industry, 2007.
[8] John Lombardo. Android Application Development[M]. California: O’Reilly Media, Inc, 2009.
[9] 宋慶泉. 移動辦公系統(tǒng)實現(xiàn)框架綜述[J]. 油氣田地面工程, 2010, 4(7): 56-58.
[10] 姚春暉, 謝海濤, 朱繼鳴, 肖景川. 移動辦公系統(tǒng)網(wǎng)絡(luò)建設(shè)及其安全問題探討[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用, 2010, 5(5): 82-83.
[11] 杜敏. 移動辦公服務(wù)系統(tǒng)的研究與開發(fā)[D]. 四川: 電子科技大學(xué), 2007.
Design and Implementation of Mobile Office Application Based on Android System
ZHAO Chun-yu1,LIU Shao-hua2
(School of Electronic Engineeringt, Beijing University of Post and Telecommunications, Beijing 100876, China)
With the rapid development of mobile internet, Enterprises, government agencies value on the great changes by the mobile internet. Mobile Office came into being, it gave people a true sense of autonomous office, not subject to the constraints of time, place and transaction, and fundamentally solve the problem of work efficiency and cost. Now, the domestic mobile office applications mostly based on SaaS services, relatively good software such as Alibaba’s DingDing, Tencent’s RTX, teambition and Worktile, and so on. At the same time, the foreign mobile office market is very popular, and search mobile Office-related applications in the Apple App Store, there are already more than 300 APP. The Mobile Office Application designed in this paper, which function not only have the basic online office, documents reading and contact list, but also add the handwriting and video conferencing, and can meet all kinds of users’ daily needs.
Computer ; Mobile office; Android development
TP399
A
10.3969/j.issn.1003-6970.2016.12.047
趙春宇(1991-),男,碩士研究生,主要研究領(lǐng)域為Android應(yīng)用開發(fā);劉紹華(1976-),男,副教授,要研究領(lǐng)域為無線通信,嵌入式系統(tǒng),物聯(lián)網(wǎng),云計算,移動互聯(lián)網(wǎng)。
本文著錄格式:趙春宇,劉紹華. 基于Android系統(tǒng)的移動辦公應(yīng)用設(shè)計與實現(xiàn)[J]. 軟件,2016,37(12):219-223