基于Android系统的移动办公应用设计与实现

2016-02-13 05:58赵春宇刘绍华
软件 2016年12期
关键词:服务端办公客户端

赵春宇,刘绍华

(北京邮电大学电子工程学院 北京 100876)

基于Android系统的移动办公应用设计与实现

赵春宇,刘绍华

(北京邮电大学电子工程学院 北京 100876)

随着信息技术的快速发展,企事业单位、政府机构等也逐渐重视移动互联网带来的巨大变化,移动办公应运而生,它使得人们真正意义上实现自主办公,而不受时间、地点、事务的约束,从根本上解决了工作效率和成本问题。目前,国内的移动办公应用多基于SaaS服务,比较优秀的软件有阿里的钉钉,腾讯的腾讯通,teambition和Worktile等,同时,国外的移动办公市场也是十分火爆,在苹果App Store中搜索移动办公相关应用,已经有300多款上线的APP。本文设计并实现了一种基于Android系统的移动办公应用,在功能上除了包括基本的在线办公、文件阅览、通讯录等,还添加了手写签批功能,通过手写即可进行签名及批阅,以及集成的视频会议功能,可以全方位的满足各类用户的日常办公需求。

计算机;移动办公;Android开发

0 引言

近几年来,随着移动互联网技术的迅猛发展,各种智能移动设备和配套的应用软件层出不穷,其中不乏可以用来进行办公的软件,这也吸引着越来越多的人体验通过智能手机和平板电脑来进行办公,这种新的办公方式就是移动办公。移动办公是移动终端计算能力和无线网络传输能力的结合[1],从而形成了的新的办公自动化模式。使用“移动办公”应用,办公人员不必局限于在公司、有电脑才能处理公司事务。可以在任意地方(Anywhere)、任意时候(Anytime)通过手机处理任意事务(Anything)[2]。“移动办公”有效的突破了时间和空间的局限,促进问题沟通,保证服务质量,提升管理效率,从而推动效益增长。

随着企业规模的扩大,员工日常工作范围不再局限于唯一的办公间内,在多个办公场所间流动办公已成为现在主流的办公方式,这就难免会出现交流和分工上的问题。在这种情形之下,就需要有一种能够满足员工跨区域性办公的工具,使员工不受地域、时间和业务的约束,能够便捷、迅速的与他人进行沟通协作,解决工作问题。除了企业之外,这种办公方式在各地方政府单位中也慢慢多了起来,为了减少办公流程中纸质文件的产生,保证信息的安全性和降低开销,实现“无纸化”办公,政府单位也越来越重视移动互联网所带来的信息化办公的模式,并且逐步开始借助这种方法来提高整体的办公效率和质量。

总的来说,移动办公应用具有及时、高效、方便的特性[3],同时在功能和需求上仍有很大的探索空间和发展前景,对基于 Android 的移动办公系统的课题研究来说是十分有意义的。

1 移动办公应用的需求分析

根据移动办公应用在现实生活中的使用场景,从用户实际需求入手,整个动办公应用的功能大致分为四大模块:对外办公模块、个人办公模块、信息管理模块和系统功能模块,其中每一个模块中还细分了很多小功能模块,所以移动办公应用的整体功能需求还是比较复杂的。移动办公应用粗颗粒度的结构图如图1所示,首先来描述应用中全部功能,然后再对每一项功能做具体的业务分析。

1.1 对外办公业务分析

对外办公指的是不同用户之间有业务联系的办公模式,是任何移动办公都需要具备的基本功能[4]。结合本课题研究的移动办公应用的使用场景来分析,对外办公常发生于企事业单位中上下级间或者同级同事间的业务需求,主要形式体现为文件的送递、阅览、审批,以及多人共同参与的会议等。

针对文件处理的业务需求,移动办公应用秉持“无纸化”办公的目标,主要提供两部分功能:公文签批和文件速递。公文签批的功能包含对公文的拟稿、修改、审阅、查询、会签、签批记录展示和公文附带附件展示等,可以实现对流转中的公文进行流程跟踪和控制。文件速递完成的是对文件的分发、送审、传阅、查询和签批意见展示等功能,具体业务流程包含选择状态和选择具体文件。

针对多人会议需求,移动办公应用结合当今比较流行的在线视频技术,集成第三方的视频会议应用,设置了操作简便且功能强大的视频会议功能,满足用户在任何地点任何时间下都可以进行多人会议的迫切需求。

1.2 个人办公业务分析

移动办公应用除了适用与用户之间的办公业务需求,也需要满足个人办公的需求。从用户实际需求出发,个人办公主要体现在对一些重要信息的记录以及日程安排的提醒上。个人办公只针对用户个人需求,因此要强调操作的便捷方便,降低用户的学习成本。在文研究的移动办公应用中,主要以记事本功能来实现。

记事本功能通过调用移动设备自带的记事本应用来实现,其中包含记事簿、会议纪要、文稿和手绘等子功能,同样可以基于手写来实现内容的记录与保存,进一步实现了“无纸化”办公的目标。

1.3 信息管理业务分析

移动办公应用设置了集中的信息管理功能,主要体现为通讯录和公共信息展示。通讯录是移动设备用户最常用的功能,在通讯录里可以按照不同索引方式将联系人划分为若干群组,用户可以查询特定联系人的姓名、职位、部门和联系方式等个人信息[5],以满足工作的需求。同样,该通讯录也是企事业内部员工进行工作交流和信息共享的用户数据库。公共信息可以实现让企事业单位展示一些数据信息和动态要闻,以及发布针对全员的公告等,实现企事业内部的信息统一。主要通过PDF文件的形式来展示信息内容。

1.4 系统功能业务分析

移动办公应用中除了涉及与办公业务相关的需求外,还包括了与应用本身相关的一些系统业务,主要体现在用户账号绑定、系统升级和修改密码等方面。

账号绑定主要体现在用户登录时的个人身份验证,将用户账号与用户实际的个人标记进行绑定,保证了个人办公信息的安全性;在进入移动办公应用时,需对当前移动办公应用的版本进行分析,判断是否是最新版,并根据判断结果提示用户进行升级操作。

2 移动办公应用的设计方案

从软件开发的角度来看,任何应用的开发都需要一个详细的设计方案。针对移动办公应用,在设计时需要注意几点内容:第一,保证移动办公应用的可用性,在网络情况正常的情况下,要达到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

3 移动办公应用的实现

在完成需求分析和方案设计之后,本章主要在代码层面来分析移动办公应用在开发中的一些核心技术的实现过程。其中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()的方法来处理接收到的消息,从而实现针对系统升级包下载的多线程。

4 移动办公应用性能测试与实现效果

完成了移动办公系统的详细设计和具体的代码实现之后,我们需要通过完善的测试来对系统的整体运行状况、各功能模块的实现情况、实际使用中的用户体验等方面进行检查,尽可能多的发现存在的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

5 结论

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

猜你喜欢
服务端办公客户端
Sharecuse共享办公空间
X-workingspace办公空间
云存储中基于相似性的客户-服务端双端数据去重方法
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
U-CUBE共享办公空间
客户端空间数据缓存策略