基于Android的科师校园通移动应用终端的设计与实现.docx
- 文档编号:28101581
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:26
- 大小:826.75KB
基于Android的科师校园通移动应用终端的设计与实现.docx
《基于Android的科师校园通移动应用终端的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Android的科师校园通移动应用终端的设计与实现.docx(26页珍藏版)》请在冰豆网上搜索。
基于Android的科师校园通移动应用终端的设计与实现
基于Android的“科师校园通”移动应用终端的设计与实现
XXX
(河北科技师范学院工商管理学院,信息管理与信息系统专业1102班)
指导教师:
XXX
摘要:
随着移动终端设备的不断地发展和普及,高校学生对移动设备的依赖逐渐增强。
目前,高校学生查询教务信息一般通过登录学校的教务网站进行查询,过程较为繁琐,方式较为传统;而学生想要获得学校周边的生活类信息需要登录同城生活信息类网站或者借助第三方生活类应用,教务信息和校园生活类信息无法得到整合。
本文介绍了国内外发展现状、应用的研究意义和优越性,以及应用开发涉及的相关技术,然后论述了应用的设计方案。
设计主要实现了校园新闻、社团公告、查成绩、查课表、空教室、天气查询、周边购、百宝箱八大功能。
关键词:
移动应用;Android;校园通;XML
1绪论
1.1研究背景
随着智能手机和3G网络的广泛普及,全球移动互联网趋势正日益升温,世界上越来越多的人正通过移动终端接入互联网[1]。
目前校园的信息量非常庞大,校园信息浏览走向移动化已经成为一种必由的趋势[2]。
校园用户多为在校大学生及在职教师,接收信息追求高效便捷,因此使用移动终端来访问高校网络资源,获取便捷及时的校园资讯及服务信息成为目前高校信息化建设追求的新目标。
师生们已经不再满足于传统电脑客户端的信息查阅,在移动设备便捷的今天,人们开始注重信息的碎片化、便捷化,而且移动应用平台逐渐成为高校对外宣传、对内服务的新模式。
目前少数国内高校已经开始探索并推出了相关的校园应用,但在应用的功能模块设置与开发框架选择方面尚未有较成熟的模式。
在此基础上,国内的一些知名学府如清华、哈工大、复旦等众多高校在2011年下半年均陆续开发了适用于本校的校园移动应用,而国外的高校如哈佛大学、麻省理工学院等早在2010年初就已正式推出其官方应用[3]。
数量上,美国国内前四十的高校几乎都发布了官方移动应用,反观国内985院校移动应用发布还不到25%[4]。
在内容方面,国内各高校应用主要是校情介绍等静态内容而国外高校应用内容包含校园生活各个方面,如班车查询、地图导航、校园餐饮等在线生活服务信息[4]。
开发时,国内高校多采用外包或者学生自主开发的方式,水平不一,框架不一,技术难以共享。
而国外大学则通过一些开源项目共享技术框架,协同开发[4]。
1.2研究意义
高校校园移动应用的开发目前逐步成为一种流行趋势,成为高校提升学生校园生活便捷化的一种方式。
校园移动应用属于定制式的App,有针对性的为在校师生提供急需的、常用的校园信息。
相较于高校官方网站,校园移动应用有如下优点,并且基于这些优点可以得出“科师校园通”的研究意义。
(1)便捷性。
用户登录校园网站需要借助电脑或者手机上的浏览器,查找网站后进入。
操作起来较为繁琐,在如今信息时代快节奏的生活条件下,用户追求快捷、一目了然的用户体验,移动App能够实现一键获取信息,进入后即可快速获取目的信息。
因此开发该款软件能够方便在校生快捷获取所需信息;
(2)贴合度高。
完全根据高校现有的实际情况定制App的解决方案和系统,量身定做,提供相应合适的校园服务[5]。
在校学生能够在手机端查看校园信息;
(3)互动性强。
校园移动应用提供了比以往传统媒体介质更加绚丽多彩的表现形式。
并且移动设备的触屏还有良好的用户操作体验,文本、图片、视频等应有尽有。
该款软件可以提升学生在查询信息时相较于传统介质的用户体验;
(4)超强的用户粘性。
移动设备已经成为了现代人不可或缺的必备物品,而且他们会利用一切的空闲时间来浏览移动设备上的信息。
校园移动应用通过提供最新、最便捷的生活信息,实现App营销,提升用户忠诚度。
1.3系统优越性
“科师校园通”移动应用专注于河北科师校园信息的整合与发布,服务在校师生,提供便捷化的学习生活信息,快捷查询、方便生活。
相较于市场上其他的第三方软件具有以下优越性:
(1)实现移动应用终端对接学校教务处,实时获取教务信息,查询学生的成绩信息以及教学楼中空闲教室情况,为学生上自习提供方便;
(2)提供天气情况提醒,动态天气情况实时更新,方便学生出行;
(3)不仅提供相应的学习教务信息,还有生活类服务信息,如周边商家信息推送、快递预约等功能,并且提供一些可扩展模块,为后期版本提供扩展功能的可能。
2系统结构化分析建模
2.1软件模块分析
根据软件的功能需求,对软件进行详细的功能模块划分,划分出软件的子功能模块。
由于软件的大部分数据需要实时从网络中获得,少部分通用数据存储在移动设备上,因此所涉及数据类较少。
包括:
用户、成绩单、课程表、商品信息、快递商家。
根据前期的需求分析,软件要实现的功能包括登录系统、新闻浏览、公告查询、成绩查询、空教室查询、课表查询、购物浏览、天气查询以及后期可扩展功能百宝箱。
通过分析软件的上述需求功能以及所涉及的数据类,绘制出软件的U/C矩阵,从而分析出软件功能模块。
软件的U/C矩阵如图1所示。
数据类
过程
用户
成绩单
课程表
商品信息
快递商家
登录系统
C
新闻浏览
U
公告查询
U
成绩查询
U
C
空教室查询
U
课程表查询
C
购物浏览
C
天气查询
U
百宝箱
U
C
图1“科师校园通”软件U/C矩阵
2.2业务流程图
根据软件功能设计,分析得出软件的业务流程,如图2所示,用户提交登录信息,登录成功后首先进入软件的首页,首页显示软件的八个功能模块,用户可以选择进入浏览或者选择退出。
“校园新闻”和“社团公告”进入之后可以查阅相关信息列表,点击列表标题即可进入显示相关信息详情;“查成绩”、“查课表”和“天气查询”进入后可直接浏览相关信息;“空教室”可以通过输入查询楼号与楼层获得相应信息;“百宝箱”则是一个可扩展的功能模块,现仅开发“快递预约”功能。
N
图2业务流程图
2.3数据流程图
数据流程分析主要是对系统信息的输入、传递、处理加工、流出、存储等分析,是对业务流程图的详细补充。
“科师校园通”软件数据流程图的顶层图如下图3所示,它反映的是软件从学校网站抓取新闻、公告信息,学生通过浏览软件相关模块,获取所抓取信息;软件还从系统的数据库中获得学校周边的商品促销信息以及校园内快递点信息为学生提供促销信息推送和快递预约上门取件功能;软件通过XX天气API获取天气信息,提供给学生用户,方便出行。
在绘制软件的数据流层图的顶层图时,应将软件看成一个整体,分析出“科师校园通”软件的外部实体及输入输出流,确定数据流的始点和终点。
新闻
公告
教务信息
校园新闻
社团公告
成绩单
商品信息课程表
快递商户信息空教室信息
商品信息
快递点信息
天气信息
天气信息
图3数据流程顶层图
在数据流程分析顶层图的基础上,对数据流程在进行详细的分析。
由上面的顶层图,结合软件的功能,将顶层图细分,画出软件涉及的外部实体、处理过程、数据存储和数据流,从外部实体的输入流(源)出发,依照软件的逻辑需求,逐步画出整体的逻辑处理流程,直至找到外部实体处理所需要的输出流,最终形成数据流的封闭。
在绘制软件的数据流程图一层图应遵循一层图的输入输出应与顶层图的输入输出相一致的原则。
软件数据流程图的一层图如下图4。
新闻网页
公告信息
教务信息
校社成课空商快天
园团绩程教品递气
新公单表室信点信
闻告信息信息
息息
图4数据流程图一层图
3系统设计
系统设计部分主要描述了软件具体功能模块设计以及软件的数据库设计,分析软件所涉及的实体和实体间的联系得到数据库的概念设计、逻辑模型和数据表。
3.1软件功能模块设计
根据上述分析建模得到的系统总功能模块,划分出“科师校园通”软件的子模块。
软件主要分为三大功能模块,每个功能模块下又有各自细化的子功能模块,具体模块如下图5所示。
图5“科师校园通”软件功能模块图
3.3系统数据库设计
(1)数据库概念设计
绘制科师校园通的E-R图,能够进一步简明的显示出软件中的数据之间的关系,实体关系图根据数据与数据结构的分析,设计出能够满足软件需求的各种实体及它们之间的关系,为后面的逻辑结构设计打下基础。
E-R图如下图6所示。
图6“科师校园通”软件E-R图
(2)数据库逻辑设计
逻辑结构设计是将抽象的概念结构转化为所选用的DBMS支持的数据模型,并对其进行优化。
根据前面软件的E-R图可将数据库的逻辑结构设计如下:
用户(学号,密码,用户名,登录密码,昵称,联系方式)
成绩单(课程编号,课程名,学分,成绩)
课程表(课程名,上课周数,上课星期,教师,教室)
商品信息(信息编号,信息标题,信息内容,发布者)
快递商家(快递名称,联系方式)
(3)数据库文件设计
逻辑结构设计是将抽象的概念结构转化为所选用的DBMS支持的数据模型,并对其进行优化。
根据上述软件所涉及的实体和数据,得到关系模式中,各实体所定义的数据表如下。
表1用户表
序号
字段名称
描述
数据类型
是否为空
1
stuId
学号
char(10)
No
2
3
4
password
username
loginPassed
密码
用户名
登录密码
varchar(25)
varchar(25)
varchar(25)
No
No
No
5
userName
昵称
varchar(25)
Yes
6
telephone
联系方式
varchar(25)
Yes
表2成绩单
序号
字段名称
描述
数据类型
是否为空
1
courseId
课程编号
char(10)
No
2
courseName
课程名称
varchar(25)
No
3
coursePoint
学分
char(10)
No
4
score
成绩
decimalInt
No
表3课程表
序号
字段名称
描述
数据类型
是否为空
1
courseName
课程名
varchar(25)
No
2
weeksNum
上课周数
char(10)
Yes
3
week
所在星期
char(10)
No
4
5
classroom
teacher
教室
教师
char(10)
varchar(10)
Yes
Yes
表4商品信息表
序号
字段名称
描述
数据类型
是否为空
1
infoId
信息编号
char(10)
No
2
3
4
infoTitle
infoContent
infoHolder
信息标题
信息内容
发布者
varchar(25)
varchar(50)
varchar(10)
No
Yes
Yes
表5快递商家表
序号
字段名称
描述
数据类型
是否为空
1
expressName
课程编号
char(10)
No
2
expressPhone
课程名称
varchar(25)
No
4系统实现
4.1主页面设计
“科师校园通”软件的主界面如图7,用户成功登录以后,进入首页,主界面设计理念依据简洁大方、方便易懂的原则。
软件的主要功能清晰明了,符合用户的操作习惯。
主界面中软件的八大功能以图形按钮的方式展示,右上角是用户信息,点击进去可以设置个人信息,左上角是“我的科师”,后期版本用来展示自己的收藏。
最底端显示当前网络时间以及开发者信息。
本界面最外层采用ScrollView,使当界面内容超出设备屏幕大小时可以下拉显示完整内容;里层嵌套使用LinearLayout和TableLayout,显示界面的按钮及文本框控件和功能模块的图片按钮,当单击主界面上面的八个功能模块图片时,activity会通过监听单击图片这一事件,响应用户的操作,跳转到相应的功能界面。
图7软件主界面图
4.2校园资讯功能模块设计
校园资讯模块是包括了主界面的“校园新闻”及“社团公告”两个部分。
“校园新闻”模块,打开以后,界面实现实时从学校网站抓取到的新闻标题列表如图8,点击列表内某一新闻标题,即进入新闻详情界面,显示该条新闻的详细内容。
“社团公告”模块,进入以后,界面显示实时从系统数据库中读取的校园社团发布的活动列表如图9,点击列表内某一活动标题,即进入活动详情界面,显示此活动的内容详情。
这两个功能模块的主界面外层采用LinearLayout布局,进入模块后顶部的标题栏统一由style文件里面的布局设置,每一功能界面均采用统一的样式。
主要部分的新闻或者公告的标题列表采用ListView控件,编写相关的Adapter来实现列表显示,使用ListView控件的好处在于当内容超出屏幕大小时,它自带滚动条的功能,能够展示完整信息。
点击ListView中某一项信息查看详情进入的信息详情页面布局采用的也是LinearLayout,详情内容用TextView直接显示。
图8“校园新闻”界面图9“校园新闻”新闻详情界面
4.3教务查询功能模块设计
教务查询模块包括主界面的“查成绩”“查课表”“空教室”三个功能。
这三个功能都是从学校教务处网站提交学生教务处登录信息,抓取相关教务信息。
打开“查成绩”,界面显示该学生用户的全部成绩,按照时间先后顺序排列,如图10。
打开“查课表”,界面显示该学生的本学期课表,如图11、图12。
打开“空教室”,界面最上面显示教学楼名以及查询课节如图13,点击所要查询楼名,选择所要查询课节以后,界面显示该楼此课节可用的空教室楼层如图14,按楼层由小到大排列,点击进入楼层以后,显示该楼层可用空教室号如图15。
“查成绩”界面主要部分采用ListView布局,加上相关的Adapter处理以列表的形式显示所有成绩。
“查课表”界面显示采用TableLayout布局,计算每一课程所在行列,计算当前周数,表内课程是否处于授课周中,若是,则高亮显示该门课程,否则该课程显示则无特殊处理。
“空教室”界面显示同“查成绩”,也采用ListView以列表形式显示。
图10“查成绩”界面图11“查课表”选择课节界面
图12“查课表”界面图13“空教室”选择课节界面
图14“空教室”界面图15“空教室”详情界面
4.4科师生活功能模块设计
科师生活模块包括主界面的“天气查询”“周边购”“百宝箱”三个功能。
打开“天气查询”,界面默认显示学校所在城市天气信息,输入城市名,单击“查询”按钮则可查询相应城市天气信息,如图16。
打开“周边购”,界面显示近期学校周边商家发布的打折信息,进入可查看信息详情,如图17。
打开“百宝箱”,界面显示“快递预约”和“敬请期待”按钮,如图18,单击“快递预约”,进入预约快递界面如图19,输入相应预约信息即可预约。
“敬请期待”为后期版本提供可扩展功能。
“天气查询”界面采用多层LinearLayout嵌套布局,加上TextView文本视图显示天气信息。
“周边购”界面主要功能部分则采用ListView以列表形式展示购物信息,信息详情页面则采用LinearLayout布局内嵌套TextView控件显示信息内容。
“百宝箱”界面采用TableLayout布局展示代表子功能模块的ImageButton,其中“快递预约”子模块里面采用ScrollView内嵌套TextView、Button、Spinner、TimePicker等控件布局整体界面。
图16“天气查询”界面图17“周边购”界面
图18“百宝箱”界面图19“快递预约”界面
4.5代码实现
(1)模拟登陆教务处网站代码
学校教务处网站地址为:
http:
//121.22.25.5,用HttpWatch工具即可抓取登录时提交的Cookie,然后将验证码图片回传显示给用户,再将用户的学号、登录密码和验证码POST到教务处网站即可,若返回码正确,则登录成功,否则则登录失败。
publicStringlogin_JWC(StringstuId,Stringpasswd,StringchecckCode){
HttpResponsehttpResponse;
StringuriAPI_JWC="http:
//121.22.25.5:
7001/ACTIONLOGON.APPPROCESS";
/*建立HTTPPost连接*/
HttpPosthttpRequest=newHttpPost(uriAPI_JWC);
List
httpRequest.setHeader("Cookie","JSESSIONID="+COOKIE);
//发出HTTPrequest
httpRequest.setEntity(newUrlEncodedFormEntity(params,"GBK"));
//取得HTTPresponse
httpResponse=client.execute(httpRequest);//执行模拟登陆
//若返回的状态码为200则登陆成功
if(httpResponse.getStatusLine().getStatusCode()==200){//登陆教务处返回值正常,登陆成功
}else{
}
(2)查询天气代码
首先获取用户输入的要查询的城市的名称,如用户没有输入,则默认显示学校所在地城市秦皇岛市的天气情况,否则按照用户输入,查询该城市实时天气情况。
publicStringgetWeatherInform(StringcityName){
//XX天气API
StringbaiduUrl="
StringBufferstrBuf;
try{
//要访问的地址URL,通过URLEncoder.encode()函数对于中文进行转码
baiduUrl="
+URLEncoder.encode(cityName,"utf-8")
+"&output=json&ak=9AqeQIA5GeGW9XCFBBv0adzN";
}catch(UnsupportedEncodingExceptione1){
e1.printStackTrace();
}
(3)快递预约代码
将界面上用户所填写信息整理成一条短信的内容,通过调用Android手机的短信功能发送到快递人员手机上。
classExpressThreadextendsThread{
publicvoidrun(){
Looper.prepare();
Stringmsg="您好,号码为"+u_phone+"的同学请求预约"+u_station+"。
请于"+u_time+"时,到"+u_place+"取货。
物品描述为:
"+u_goods+"[科师校园通系统提示]";
PendingIntentsentIntent=PendingIntent.getBroadcast(ExpressInfoActivity.this,0,newIntent("ks.sendBroadCastSuccess"),0);
PendingIntentreceiverIntent=PendingIntent.getBroadcast(ExpressInfoActivity.this,0,newIntent("ks.acceptBroadCastSuccess"),0);
SmsManagersms=SmsManager.getDefault();
ArrayList
for(Stringtext:
list){
sms.sendTextMessage(number,null,text,sentIntent,receiverIntent);
}
Toastt=Toast.makeText(getBaseContext(),
"发送成功,请耐心等待,稍后快递点工作人员会联系您。
",Toast.LENGTH_LONG);}
结论
本文采用结构化的程序设计方法,以信息系统分析与设计的知识和Android开发技术为依托,使用功能强大的集成开发环境Eclipse为开发工具,借助于Android内置的SQLite数据库,设计并实现了集校园教务信息及生活类信息查询为一体的“科师校园通”移动应用。
软件主要实现了用户登录查看校园新闻、社团公告,查询成绩、课程表、空教室,浏览周边购、天气情况以及百宝箱等功能。
同时,本文分析了校园内学生用户的学习及生活需求,设计出符合学生使用的校园通App,不仅能够为在校学生提供基础的教务信息查询服务、生活类衣食住行等方面信息,而且,通过“科师校园通”,能够进一步提高高校的移动信息化水平。
由于个人的能力以及精力有限,软件尚存在一些不足之处和需要完善的地方,如软件的界面可以进一步美化、交互时用户的体验不够流畅、信息内容显示方面图片较少、百宝箱功能开发不够完善等。
致谢:
感谢XXX老师在百忙之中对我的论文进行指导。
从开题报告,到最后的论文终稿,老师对论文的每一个环节严格把关,对于撰写论文过程中的每一个问题都给予耐心指导。
在此也感谢大学四年中,每一位老师给予的帮助。
参考文献:
[1]互联网APP移动应用国内外研究的现状及分析.
[2]林永兴,李晓蕾.基于Android的校园助手手机应用程序的研究与设计[J].硅谷.2012,3
(1):
60.
[3]杨鹏.基于Android的校园位置服务系统研究与实现.大连理工大学.2013.
[4]刘欢,卢蓓蓓,马晨辉.浅析高校校园移动应用开发[J].武汉大学学报(理学版),2012,S1(58):
171-174.
[5]手机APP开发带来的优势!
定制手机APP势在必行.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 校园 移动 应用 终端 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)