基于Android的校园助手APP的实现
2020-08-30王旭卢江
王旭 卢江
1.中国电信集团系统集成有限责任公司广西分公司; 2.南宁比邻信息技术有限公司
一、前言
随着移动互联网飞速发展,人们从对台式电脑(personal computer, PC)的依赖逐渐转向移动终端。最新数据显示,人们使用移动设备(包括安卓智能手机、安卓平板电脑、iPhone、ipad)的比例已经达到63%,超越了传统PC。如何实现在移动终端上实现在线学习和资源共享已成为教学信息化研究领域的热点问题。根据本系统组的初步调查显示,高校相关教学资源系统,如教务管理系统、网上教学评价系统、图书馆管理系统以及一卡通管理系统等虽然日益受到师生们的青睐,但是,由于这些系统之间分布较为分散,使用时更多的依赖于传统PC,从而导致师生使用的积极性受挫,不到情非得已不用,这非常不利于高校教学资源的信息化建设。越来越多的师生表示迫切需要一个能够在移动终端上随时随地地、高效地使用这类教学资源的管理系统[1]。通过该系统可以随时随地、方便、高效地在移动终端上使用高校教学资源,如使用移动终端轻松实现成绩查询、课程表导入查询、新闻查看以及图书馆馆藏检索等。
设计与实现出一个基于Android的校园助手APP,该系统可运行于Android操作系统。通过这款基于Android的校园助手APP,用户可进行以下操作:课程表查询、成绩查询、图书馆馆藏图书查询以及资讯查看。借助该系统,可以增大同学们对教学资源利用的效率,减少不必要的操作,达到高效、随时随地地使用教学资源,并且促进师生之间互动交流与学习的目的。
二、实现
(一)Android开发环境的搭建
在着手开发Android APP之前,需在PC上搭建相关的开发环境。目前,Google推荐使用Java开发Android APP,所以需安装由Sun公司提供的JDK(即Java Development Kit, java开发工具包)、Google公司提供的Android SDK(即Android Software Development Kit, Android软件开发工具包)以及Google公司推出的Android Studio开发工具。
(二)运行环境的搭建
运行环境的搭建主要体现在后台服务器的运行上。本项目后台使用Java EE进行编写,所以后台服务器需要安装运行环境才能运行后台程序。服务器需要安装的程序有:Apache Tomcat、JDK。在安装Apache Tomcat过程中,需要指定服务器的访问端口,且该端口不能被系统或者其它服务占用。
(三)数据库的创建
开发过程中,为了提高开发效率,提高代码的可维护性,在对数据库进行操作的过程中,将对数据库进行的全部操作封装到SQLiteDataHelper类中。
(四)主要功能的实现
1.登录模块的实现
登录模块中,主要实现向大学教务处服务器程序发生请求,经过解析服务器返回的消息,进而可判断登录是否成功。
2.课表模块的实现
由于一周有七天的课程表需要展示,所以在实现的过程中,使用ViewPager装入7个Fragment,每个Fragment装入一天的课程表信息。
(a)添加课程模块的实现
添加课程,即向数据库课表缓存表table_timetale中插入一条课程表信息,实现过程如下:
通过id的值来判断添加课程是否成功,如果id>0,说明添加成功;反之,添加失败。
(b)查看课程模块的实现
通过每一个Fragment绑定同一个xml,实现每个星期课表展示视图的统一。Fragment绑定view的过程如下:
View v=LayoutInflater1.from(getActivity()).inflate(R.layout.activity_table, null);
在每一个Fragment实例化一个ListView列表项,用于展示课程。ListView通过BaseAdatper适配器实现ListView与数据的绑定,数据的来源为本地Sqlite数据库。实现的过程如下:
mcursor 保存了从课程缓存表table_timetale中查询到的数据的指针,通过循环遍历mcursor 可以得到课程信息,实现过程如下:
拿出数据填充至Array List之后,通过mAdapter.notifyDataSetChanged()通过ListView更新其中的数据。
(c)分享课程模块的实现
分享课程模块的业务流程是,用户通过屏幕截图然后向好友分享截图图片。实现过程如下:
3.成绩查询模块的实现
通过向大学教务服务器发送请求以实现成绩查询的功能。其中,使用阿里云服务器作为搭桥,这样实现的目的是为了提高请求效率,实现二级缓存,减少网络堵塞。
服务器中,实现课表查询的过程如下:
客户端APP中,实现成绩更新自动提醒功能的实现过程如下:当用户开启改功能时,系统将用户的学号以及clientId上传至服务器数据库中,服务器程序每隔1个小时进行查询一次成绩,如有更新则向用户发送通知。
4.广场资讯模块的实现
管理员通过网页端向服务器数据库中的sr_gc表中插入数据,并上传一张图片;客户端通过网络请求从该数据库中获取数据,解析之后展示给用户。
5.图书馆模块的实现
图书馆模块的业务流程是:用户输入关键字,系统向相应接口发送请求以获得建议搜索词,系统弹出列表辅助用户完成输入;用户开始搜索之后,系统向广西医科大学图书馆相应服务器程序发送请求,获得该关键字对应的搜索结果;用户点击某一个图书之后,系统通过ISBN向豆瓣API发送请求,获得该图书的详细介绍。
6.新闻模块的实现
该模块的实现过程是:客户端向大学新闻中心发送请求,然后将请求结果解析后向用户展示。
三、结语
本系统将Android开发与服务器开发技术结合,针对高校在线服务资源整合力度不足、在线服务用户体验较差的问题,开发了基于移动终端设备的校园助手APP[3]。在现有的教务管理系统的基础上,通过Android开发技术,将学生课程表信息与成绩信息推送至移动终端上,解决了现有的教务系统使用不方便,用户体验不够好的问题[4];通过Java Web开发技术,结合相关框架,实现在APP上实现图书馆馆藏检索的功能,解决了高校在线服务资源整合力度不足的问题。