基于Android的校园通APP的设计与实现
2020-07-28耿晨凯刘俊强范帅凯王子轩李旭旭徐长权李兴壮
耿晨凯 刘俊强 范帅凯 王子轩 李旭旭 徐长权 李兴壮
摘要:校园通APP项目是基于手机移动平台开发的、针对在校学生、老师的一款实用的APP。项目源自大学生的日常学习和生活,是一个综合服务于师生的APP。项目科学设计功能模块,包含专业成绩查询、课程表展示、饭卡充值、四六级和其他之类国家级考试的查询、学院空教室、实验室查询等功能。通过UI界面与后台数据的应用管理,实现了安全、高效、便捷的移动端校园服务。
Abstract: Campus APP project is a practical APP developed for students and teachers on the basis of mobile phone platform. The project originates from the daily study and life of college students and is an APP that comprehensively serves teachers and students. The scientific design function module of the project includes functions, such as, professional score query, course schedule display, meal card recharge, cet-4, cet-6 and other national examination inquiry, college empty classroom, laboratory query, and so on. Through the UI interface and background data application management, a safe, efficient and convenient mobile campus service is realized.
关键词:Android;移动应用;校园通;校园服务
Key words: Android;mobile applications;campus APP;campus services
中图分类号:TP311 文献标识码:A 文章编号:1006-4311(2020)20-0176-03
0 引言
校园通APP平台的设计得益于移动互联网的发展与普及,现在,在校学生已经人手一部手机,网络的便捷在手机应用上得到了充分的体现。大学生对于新事物、新技术的敏感与应用都走在社会普及的前列。于是,诸如点餐、快递、学习、查课、签到、跑步等诸多APP竞相登场,从而也带来了APP在校园里对用户的竞争。而面对如此之多从而显得散、乱的APP,使得大学生在使用过程中很难选择。能够为在校大学生量身定制一个实用的APP,不但能够融合一些常用的功能,还有针对在校学习特定的功能,从而实现放心、满意使用APP即成为本项目的初衷和目的。
1 校园通APP的定位与优势
1.1 APP (Application),即手机上的应用程序
校园通,是以手机为载体,面向大学生、老师为主要对象的、集学习、生活为一体的综合应用平台。APP在各自页面分别设置实现专业成绩查询、课程表展示、饭卡充值、四六级和其他之类国家级考试的查询、学院空教室、实验室查询以及图书馆借阅的查询(在V1.0版本中饭卡充值、图书馆借阅信息查询还待与网络中心、图书馆对接),各课程的讲义资料、上课视频的阅读浏览,学生向老师提问留言,老师答疑,捡拾到丢失物品的招领、地图指引等功能。
1.2 项目优势
在学习生活过程中,团队成员用过多款APP产品,在这些APP中,有很多功能的设计、开发是很周到的,技术实现也值得学习和借鉴,但在所用过的APP中有一个共同的特点:或商业气息过重或偏重于游戏娱乐,不适合校园的氛围。基于应用的环境、需求和资源的综合考虑,结合专业的特点,我们组建了校园通开发团队。在现有的校园通类型的APP的综合研判基础上,设计、开发自己的APP,并展现出自己的优势。
①开发团队稳定,成员全部为大二、大三学生,每年毕业生离开,但新成员同步补充到位,所以项目运行维护没有断点;②开发成员同时也为项目的使用者,对项目的功能了解到位,在项目的需求分析过程中没有障碍,所以项目的功能设定及实现完全贴近应用的需求;③项目内容完全基于校园学习和生活,安全、健康、便捷;④在学习之余做开发设计,既促进了学习,又提高了自己的应用开发能力,同时极大地降低了开发成本,并且开发团队稳定,运行、维护没有顾虑。
2 项目的功能模块设计
在团队探讨交流的基础上形成了需求说明书,将系统的功能分为以下模块:首页模块,学习模块,论坛模块,个人信息模块以及地图指引模块。
①首页模块中以图标形式展现各个功能模块,点击后进入各自的功能页面,在页面下方做出固定的饭卡消费页面链接,方便使用饭卡充值、查詢的功能。
②学习模块:专业成绩查询、课程表展示、四六级和其他之类国家级考试的查询、学院空教室、实验室查询以及图书馆借阅的查询,设置学习交流页面,实现上课内容的学习,包含老师所发的讲义、ppt、上课的录屏视频等,学生可以在自己的课程下提问留言,老师留言答疑。(在V1.0版本中饭卡充值、图书馆借阅信息查询还待与网络中心、图书馆对接)
③论坛模块包含关于学习、生活、工作等方面的信息交流,同时将论坛信息与个人捆绑实现收藏的功能。本模块功能参考网上一些知名的技术论坛做出功能设置、实现。
④个人信息模块以简洁明了的形式,显示自己的个人信息,支持在线编辑个人信息。
⑤考虑到大学生来自于全国各地,为了外出时的出行便利,设置地图模块。本接入高德地图的接口,可以实现精准定位,还可以查看附近各个知名道路、景点。
3 系统的实现
系统数据均由后台数据库集中获取、管理,含用户信息、各课程信息等等,数据管理、系统设置、第三方接入系统关联等操作数据信息。各模块所用的数据统一建模、集中管理。除需需要与校网络中心、图书馆对接的数据外,各个数据模型已经建立,典型的数据表如:用户登录信息表,用户一卡通账户信息表,学校通知信息表,学院空教室信息表,学院实验室安排表,论坛信息表,捡拾丢失物信息表、各级考试信息表、留言信息表等。
数据库是由以上多张相互关联的数据表组成,项目数据库用MySQL实现并完成数据库的设计。系统中包括如下:①确认数据库名称、字符集、排序规则等;②确定数据库内所有数据表的名称,一般情况下数据表的名称和实体类的名称相一致,要确认表内所含字段的名称、类型、长度、主键及是否为空;确定数据库文件是否需要建立索引、是否具有外键数据表。系统功能不做一一详述,仅以主页面、考试信息查询、课程表查询、地图页面做简要描述。
3.1 主页面的实现
用户进入APP后,即可看到首页面信息,主页面信息分为三部分,如图1所示。
■
①顶部轮播图部分:实现热点资讯的实时轮播,以图片的形式实现更加醒目的提示效果。②主信息显示区部分,专业开始查询以及空课表的展示都以图标形式镶嵌到主页面,方便用户使用。③底部通知部分则是与校内官网的通知信息相连接,点击相应的标题即可进入详情页面。
其中考试一栏采用webview的写法,可以查询到一些基本的国家级考试,方便同学们去查询。
3.2 考试页面
根据学校所发布的考试信息进行内容的添加、显示,以实现学生对考试信息的查询。运行界面如图2所示。
■
3.3 课程表查询模块设计
因为还没有与教务处实现数据的对接,目前课程表根据学校教务处所发布的课程表做二次编辑取得数据,添加到数据库后使用。运行截图如图3所示。
■
课程表查询功能中请求的关键代码如下所示:
/**
* 使用Volley框架真正去请求服务器
* Method.POST:请求方式为post
* builder.toString():请求的链接
* Listener
*/
StringRequest request = new StringRequest(Method.POST, builder.toString(),
new Listener
@Override
public void onResponse(String response) {
// TODO Auto-generated method stub
try {
if (response != null && callback != null) {
Gson gson = new Gson();
//回调请求成功,传入url和解析的对象
callback.onSuccess(url, gson.fromJson(response, clazz));
}
} catch (Exception e) {
// TODO: handle exception
if (callback != null) {
//回调请求失败--解析异常
callback.onFailure(url, e, 0, "解析异常");
return;
}
}
}
}, new ErrorListener() {
//请求出错的监听
@Override
public void onErrorResponse(VolleyError error) {
if (callback != null) {
if (error != null) {
callback.onFailure(url, error.getCause(), 0,
error.getMessage());
} else {
callback.onFailure(url, null, 0, "");
}
}
}
}) {
//post请求的参数信息
protected Map
return getPostApiParmes(parameter);
}
};
//添加请求到请求队列中
addRequest(request, url);
}
3.4 地图指引页面
接入高德地图官方接口,可以简单的实现定位功能,并展示附近的街道以及各大场所的名称,便于学生外出的交通指引。运行界面如图4所示。
■
4 项目实施总结
校园通APP项目已经完成并定义为V1.0版。后期的开发还要完善食堂点餐功能、捡拾丢失物品的招领等功能模块,并在已经设计的功能模块基础上,融入微信小程序,实现更多更方便的功能。功能模块中的一卡通功能还要与学校教务处、网络中心、图书馆、后勤集团联系,在获准后与相应的接口对接,实现数据共享,从而实现“一机在手,通行校园”的预期。
项目已经在我院学生中下载使用,并通过学生会学习部、青协进行推广。团队成员及时了解使用过程中的反馈信息,并一一记录,在团队的讨论中给出解决方案,在程序的运行过程中不断地添加功能、修整异常,目前程序运行稳定,使用的同学反映良好,项目开发过程形成的1.0版本取得了满意的效果。后期还要在每一块的功能上再继续细化功能的实现,同时做到程序的優化。
参考文献:
[1]罗帅,罗斌.Android炫酷应用300例·实战篇[M].北京:清华大学出版社,2019.
[2]刘玉红,蒲娟.Android移动开发案例课堂[M].北京:清华大学出版社,2019.
[3]安辉.Android App开发从入门到精通[M].清华大学出版社,2018.
[4]李刚.疯狂Android讲义[M].电子工业出版社,2017.