基于Android平台的移动协同日程管理系统设计与实现

2017-12-02 00:29孙爽王岌
软件导刊 2017年11期
关键词:安卓

孙爽 王岌

摘要:针对传统日程管理系统中缺乏面向团队协同管理功能的问题,结合移动CSCW思想,设计并实现了基于Android平台的协同日程管理系统。阐述了移动CSCW应用于日程管理的必要性,分析了协同日程管理系统的功能需求,描述了相关开发技术,提出了系统概要设计,并重点说明了协同日程管理系统中日程查看与日程管理模块的实现流程。研究表明,系统应用效果良好,能满足一般群体协作对日程管理协同的应用需求。

关键词关键词:CSCW;日程管理;安卓;计算机支持协同工作系统

DOIDOI:10.11907/rjdk.171852

中图分类号:TP319

文献标识码:A文章编号文章编号:16727800(2017)011008403

0引言

随着网络技术发展与各种基于新技术的管理理念产生,团队协作在企业发展与决策过程中的作用日益重要。企业在处理重大项目和任务时,要求整合多个部门的信息达到资源共享,实现跨领域协调与合作,对系统协同性有很高要求。在此趋势下,传统日程管理系统虽然已能通過智能手机等移动电子设备,满足用户的日程安排与定时提醒等需求,但无法提供面向团队的协同管理功能,如何弥补系统在协同管理上的不足便成为当前急需解决的问题。本文分析了日程管理系统在使用过程中因协同功能缺失导致的一些问题,结合移动CSCW思想开发出移动协同日程管理系统,既保留了传统日程管理系统可移动化管理的优势,又实现了日程管理过程中异地协作与成员间的协作感知[1]。

1开发技术概述

1.1Afinal网络通信框架

协同日程管理系统中网络请求通信功能由Afinal开源框架实现,Afinal是一个开源Android orm与IOC应用开发框架,可以通过注释自动绑定UI与事件,快捷实现对sqlite数据库的增删改查等操作,同时也提供了http请求工具,提高了程序开发效率。主要组件结构如图1所示。

FinalHttp:实现以ajax方式请求http数据,完成文件上传、下载与断点续传等功能;FinalBitmap:在无需考虑bitmap加载过程中线程并发控制或内存溢出等问题的情况下,实现对bitmap图片的显示;FinalActivity:以注释方式绑定控件与事件;FinalDb:调用sqlite的orm框架,快捷完成增删改查操作。

1.2ListView控件概述

ListView控件由于其可实现递增加载特性[2],是Android应用开发中极其重要且使用频率最为频繁的控件之一。ListView控件继承自AdapterView类,可通过Adapter(适配器)向子类视图填充数据[3],ListView继承关系类如图2所示。ListView由View、适配器、数据3个元素组成,是单个View的集合,工作原理如图3所示。其每个列表子项都是一个独立的View,通常由一个xml文件指定,并显示一条数据集合。为了显示批量数据,ListView必须与Adapter绑定。

2系统分析与设计

2.1需求分析

协同日程管理系统在实现个人日程记录、安排、查看与定时提醒等功能的同时,还能满足团队人员对日程移动化、协同化管理的需求[4],例如在共享环境下为用户提供协作感知等。系统应提供以下基础功能[5]:

(1)日程查看功能。该模块将显示用户个人日程与协作日程,并且综合日程紧急程度与起止时间进行排序。

(2)日程管理功能。该模块包含日程新增、修改与删除功能。为满足系统协同性需要,在管理模块中将日程类型分为个人日程与协作日程,并通过设置相关优先级对个人工作进行调整与集成,以保证群体共同目标的完成。为防止出现协作日程管理混乱,仅对协作日程创建者赋予修改与删除权限。

(3)消息提醒功能。为了实现用户在共享工作环境中的协作感知(每个用户对共享信息的访问与操作都能被其他用户感知),引入消息提醒模块,当协作日程发生新增、修改、删除等状态改变时,系统以推送通知的形式告知日程协作者。

2.2概要设计

为了在移动终端环境下实现面向团队的日程协同管理,要求系统能兼容不同型号智能手机;为了解决不同层次用户设备性能差异较大的问题,要求手机客户端轻量化、弱联网且服务器数据查找高效[6]。综合需求、性能与运行环境要求,系统总体结构设计如图4所示。

协同日程管理系统具体功能模块设计如下:

(1)日程查看模块。主要实现日程显示、查看与流转操作,通过主菜单下方导航栏点击日程查看进入查看界面,显示日程主题创建时间、属性与详情简介,点击对应日程进入该日程详情界面。在日程查看界面通过向右滑动日程子项呼出日程编辑与删除的操作按钮,点击相应按钮进入日程的编辑界面。

(2)日程管理模块。主要实现日程新增、修改与删除等操作,在日程查看界面右划点击相应操作按钮进入日程编辑,对日程主题、结束时间、详细内容、计划等进行修改,点击右上角保存按钮完成编辑。协作日程仅日程创建人具备修改与删除权限。

(3)消息提醒模块。主要实现在日程与业务生成、流转、修改、销毁的过程中通知参与人员及定时提醒等功能。当日程状态或相关信息发生改变时,系统会对协作成员推送通知,可在系统通知栏查看该通知。

3系统实现

协同日程管理系统由日程查看、日程管理、消息提醒3个功能模块组成,其中消息提醒通过调用第三方服务加以实现,在此本文不作详细分析。日程管理主要以日程查看、编辑与新建功能为主。由于日程查看与日程新增界面功能较多,实现步骤复杂,故本文详细介绍日程查看与新建的实现,其它页面与功能可依此类推。

3.1日程查看模块实现

实现日程查看核心功能即日程列表的显示功能,主要使用ListView组件。通过继承BaseAdapter重写Schedule ListView。endprint

使用Adapter进行列表子项UI外观自定义与数据填充。由FinalHttp网络请求工具连接对应日程列表API,得到服务器返回日程信息,通过Translator类对服务器返回的数据进行XML解析,并保存为一个ArrayList,最后由Adatper将数据逐一映射至ListItem中,过程时序如图5所示。

由图5可知,ListView控件注册在SceduleListActivity类中完成,主要通过调用Adapter.adapte()方法实现。该适配器通过继承BaseAdapter改写其中的getView()方法,完成列表子项数据填充与UI自定义,其中数据由FinalHttp网络请求工具,通过连接对应的getData API接口得到。

3.2新建日程模块实现

为满足协作需求,新增日程功能分为新增个人日程与新增协作日程。程序中控件注册与调用集中在AddPlanActivity类中完成。系统主界面包含日程名称、日程起止时间、日程内容等基本属性的显示,以及对创建日程类型的控制(由slidSwitcher控件完成是否为协作日程属性的选择)。在协作日程新建过程中系统会连接一次获取协作人API向服务器请求协作人列表,当完成对应信息填写与选择后点击确定按钮,程序会将EditText中得到的数据组建成请求参数,通过FinalHttp网络请求工具连接新增个人日程或协作日程,API完成对日程的ID分配与创建。程序时序如图6所示,业务流程如图7所示。为实现协作人对日程信息的协作感知,协作日程创建成功或状态改变后,服务端会调用通知系统对应的API完成对协同日程创建、修改与删除相关动态的同步及通知推送。

4结语

移动协同日程管理系统在提供传统日程管理系統可

移动化、高效化处理及提醒功能的基础上,注重提高系统的协同性,满足企事业单位不断增长的协同工作需求。通过分析传统日程管理系统的缺陷,结合移动CSCW思想构建了完备的协同化日程管理平台,实现了简化团队管理流程、减少团队沟通时间、方便团队事务追踪与审查、提高团队协作效率的目标。系统应用效果良好,满足了一般群体协作对日程协同管理的应用需求,同时也促进了团队日程管理协同化工作的开展与企业协同能力的提高。

参考文献参考文献:

[1]宋海刚,陈学广.计算机支持的协同工作(CSCW)发展述评[J].计算机工程与应用,2004(1):711.

[2]丁振凡,吴小元.Android系统ListView控件数据递增显示研究[J].智能计算机与应用,2014(2):4953.

[3]孔令宏.Android中的ListView控件的优化方法[J].电子技术与软件工程,2013(21):270.

[4]冯晨华,徐捷,王鸿谷,等.CSCW系统中共享对象的协作支持模型[J],计算机研究与发展,1999(3):304308.

[5]顾冉.移动CSCW系统模型的研究与实现[D].北京:中国科学院,2004.

[6]武成伟,姜东民.移动协同办公研究综述[J].中国管理信息化,2009(24):8587.

责任编辑(责任编辑:何丽)

猜你喜欢
安卓
MIPS安卓平台上ARM二进制翻译系统
让iPhone变安卓,这是真的野
文物表情包
基于安卓手机用户行为的人口学信息预测
安卓系统或成智能汽车标配
一种基于安卓系统的手机侧抓包分析方法
学习安卓应用开发
功能不输iOS8!全新安卓Messenger发布
安卓L未至安卓M来了!安卓首泄漏M系统