趙春宇,劉紹華
(北京郵電大學電子工程學院 北京 100876)
基于Android系統的移動辦公應用設計與實現
趙春宇,劉紹華
(北京郵電大學電子工程學院 北京 100876)
隨著信息技術的快速發展,企事業單位、政府機構等也逐漸重視移動互聯網帶來的巨大變化,移動辦公應運而生,它使得人們真正意義上實現自主辦公,而不受時間、地點、事務的約束,從根本上解決了工作效率和成本問題。目前,國內的移動辦公應用多基于SaaS服務,比較優秀的軟件有阿里的釘釘,騰訊的騰訊通,teambition和Worktile等,同時,國外的移動辦公市場也是十分火爆,在蘋果App Store中搜索移動辦公相關應用,已經有300多款上線的APP。本文設計并實現了一種基于Android系統的移動辦公應用,在功能上除了包括基本的在線辦公、文件閱覽、通訊錄等,還添加了手寫簽批功能,通過手寫即可進行簽名及批閱,以及集成的視頻會議功能,可以全方位的滿足各類用戶的日常辦公需求。
計算機;移動辦公;Android開發
近幾年來,隨著移動互聯網技術的迅猛發展,各種智能移動設備和配套的應用軟件層出不窮,其中不乏可以用來進行辦公的軟件,這也吸引著越來越多的人體驗通過智能手機和平板電腦來進行辦公,這種新的辦公方式就是移動辦公。移動辦公是移動終端計算能力和無線網絡傳輸能力的結合[1],從而形成了的新的辦公自動化模式。使用“移動辦公”應用,辦公人員不必局限于在公司、有電腦才能處理公司事務。可以在任意地方(Anywhere)、任意時候(Anytime)通過手機處理任意事務(Anything)[2]。“移動辦公”有效的突破了時間和空間的局限,促進問題溝通,保證服務質量,提升管理效率,從而推動效益增長。
隨著企業規模的擴大,員工日常工作范圍不再局限于唯一的辦公間內,在多個辦公場所間流動辦公已成為現在主流的辦公方式,這就難免會出現交流和分工上的問題。在這種情形之下,就需要有一種能夠滿足員工跨區域性辦公的工具,使員工不受地域、時間和業務的約束,能夠便捷、迅速的與他人進行溝通協作,解決工作問題。除了企業之外,這種辦公方式在各地方政府單位中也慢慢多了起來,為了減少辦公流程中紙質文件的產生,保證信息的安全性和降低開銷,實現“無紙化”辦公,政府單位也越來越重視移動互聯網所帶來的信息化辦公的模式,并且逐步開始借助這種方法來提高整體的辦公效率和質量。
總的來說,移動辦公應用具有及時、高效、方便的特性[3],同時在功能和需求上仍有很大的探索空間和發展前景,對基于 Android 的移動辦公系統的課題研究來說是十分有意義的。
根據移動辦公應用在現實生活中的使用場景,從用戶實際需求入手,整個動辦公應用的功能大致分為四大模塊:對外辦公模塊、個人辦公模塊、信息管理模塊和系統功能模塊,其中每一個模塊中還細分了很多小功能模塊,所以移動辦公應用的整體功能需求還是比較復雜的。移動辦公應用粗顆粒度的結構圖如圖1所示,首先來描述應用中全部功能,然后再對每一項功能做具體的業務分析。
1.1 對外辦公業務分析
對外辦公指的是不同用戶之間有業務聯系的辦公模式,是任何移動辦公都需要具備的基本功能[4]。結合本課題研究的移動辦公應用的使用場景來分析,對外辦公常發生于企事業單位中上下級間或者同級同事間的業務需求,主要形式體現為文件的送遞、閱覽、審批,以及多人共同參與的會議等。
針對文件處理的業務需求,移動辦公應用秉持“無紙化”辦公的目標,主要提供兩部分功能:公文簽批和文件速遞。公文簽批的功能包含對公文的擬稿、修改、審閱、查詢、會簽、簽批記錄展示和公文附帶附件展示等,可以實現對流轉中的公文進行流程跟蹤和控制。文件速遞完成的是對文件的分發、送審、傳閱、查詢和簽批意見展示等功能,具體業務流程包含選擇狀態和選擇具體文件。
針對多人會議需求,移動辦公應用結合當今比較流行的在線視頻技術,集成第三方的視頻會議應用,設置了操作簡便且功能強大的視頻會議功能,滿足用戶在任何地點任何時間下都可以進行多人會議的迫切需求。
1.2 個人辦公業務分析
移動辦公應用除了適用與用戶之間的辦公業務需求,也需要滿足個人辦公的需求。從用戶實際需求出發,個人辦公主要體現在對一些重要信息的記錄以及日程安排的提醒上。個人辦公只針對用戶個人需求,因此要強調操作的便捷方便,降低用戶的學習成本。在文研究的移動辦公應用中,主要以記事本功能來實現。
記事本功能通過調用移動設備自帶的記事本應用來實現,其中包含記事簿、會議紀要、文稿和手繪等子功能,同樣可以基于手寫來實現內容的記錄與保存,進一步實現了“無紙化”辦公的目標。
1.3 信息管理業務分析
移動辦公應用設置了集中的信息管理功能,主要體現為通訊錄和公共信息展示。通訊錄是移動設備用戶最常用的功能,在通訊錄里可以按照不同索引方式將聯系人劃分為若干群組,用戶可以查詢特定聯系人的姓名、職位、部門和聯系方式等個人信息[5],以滿足工作的需求。同樣,該通訊錄也是企事業內部員工進行工作交流和信息共享的用戶數據庫。公共信息可以實現讓企事業單位展示一些數據信息和動態要聞,以及發布針對全員的公告等,實現企事業內部的信息統一。主要通過PDF文件的形式來展示信息內容。
1.4 系統功能業務分析
移動辦公應用中除了涉及與辦公業務相關的需求外,還包括了與應用本身相關的一些系統業務,主要體現在用戶賬號綁定、系統升級和修改密碼等方面。
賬號綁定主要體現在用戶登錄時的個人身份驗證,將用戶賬號與用戶實際的個人標記進行綁定,保證了個人辦公信息的安全性;在進入移動辦公應用時,需對當前移動辦公應用的版本進行分析,判斷是否是最新版,并根據判斷結果提示用戶進行升級操作。
從軟件開發的角度來看,任何應用的開發都需要一個詳細的設計方案。針對移動辦公應用,在設計時需要注意幾點內容:第一,保證移動辦公應用的可用性,在網絡情況正常的情況下,要達到99.99%的可使用時間。第二,要以用戶為中心來進行產品設計,注重產品使用中的用戶體驗,界面簡潔美觀,功能高效實用,系統運行流程。第三,應用程序的接口設計要有高可重用性,使用迭代式開發模式[6]。
2.1 總體設計方案
移動辦公應用包括客戶端和服務端,客戶端負責與用戶交互,服務端實現數據處理和存儲,與客戶端進行交互[7]。涉及到企事業具體應用場景,需要的物理環境包括:移動設備、無線通信網絡、無線網關、Internet網絡、企事業內部服務器和數據庫系統等,當然還包括防火墻[8]。系統總體設計結構如圖2所示。
2.2 Android客戶端設計方案

圖2 系統總體設計結構圖Fig.2 overall architecture design of system
移動辦公應用Android客戶端的結構如圖3所示。在底層數據的支持下,整體分為登錄模塊、主功能模塊、子功能模塊三個部分。在登錄模塊通過對用戶信息的輸入、驗證、匹配后,進入APP的具體應用界面。主功能模塊中分為六部分,其中前五部分由主界面上對應的按鈕可以點擊進入,修改密碼和系統升級模塊是由主界面右上角的工具欄進入。在進入每個主功能模塊后,通過不同的業務需求即可到達對應的子功能模塊,完成相應功能。

圖3 Android客戶端功能結構圖Fig.3 function architecture of Android client
2.3 服務端設計方案
本文研究中的服務端系統是基于Spring MVC框架實現的,在功能上實現為客戶端APP提供資源及數據存儲服務,所以服務端并未進行相關Web前端開發,僅實現Model層和Controller層。服務端系統設計如圖4所示。

圖4 服務端系統設計圖Fig.4 architecture of server system
在完成需求分析和方案設計之后,本章主要在代碼層面來分析移動辦公應用在開發中的一些核心技術的實現過程。其中Android客戶端開發使用的集成開發環境是Android Studio,使用的版本為Android 4.4版本。
3.1 登錄模塊加密實現
賬號登錄時客戶端與服務端交互的規則設定為客戶端發送包含有“用戶名|密碼|手機號”的Request給服務端提供的相應接口,服務端處理請求后會響應一個包含“token”和“errorMsg”的Response。token可以理解為一個令牌,是用戶登錄成功后對當前用戶的唯一標識,通常設定token為全局變量,并且伴隨在應用程序的每一個界面。errorMsg即為登錄失敗時的錯誤信息,會在登錄失敗時直接顯示在登錄頁面的屏幕上。
本文研究中對登錄模塊中的用戶名密碼采用MD5加Base64編碼的雙重加密方式。
首先看一下MD5加密的實現過程,自定義一個MD5EncodeUtils的工具類,在工具類內部先通過MessageDigest.getInstance(“MD5”)方法來聲明進行加密的計算摘要[9],再調用digest()方法來計算MD5的值,最終將得到的值返回為十六進制字符串形式,通過上述步驟即可實現MD5Encode的加密方法。接著,通過這個工具類,在實現登錄模塊的LoginActivity中對密碼進行MD5加密,并將加密后的密碼與用戶名、手機號拼接成字符串,然后再將這個字符串進行Basse64的編碼加密,Base64編碼可以直接調用Java自帶的方法實現。最終形成了需要發送給服務端的Request。
3.2 網絡請求實現
通過一個網絡開源庫——Retrofit對網絡請求進行封裝,Retrofit是一個類型安全的httpclient庫,也是目前Android上最流行的httpclient庫之一,若應用程序中集成了OkHttp,則Retrofit會默認使用OkHttp來處理網絡層的請求[10]。當然Retrofit最大的特色是使用標準RESTful API的方式來封裝請求接口,并且通過注解的方式來表示請求方式,對于返回的數據有同步和異步兩種方式處理方式,極大的精簡了開發中的代碼量。
在使用Retrofit框架之前,我們先需要通過Android Studio中的build.gradle引入Retrofit和OkHttp的依賴,完成導入相關第三方庫的工作。接著創建一個Retrofit Factory的工廠類,通過OkHttpClient.Builder()方法來封裝OkHttp,以及采用動態代理的方式來創建Http連接。然后創建一個RestApi的interface接口類,在這個接口類中,可以通過@GET、@POST等注解來實現每一個接口的請求方式,以及通過@Url和@Field來說明接口的地址和字段。這里需要補充一點,Retrofit中是采用Google推出的GSON來解析JSON數據的。
在完成整個框架的封裝之后,在Activity中即可以調用RetrofitFactory類中的getRetrofit()方法來進行網絡請求,對于響應的結果,使用call.enqueue()的異步方法來處理。
3.3 多線程處理實現
在涉及到系統升級、大資源文件下載等耗時操作時,很容易造成線程阻塞,就是我們常說的卡死[11],這種現象在Android中叫作ANR(Application Not Response),應用中常采用多線程的方法來處理這個問題。Android中提供了多種實現多線程間通信的方法,本文實現的應用中使用Handler機制來實現系統升級功能。在主UI線程中通過Thread.start()方法開啟一個新的線程,將進行文件下載的Runnable子線程添加至Thread中,同時在UI主線程中創建一個Handler的實例mdownloadHandler。在子線程中,通過mdownloadHandler.sendMessage()的方法將消息發送給消息隊列,在Handler的方法中就可以通過handleMessage()的方法來處理接收到的消息,從而實現針對系統升級包下載的多線程。
完成了移動辦公系統的詳細設計和具體的代碼實現之后,我們需要通過完善的測試來對系統的整體運行狀況、各功能模塊的實現情況、實際使用中的用戶體驗等方面進行檢查,盡可能多的發現存在的BUG并修改,保證移動辦公系統的正常上線及使用。
4.1 測試環境
從實際使用場景出發,對移動辦公應用需要進行在內網環境和外網環境下的全方位測試,測試環境分為硬件測試環境、軟件測試環境和網絡測試環境,分別如表1,表2,表3所示。

表1 硬件測試環境

表2 軟件測試環境

表3 網絡測試環境
4.2 性能測試
在配置好相關的軟硬件及網絡測試環境后,我們通過壓力測試來對移動辦公應用在性能上進行相關測試,模仿企事業單位的業務場景,驗證其系統的可用性和穩定性。壓力測試的結果如表4所示。

表4 壓力測試結果表
通過壓力測試可以看出在100個用戶時,90%的事務平均響應時間不超過3秒,每一事務的響應時間不超過5秒;在500個用戶時,事務平均響應時間不超過6秒,每一事務的響應時間不超過8秒;達到1000個用戶時,總事務平均響應時間和單一事務響應時間都在10秒以內。根據測試結果,實現的移動辦公應用在性能上完全可以滿足企事業單位的日常辦公需求。
4.3 實際效果測試
完成性能測試后,在真機上對移動辦公應用的實際效果進行測試,移動辦公應用的主界面如圖5所示。

圖5 移動辦公應用主界面Fig.5 Main interface of Mobile Office Application
本文所設計的移動辦公應用最大的特點是完全實現了“無紙化”辦公,通過手寫簽批和簽批圖片異步展示等功能,簡化辦公流程中的步驟和開銷,也提高了公文在業務流程中的安全性。手寫公文簽批和圖片展示如圖6所示。

圖6 手寫公文簽批頁面Fig.6 Handwritten document signed page
Android技術的發展使得移動設備可以實現更加復雜的應用。本文利用基于Android的Retrofit
網絡請求框架、SharePreferences數據存儲、Handler
消息機制等技術實現了一個移動辦公應用,并且通過借助移動設備的手寫輸入模塊,實現了手寫簽批等個性化功能,為辦公人員提供了一個高效的移動辦公解決方案。移動辦公應用的服務端采用基于
Java語言的Spring MVC框架進行開發,在功能上實現了很好的模塊劃分,同時使用請求-響應模型,極大的簡化了服務端系統的開發。
[1] 陳靜. 移動辦公與管理[M]. 北京: 對外經貿大學出版社, 2012: 5-30.
[2] iResearch. 中國網民Android智能手機用戶研究報告[R].北京: iResearch, 2012: 2-8.
[3] 達斯. 移動終端系統設計[M]. 北京: 人民郵電出版社, 2012: 50-70.
[4] 姚昱旻. 基于Android的移動學習終端平臺的開發與研究[D]. 湖南: 中南大學, 2008.
[5] 李蕓婕. 企業辦公自動化系統的發展[J]. 科學之友, 2007, 11(1): 126-127.
[6] 劉衛國, 姚昱禹. Android的架構與應用開發研究[J]. 計算機系統應用, 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] 宋慶泉. 移動辦公系統實現框架綜述[J]. 油氣田地面工程, 2010, 4(7): 56-58.
[10] 姚春暉, 謝海濤, 朱繼鳴, 肖景川. 移動辦公系統網絡建設及其安全問題探討[J]. 網絡安全技術與應用, 2010, 5(5): 82-83.
[11] 杜敏. 移動辦公服務系統的研究與開發[D]. 四川: 電子科技大學, 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-),男,碩士研究生,主要研究領域為Android應用開發;劉紹華(1976-),男,副教授,要研究領域為無線通信,嵌入式系統,物聯網,云計算,移動互聯網。
本文著錄格式:趙春宇,劉紹華. 基于Android系統的移動辦公應用設計與實現[J]. 軟件,2016,37(12):219-223