基于Android的校园服务平台的设计与实现

2015-05-30 16:26刘萍
软件工程 2015年4期

刘萍

摘 要:随着移动互联网的飞速发展,以及Android系统的智能手机在大学生中的普及,为了丰富大学生活,设计并实现了基于Android的校园服务平台。按照软件开发流程,对该平台进行需求分析、功能模块设计、数据库设计,最终编码实现,给出了实现过程中的系统架构和关键技术,以及Android客户端和基于SSH框架的服务器端的运行效果。

关键词:Android;校园服务平台;SSH框架

中图分类号:TP391 文献标识码:A

Abstract:With the rapid development of mobile internet,popularization and the android system of smart phones in college students,in order to enrich university life,the design and implementation of campus service platform based on the android.According to the software development process,the demand analysis,the platform function module design,database design,code realization are given.Finally,the implementation process of the system architecture and the key technology and the android client and SSH server running effect are given.

Keywords:android;campus service platform;SSH framework

1 引言(Introduction)

随着智能手机在高校的普及以及3G/4G/无线网络的覆盖,学生更多地希望通过移动终端,充分利用碎片化的时间随时、随地获取信息[1]。目前基于Android平台的手机在大学生中的普及率达到80%以上,为了丰富大学生在校生活,使得学生随时随地获取信息,本文设计并实现了基于Android平台的校园服务平台,通过该平台的使用,可以促进在全校范围内广泛开展更多有意义的活动,并给学生的生活带来便利。

2 需求分析与功能模块设计(The demand analysis and function modules design)

为了使大学生可以利用碎片化的时间加强沟通交流,学生们在手机上安装校园服务平台的客户端就可以进行点餐、二手交易、论坛发帖、活动发布等。该平台分为两大块,第一大块是后台管理,这块的使用者是系统管理员,登录以后可以进行系统角色管理、帖子分类管理、活动分类管理、商品分类管理、用户管理、店铺管理、商品管理、帖子管理、交易管理、活动管理等操作。

第二大块是基于Android客户端的开发,该块是提供给用户进行操作的,用户在Android端可以进行点餐,二手物品的交易,论坛的发帖和回复,以及活动的发布,而商家则可以在Android端进行订单的处理,让用户及时了解自己所订餐的状态。

3 数据库设计(Database design)

根据系统的需求分析以及功能模块设计,我们完成了校园服务平台的数据库设计,共设计了以下14张表:活动信息表、活动分类信息表、管理员信息表、商品信息表、商品分类表、权限信息表、订购信息表、订单信息表、帖子信息表、帖子分类信息表、回复信息表、店铺信息表、交易信息表、用户信息表。

4 平台设计与实现(Design and implementation of platform)

本项目客户端基于Android平台开发,采用主流的Android SDK API-19(Android 4.3版本)进行开发[2]。

服务器端本着最高限度降低程序模块之间的耦合性,便于将来的维护,采用JavaEE企业级应用开发框架SSH(Struts+Spring+Hibernate)进行开发[3]。整个平台的系统架构如图1所示。

4.1 关键技术

实现校园服务平台的过程中,主要使用以下技术:

(1)Android端网络请求及数据绑定:Android 3.0之后,所有网络请求获取数据等一系列的耗时操作不允许在主线程中进行。我们要将所有的网络操作转移到子线程中进行,但在子线程中是不允许对主线程中创建的组件进行相关操作的。因此在处理网络请求时,创建线程,并在请求完成之后,通过消息队列的方式将数据传递给主线程,再由主线程将数据绑定到相应的控件上。

(2)远程获取数据对象:Android和Web服务器端交互使用Apache Tomcat服务器进行,借助Wifi,将Android手机的网络IP和服务器的IP设置在同一网段,通过HTTP协议,客户端通过发送网络请求进行数据的获取,服务器端则将客户端请求的数据以数据流的形式远程发送到手机App端。在服务器与客户端进行交互的过程中,如何实现将对象信息转换成数据流传递是一个非常关键的问题。当前对象的远程发送较为流行且高效的是根据对象的设计将对象信息序列化为JSON对象进行传输,为了在发送数据和接收数据时对相关数据进行转化,我们采用了Google官方提供的Gson工具包进行对象的序列化和反序列化。

(3)数据持久化:当前,B/S架构的软件无一不牵扯到数据存储的问题,即数据持久化。在系统的数据库设计中,数据表之间的外键关系出现频率相当高,这就给数据封装对象的设计带来了一定的难度。我们使用Hibernate框架中的ORM(对象关系映射)特性,将数据封装成的对象和数据表进行一一对应,并使用其特有的HQL(Hibernate Query Language)进行数据的查询和写入工作。

(4)业务逻辑处理及数据绑定:使用Struts2框架,通过对网络请求的拦截进行相应的业务处理。在Action中调用DAO(Data Access Object,数据访问对象)获取相应数据,经逻辑处理后,通过Struts的自动传值特性将处理后的数据放到相应的对象中,JSP页面使用JSTL标准标签库中的逻辑标签和EL表达式进行页面数据的绑定输出。

(5)服务器端系统的整合:同时使用Hibernate和Struts框架会产生大量的对象创建操作,如果对象的管理不当,很容易造成内存溢出现象,而且DAO层和业务逻辑层之间的耦合性较大,针对这一现象,使用Spring框架对整个服务器端的系统进行整合,利用Spring的IOC(Inversion of Control,控制反转)特性,将所有需用到的对象托管到Spring中进行管理,需要使用对象时,直接从对应的对象池中获取需要的对象进行使用。这样对于对象内存的使用进行了优化。而且Spring的AOP(Aspect Oriented Programming,面向切面编程)也为之后对系统的维护做了准备。

4.2 实现效果

本软件Android客户端包含四大模块:快捷点餐模块、二手交易模块、校园论坛模块、活动发布模块。Android客户端实现效果如图2所示。基于SSH框架开发的服务器端实现效果如图3所示。

5 结论(Conclusion)

本文对基于Android的校园服务平台,进行了需求分析和功能模块设计,并设计了该平台的数据库,在设计并实现该平台的过程中给出了系统的架构图,阐述了实现该平台过程中的若干关键技术,最终给出了校园服务平台的客户端和服务器端的运行效果,该系统通过在某职业技术学院试运行,效果良好,该平台唯一的不足是二手交易模块不能在线支付,只能线下交易,后期会进一步改进。

参考文献(References)

[1] 茅志刚.基于移动互联网的智慧校园服务平台的研究与实现[D].杭州:杭州电子科技大学硕士学位论文,2013.

[2] 董涛.基于Android的移动校园客户端设计与实现[D].西安:西安电子科技大学硕士学位论文,2014.

[3] 李宁宁,王远飞,张冉.基于Android的校园应用软件开发与实现[J].电子设计工程,2014,22(20):111-117.

作者简介:

刘 萍(1982-),女,硕士,讲师.研究领域:软件工程,系统集成.