基于Android的“科师校园通”移动应用终端的设计与实现.doc_第1页
基于Android的“科师校园通”移动应用终端的设计与实现.doc_第2页
基于Android的“科师校园通”移动应用终端的设计与实现.doc_第3页
基于Android的“科师校园通”移动应用终端的设计与实现.doc_第4页
基于Android的“科师校园通”移动应用终端的设计与实现.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Android的“科师校园通”移动应用终端的设计与实现XXX(河北科技师范学院 工商管理学院,信息管理与信息系统专业1102班)指导教师:XXX摘 要:随着移动终端设备的不断地发展和普及,高校学生对移动设备的依赖逐渐增强。目前,高校学生查询教务信息一般通过登录学校的教务网站进行查询,过程较为繁琐,方式较为传统;而学生想要获得学校周边的生活类信息需要登录同城生活信息类网站或者借助第三方生活类应用,教务信息和校园生活类信息无法得到整合。本文介绍了国内外发展现状、应用的研究意义和优越性,以及应用开发涉及的相关技术,然后论述了应用的设计方案。设计主要实现了校园新闻、社团公告、查成绩、查课表、空教室、天气查询、周边购、百宝箱八大功能。关键词:移动应用;Android;校园通;XML1绪论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成绩查询UC空教室查询U课程表查询C购物浏览C天气查询U百宝箱UC图1 “科师校园通”软件U/C矩阵2.2 业务流程图根据软件功能设计,分析得出软件的业务流程,如图2所示,用户提交登录信息,登录成功后首先进入软件的首页,首页显示软件的八个功能模块,用户可以选择进入浏览或者选择退出。“校园新闻”和“社团公告”进入之后可以查阅相关信息列表,点击列表标题即可进入显示相关信息详情;“查成绩”、“查课表”和“天气查询”进入后可直接浏览相关信息;“空教室”可以通过输入查询楼号与楼层获得相应信息;“百宝箱”则是一个可扩展的功能模块,现仅开发“快递预约”功能。YN返回空教室号查询楼层N退出退出Y查看详情商品详情扩展模块内容详情校园新闻社团公告查成绩查课表空教室周边购天气查询百宝箱登录信息进入首页查看列表查看模块YYNNYN图2 业务流程图2.3 数据流程图数据流程分析主要是对系统信息的输入、传递、处理加工、流出、存储等分析,是对业务流程图的详细补充。“科师校园通”软件数据流程图的顶层图如下图3所示,它反映的是软件从学校网站抓取新闻、公告信息,学生通过浏览软件相关模块,获取所抓取信息;软件还从系统的数据库中获得学校周边的商品促销信息以及校园内快递点信息为学生提供促销信息推送和快递预约上门取件功能;软件通过百度天气API获取天气信息,提供给学生用户,方便出行。在绘制软件的数据流层图的顶层图时,应将软件看成一个整体,分析出“科师校园通”软件的外部实体及输入输出流,确定数据流的始点和终点。学生科师校园通 学校网站 新闻 公告 教务信息 校园新闻 社团公告系统数据库 成绩单 商品信息 课程表 快递商户信息 空教室信息 商品信息 快递点信息 天气信息百度天气 天气信息图3 数据流程顶层图在数据流程分析顶层图的基础上,对数据流程在进行详细的分析。由上面的顶层图,结合软件的功能,将顶层图细分,画出软件涉及的外部实体、处理过程、数据存储和数据流,从外部实体的输入流(源)出发,依照软件的逻辑需求,逐步画出整体的逻辑处理流程,直至找到外部实体处理所需要的输出流,最终形成数据流的封闭。在绘制软件的数据流程图一层图应遵循一层图的输入输出应与顶层图的输入输出相一致的原则。软件数据流程图的一层图如下图4。P1网页分析学校网站 新闻网页 公告信息 教务信息D1 校园新闻表D2 社团公告表D3 课程表D4 成绩表D5 空教室表P4查看阅览D7 商品信息表D8 快递点表P2数据加载系统数据库D6 天气信息表学生 校 社成 课 空 商 快 天P3XML解析园 团绩 程 教 品 递 气 新 公单 表 室 信 点 信 闻 告 信 息 信 息 息 息百度网站图4 数据流程图一层图3 系统设计系统设计部分主要描述了软件具体功能模块设计以及软件的数据库设计,分析软件所涉及的实体和实体间的联系得到数据库的概念设计、逻辑模型和数据表。3.1 软件功能模块设计根据上述分析建模得到的系统总功能模块,划分出“科师校园通”软件的子模块。软件主要分为三大功能模块,每个功能模块下又有各自细化的子功能模块,具体模块如下图5所示。查课表空教室校园新闻社团公告查成绩天气查询周边购百宝箱科师校园通校园资讯教务查询科师生活图5 “科师校园通”软件功能模块图3.3 系统数据库设计(1)数据库概念设计绘制科师校园通的E-R图,能够进一步简明的显示出软件中的数据之间的关系,实体关系图根据数据与数据结构的分析,设计出能够满足软件需求的各种实体及它们之间的关系,为后面的逻辑结构设计打下基础。E-R图如下图6所示。查看成绩单课程编号课程名学分成绩1商品信息信息编号信息标题发布时间商家名称N快递商家快递名称联系方式N课程表课程名上课周数所在星期教师1教室信息内容1用户名学生 密码登录密码昵称学号联系方式 图6 “科师校园通”软件E-R图(2)数据库逻辑设计逻辑结构设计是将抽象的概念结构转化为所选用的DBMS支持的数据模型,并对其进行优化。根据前面软件的E-R图可将数据库的逻辑结构设计如下:用户(学号,密码,用户名,登录密码,昵称,联系方式)成绩单(课程编号,课程名,学分,成绩)课程表(课程名,上课周数,上课星期,教师,教室)商品信息(信息编号,信息标题,信息内容,发布者)快递商家(快递名称,联系方式)(3)数据库文件设计逻辑结构设计是将抽象的概念结构转化为所选用的DBMS支持的数据模型,并对其进行优化。根据上述软件所涉及的实体和数据,得到关系模式中,各实体所定义的数据表如下。表1 用户表序号字段名称描述数据类型是否为空1stuId 学号char(10)No234passwordusername loginPassed密码用户名登录密码varchar(25)varchar(25)varchar(25)NoNoNo5userName昵称varchar(25)Yes6telephone联系方式varchar(25)Yes表2 成绩单序号字段名称描述数据类型是否为空1courseId 课程编号char(10)No2courseName课程名称 varchar(25)No3coursePoint学分char(10)No4score成绩decimalIntNo表3 课程表序号字段名称描述数据类型是否为空1courseName 课程名varchar(25)No2weeksNum上课周数char(10)Yes3week所在星期char(10)No45classroomteacher教室教师char(10)varchar(10)YesYes表4 商品信息表序号字段名称描述数据类型是否为空1infoId 信息编号char(10)No234infoTitleinfoContentinfoHolder信息标题信息内容发布者varchar (25)varchar (50)varchar(10)NoYesYes表5 快递商家表序号字段名称描述数据类型是否为空1expressName 课程编号char(10)No2expressPhone课程名称varchar(25)No4 系统实现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)模拟登陆教务处网站代码学校教务处网站地址为:,用HttpWatch工具即可抓取登录时提交的Cookie,然后将验证码图片回传显示给用户,再将用户的学号、登录密码和验证码POST到教务处网站即可,若返回码正确,则登录成功,否则则登录失败。public String login_JWC(String stuId, String passwd, String checckCode) HttpResponse httpResponse; String uriAPI_JWC = http:/ :7001/ACTIONLOGON.APPPROCESS; /* 建立HTTP Post连接 */ HttpPost httpRequest = new HttpPost(uriAPI_JWC); List params = new ArrayList();httpRequest.setHeader(Cookie, JSESSIONID= + COOKIE); / 发出HTTP request httpRequest.setEntity(new UrlEncodedFormEntity(params, GBK); / 取得HTTP response httpResponse = client.execute(httpRequest); / 执行模拟登陆 / 若返回的状态码为200 则登陆成功 if (httpResponse.getStatusLine().getStatusCode() = 200) / 登陆教务处返回值正常,登陆成功 else (2)查询天气代码首先获取用户输入的要查询的城市的名称,如用户没有输入,则默认显示学校所在地城市秦皇岛市的天气情况,否则按照用户输入,查询该城市实时天气情况。public String getWeatherInform(String cityName) /百度天气API String baiduUrl = /telematics/v3/weather?location=秦皇岛&output=json&ak=9AqeQIA5GeGW9XCFBBv0adzN;StringBuffer strBuf;try /要访问的地址URL,通过URLEncoder.encode()函数对于中文进行转码 baiduUrl = /telematics/v3/weather?location=+ URLEncoder.encode(cityName, utf-8)+ &output=json&ak=9AqeQIA5GeGW9XCFBBv0adzN; catch (UnsupportedEncodingException e1) e1.printStackTrace();(3)快递预约代码将界面上用户所填写信息整理成一条短信的内容,通过调用Android手机的短信功能发送到快递人员手机上。class ExpressThread extends Threadpublic void run() Looper.prepare();String msg=您好,号码为+u_phone+的同学请求预约+u_station+。请于+u_time+时,到+u_place+取货。物品描述为:+u_goods+科师校园通系统提示;PendingIntent sentIntent = PendingIntent.getBroadcast(ExpressInfoActivity.this, 0, new Intent(ks.sendBroadCastSuccess), 0);PendingIntent receiverIntent = PendingIntent.getBroadcast(ExpressInfoActivity.this, 0, new Intent(ks.acceptBroadCastSuccess), 0);SmsManager sms = SmsManager.getDefault(); ArrayList list = sms.divideMessage(msg); /因为一条短信有字数限制,因此要将长短信拆分 for(String text:list) sms.sendTextMessage(number, null, text, sentIntent,receiverIntent); Toast t = Toast.makeText(getBaseContext(),发送成功,请耐心等待,稍后快递点工作人员会联系您。, Toast.LENGTH_LONG);结论本文采用结构化的程序设计方法,以信息系统分析与设计的知识和Android开发技术为依托,使用功能强大的集成开发环境Eclipse为开发工具,借助于 Android内置的SQLite数据库,设计并实现了集校园教务信息及生活类信息查询为一体的“科师校园通”移动应用。软件主要实现了用户登录查看校园新闻、社团公告,查询成绩、课程表、空教室,浏览周边购、天气情况以及百宝箱等功能。同时,本文分析了校园内学生用户的学习及生活需求,设计出符合学生使用的校园通App,不仅能够为在校学生提供基础的教务信息查询服务、生活类衣食住行等方面信息,而且,通过“科师校园通”,能够进一步提高高校的移动信息化水平。由于个人的能力以及精力有限,软件尚存在一些不足之处和需要完善的地方,如软件的界面可以进一步美化、交互时用户的体验不够流畅、信息内容显示方面图片较少、百宝箱功能开发不够完善等。致谢:感谢XXX老师在百忙之中对我的论文进行指导。从开题报告,到最后的论文终稿,老师对论文的每一个环节严格把关,对于撰写论文过程中的每一个问题都给予耐心指导。在此也感谢大学四年中,每一位老师给予的帮助。 参考文献: 1 互联网APP移动应用国内外研究的现状及分析. /news/list_1075.htm.2 林永兴, 李晓蕾. 基于Android的校园助手手机应用程序的研究与设计J. 硅谷. 2012, 3(1): 60.3 杨鹏. 基于Android的校园位置服务系统研究与实现. 大连理工大学. 2013.4 刘欢, 卢蓓蓓, 马晨辉. 浅析高校校园移动应用开发J. 武汉大学学报(理学版), 2012, S1(58): 171-174.5 手机APP开发带来的优势!定制手机APP势在必行. /wangzhanjianshe/a653724180.html.The design and implementation of the mobile application terminal based on Android for “Mobile Application of Keshi”XXX (Class 1102, Information Management and Information System, College of Business Administration,Heibei Normal University of Science & Technology) Supervisor: XXXAbstract: With the constant d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论