谢 玲,陆 坤,刘青青
(大连理工大学 软件学院,辽宁 大连 116600)
基于Android校园助手的设计与实现
谢 玲,陆 坤,刘青青
(大连理工大学 软件学院,辽宁 大连 116600)
随着移动通信技术的飞速发展,移动终端在社会生活各个方面扮演着越来越重要的角色,它不断渗透到人们的生活中,同时也改变和影响着人们的生活。高校的信息服务系统也正在逐步移动化,为了有效提升大学生获取学校相关教学信息的便捷性和及时性,提出了在手机上设计并实现一款基于Android平台校园助手应用。该校园助手可实现课程查询、成绩查询、教师通讯录、校园通知、一卡通服务、失物招领和寻物启事等功能。同时,可以实现随时随地;并让学生获取便捷高效的校园服务信息,从而大大地提高了校园信息服务的可操作性。
校园助手; 移动应用; 智慧校园; 安卓应用
近年来,随着智慧城市概念的不断成熟以及智慧城市建设的不断实施。建设智慧型校园,提升学校信息集成、教学管理服务和决策支持能力成为高校信息化的一个重要方向。同时,智能手机不断普及,渗透到我们生活的每一个角落。根据我国互联网信息中心(CNNIC)发布的第37次《中国互联网络发展状况统计报告》显示,截止至2015年12月,我国的网民规模已有6.88亿,其中手机网民数增至6.20亿人,网民个人上网设备进一步向手机端集中[1]。显然,移动互联网是目前互联网主要的表现形式,而智能手机则是移动互联网的主要终端。如今,Android以其优越的开放性,垄断了智能手机市场的绝大部分。凭借灵活方便,适应人群广等优势,基于Android的移动终端必然成为高校信息服务应用发展的首选平台。诸如课程格子,超级课程表等校园应用不断涌现,也恰恰证明校园信息服务平台正在往移动终端迅速发展[2-5]。
本文设计并实现了一个基于Android平台的校园助手,即在安卓系统上开发一款应用,提供便捷高效的校园信息服务。其功能包含:课程查询、成绩查询、教师通讯录、校园通知、一卡通服务以及失物招领等。该应用能够打破原有通过电脑终端获取信息服务的时间、空间等制约[6-7],让学生可以随时随地享受多样化的校园服务,同时也推动了学校信息管理水平更上一个台阶,推动数字化校园建设[8]。
1.1需求分析
校园助手应用以我校为背景,借鉴以往的开发经验以及个人校园生活体验,总结以下功能性需求。校园助手应用功能结构如图1所示。
图1 校园助手应用功能结构图
(1) 课程查询。通过设定学年和学期,查询某段时间内的课程信息。
(2) 成绩查询。通过该功能能够查询已考科目的成绩信息,还能够根据学年和学期的设定获取相应的成绩信息。
(3) 教师通讯录。通过该功能能够查询教师的联系电话、E-mail以及相关介绍等信息。
(4) 校园通知。通过该功能能够即时获取软件学院当前发布的本科生和研究生通知。
(5) 一卡通服务。通过该功能获取一卡通的信息,如个人信息、余额等;如果一卡通遗失,能够进行挂失操作;如果查询到遗失卡的招领信息,可以及时找回自己的一卡通;如果想了解某段时间的消费情况,可以查询其流水情况,包括消费时间、消费金额以及消费地点等详情。
(6) 失物招领和寻物启事。通过该功能失主可以发布遗失物品的信息来寻找失物;捡到东西的人可以发布失物招领来寻找失主。
1.2设计框架
校园助手应用的开发总体采用MVC框架(Model-View-Controller),MVC是程序开发设计中最常用的一种设计模式。凭借其优越的可拓展性、可移植性、可维护性、可重用性等性能,已然成为一种软件设计典范。在MVC框架中,显示功能模块、控制功能模块以及数据处理模块是各自分离的,任何一个模块的修改都不会影响其他模块的使用[9]。MVC的结构如图2所示。
图2 MVC结构图
1.3物理架构
校园助手应用通过无线网络实现对校园服务器进行访问,并获取其相关信息和服务[9]。其物理构架如图3所示。
图3 校园助手应用的物理架构
1.4模块设计
根据如前所述的功能性需求分析,校园助手应用设计了6个主要功能,分别是:课程查询、成绩查询、教师通讯录、校园通知、一卡通信息服务以及失物招领和寻物启事。按照功能的划分对Android开发平台的校园助手应用进行包规划,包规划的详细情况如表1所示。
2.1清单文件AndroidManifest.xml的配置
AndroidManifest.xml是每个Android项目所必需的清单文件,它是整个Android应用的全局描述文件。AndroidManifest.xml清单文件说明了校园助手应用的名称、所使用的图标以及定义应用程序使用的组件等,其中还包含了应用程序权限说明。由于校园助手需要连接无线网络,因此需要允许应用程序打开网络Socket的权限,如下:
表1 校园助手应用的包规划
android:name="android.permission.INTERNET" /> 2.2主界面的实现 Android应用中界面UI的设计既可以用Java进行编辑也可以通过XML文件实现,不过,Android推荐使用XML布局文件来定义用户界面,这样不仅简单明了,而且将应用的视图逻辑控制从Java代码中解放出来,更好地将MVC原则体现出来[10-12]。 为了体现应用主界面UI的简洁性,主界面对应的activity_main.xml文件主要选择实际布局最常用布局之一的相对布局(RelativeLayout),同时其视图选择按行列分布显示多个组件的网格视图(GridView)。主界面网格视图的定义如下: android:layout_centerInParent="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/grid_view" android:numColumns="3" android:verticalSpacing="20dp" android:stretchMode="columnWidth"> 如上的代码构建了主界面的主体框架,对于GridView中的每个item(即网格)的定义则在main_fun_grid_view_item.xml文件中,其象征每个功能的网格的图标和文本属性,构建了每个网格的内部框架,主要代码如下: android:id="@+id/image" android:layout_width="80dp" android:layout_height="80dp" /> android:layout_marginTop="5dp" android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 通过以上两个XML文件,则完成了用户主界面的整体框架的定义。然后通过适配器来实现系统的主界面,最终的主界面如图4所示。 图4 校园助手的用户主界面 2.3各模块功能的实现 校园助手的课程查询、成绩查询、教师通讯录、校园通知以及一卡通服务的信息都是来自于学校相关的门户网站、教务网站等。因此,这些功能的实现就是将相关网页进行整合并“Android化”。而这个过程则需要使用一款功能强大的HTML解析器——Jsoup[13]。 Jsoup的主要功能是通过一个URL地址或者本地文件来解析HTML文件,生成一个Document对象实例,再利用DOM或者CSS选择器对Document对象实例进行查找并获取所需的数据,此外,HTML文件解析提取后得到的任意HTML元素可以进行自定义操作。由于Jsoup拥有强大的解析提取能力,可以将任意网页进行“安卓化”,即实现网页的Android客户端。Jsoup这个工具在Android应用的性能方面也有很好的体现,如解析时间较短、占用内存较少等。课程查询、成绩查询、一卡通模块的功能均通过此种方法实现。图5、6分别是校园助手的登录界面和课程查询界面。 教师通讯录的实现则还要利用另一种方法,即使用JSON技术[14-15]。JSON是一种轻量级数据交换格式,格式简单,易于读写,占用存储小,还易于解析。根据相关信息将教师按系别和级别进行划分,并且附带教师信息网页的URL地址,而这些信息存储在contact.txt文件中。利用JSON解析该文件并与适配器进行适配,显示在教师目录页面上,并将教师名字与对应URL进行超链接。图7是教师目录界面。 校园通知的实现在Jsoup的基础上则还需要调用第三方库文件,这个库文件的作用是实现通知列表的下拉刷新和上拉加载。图8是校园通知的列表界面。 图5 校园助手的登录界面图6 校园助手的课程查询界面 图7 教师目录界面图8 通知列表界面 2.4系统测试 校园助手的测试是在mi 4手机(Android 6.0.1)上进行的。整个测试过程中,对各个功能的实现情况进行反复测试,测试过程中重点关注应用的流畅性及稳定性。从整体上看,校园助手应用在已经满足此前的需求设计,就应用的体验度来讲,操作较为便利,界面跳转的流畅度还有待提高。 基于安卓的校园助手应用是以在校大学生作为用户对象的,所以需要满足学生日常查询课程、成绩、教师信息、校园通知、一卡通信息等服务。而这些信息服务数据来源于校园门户服务网站,本助手能够将校园网门户网站信息页面进行综合,并实现“安卓化”。通过严格的系统测试,基于安卓的校园助手整体流畅、稳定,满足要求。后续将继续对系统进行全面完善和提升,并不断优化界面,提升界面跳转的流畅性。 该移动应用的投入使用,是对学校信息化平台的有力扩充,很好地提升了服务质量和用户体验。其良好的用户体验和便捷的操作,能够极大地简化诸多业务操作,同时,本助手还具有动态扩展、全面兼容等优势,随着系统的不断完善,必然使得学校的信息化更加高效、个性而友好,不断推进智慧校园的信息平台水平。 [1] 中国互联网络信息中心.第37次《中国互联网络发展状况统计报告》[J].中国信息安全,2016(1):35-73. [2] 熊志君.Android在高校学生信息服务系统中的应用研究[J].硅谷,2014(10):57-57. [3] 余成钢.基于Android平台的NFC技术的设计与实现[D].上海:复旦大学,2011. [4] 宋 凯,李 磊,袁 辰,等.基于Android的校园商用服务集成平台[J].微型机与应用,2015,34(18): 92-94. [5] 倪红军.基于Android平台的消息推送研究与实现[J].实验室研究与探索,2014,33(5): 96-100. [6] 胡 蓉.校园一卡通的建设与实践[J].实验室研究与探索,2012,31(7): 405-406. [7] 斯密斯著.Android开发范例代码大全[M].赵凯译.北京: 清华大学出版社,2014: 249-252. [8] 杜洪波,高 峰,郭 光,等.基于Android平台的数字校园信息系统设计[J].软件导刊,2016(1): 83-85. [9] 燕玲玲.基于Android的高校校园通的设计与实现[D].太原:山西大学,2013. [10] 董 涛.基于Android的移动校园客户端设计与实现[D].西安:西安电子科技大学,2014. [11] 郝建民.基于Android平台的校园信息管理系统设计与实现[D].大连:大连理工大学,2015. [12] 卢慧锋,赵文涛,孙志峰,等.社会化网络服务中OAuth2.0的应用研究与实现[J].计算机应用,2014(z1): 50-54. [13] 王云林.Android应用中跨版本集成新特性的研究与实现[D].上海:东华大学,2014. [14] 姜文周,王彦超,李先毅.基于Android的个性化校园地图服务设计[J].实验技术与管理,2012,29(3): 109-111. [15] 李宁宁,王远飞,张 冉.基于Android的校园应用软件开发与实现[J].电子设计工程,2014,22(20): 111-114. Design and Implementation of Mobile Campus Assistant Based on Android XIELing,LUKun,LIUQingqing (School of Software Technology,Dalian University of Technology,Dalian 116600,Liaoning,China) With the rapid development of mobile communication technology, mobile terminals have developed rapidly in all aspects of social life, it has penetrated into people’s lives,and also changed and influenced people’s life.For college students to obtain campus information conveniently and expeditiously,the topic is to design and implement a campus assistant application based on Android platform.The assistant application has achieved curriculum query,query results,teachers contacts,campus notice,e-card information,lost and found.Through the use of the campus assistant application,on the one hand,we can get rid of the limitations of other campus information platform in various aspects,and access to campus information anytime and anywhere; on the other hand,it also provides convenient and efficient campus information service, access to campus information more simply,thus greatly improves the operational performance of campus information services. campus assistant; mobile app; smart campus; Android app 2016-11-15 辽宁省教学改革研究项目(UPRP20140233);大连理工大学教育教学改革重大项目(ZZD2016001) 谢 玲(1982-),女,湖北黄冈人,硕士,工程师,从事计算机应用技术研究。Tel.:18524111611;E-mail:xieling@dlut.edu.cn TP 391; G 642.0 :A 1006-7167(2017)07-0144-043 结 语