毕业设计(论文)-基于智能手机通用教学互动系统设计实现.doc_第1页
毕业设计(论文)-基于智能手机通用教学互动系统设计实现.doc_第2页
毕业设计(论文)-基于智能手机通用教学互动系统设计实现.doc_第3页
毕业设计(论文)-基于智能手机通用教学互动系统设计实现.doc_第4页
毕业设计(论文)-基于智能手机通用教学互动系统设计实现.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计说明书作者: 学 号:学院:计算机科学与工程学院专业(方向):软件工程题 目:基于智能手机的通用教学互动系统 的设计实现指导者: 副教授 (姓 名) (专业技术职务) (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务) 2015 年 5 月声 明我声明,本毕业设计说明书及其研究工作和所取得的成果是本人在导师的指导下独立完成的。研究过程中利用的所有资料均已在参考文献中列出,其他人员或机构对本毕业设计工作做出的贡献也已在致谢部分说明。本毕业设计说明书不涉及任何秘密,南京理工大学有权保存其电子和纸质文档,可以借阅或网上公布其部分或全部内容,可以向有关部门或机构送交并授权保存、借阅或网上公布其部分或全部内容。学生签名: 年 月 日 指导教师签名:年 月 日随着互联网的发展,尤其是移动互联网的普及,现今社会的学习方式已经变得多元化和智能化,学习的内容也已经变得丰富多彩,所以对于学习的参与对象老师和学生已不能满足于传统的课堂教学。传统的课堂教学内容局限性大、教学方式单调。开发简单方便的移动教学,有利于弥补课堂上的缺陷,使得学习变得灵活与风趣。本次毕业设计开发的是基于Android系统的智能手机的教学互动系统,命名为易学通。本系统的角色有两个:老师和学生,主要有4个功能:个人信息、课程表、作业(文件)和交流平台。所有的用户都可以在个人信息中查询到在学校教务处的个人信息;在课程表中看到由教务处下载的个人课程表;在作业模块中,老师可以发布学生的作业和下载学生上传的作业答案,学生下载老师布置的作业和上传自己的作业答案;在交流平台中所有用户都可以发表说说信息,也可以对说说信息进行评论。关键词 智能手机 Android 教学互动 C/S结构 毕业设计说明书中文摘要 毕业设计说明书外文摘要Title: Design and implementation of general teaching interactive system based on the intelligent mobile phone AbstractWith the development of the Internet,especially the popularity of mobile Internet, nowadays the learning style has become diversified and intellectualized .The content of the learning have become rich and colorful as well.Therefore,the participation for learning objects,teachers and students can not meet with the traditional classroom teaching.The traditional classroom teaching content limitation,unitary teaching methods.It is beneficial to make up the defect of the classroom and make learning become flexible and fun with the development of mobile teaching.This graduation project is the interactive teaching system based on Android smartphones,named YiXueTong.This system has two roles:teachers and students.There are four main functions: personal information,syllabus,homework (files) and communication platform.All the users can query the personal information of academic administration in the personal information,browse the curriculum.In the module of the operation,the teachers can assign the students homework and download the answer of the students.By the same token,students can download the homework assignments and upload their answer; All the users in the communication platform can publish the state and comment about information. Keywords Intelligent mobile phone Android Teaching interaction C/Sstructure本科毕业设计说明书 第 29页 目 次1 引言11.1 背景11.2 现今教育的状况11.3 智能手机教学教育的影响21.4 移动教学的研究现状31.4.1 国外发展现状31.4.2 国内发展现状31.5 本文的主要内容编排42主要的应用技术和工具52.1 Android52.2 主要开发技术62.2.1 文件操作java.io62.2.2 HttpClient访问网络62.2.3 Spring框架72.2.4 JSON82.2.5 客户端/服务器模式(C/S)92.3 主要开发工具93 易学通总体设计113.1 需求分析113.2 设计思想123.3 系统功能设计134 易学通的功能实现154.1 客户端154.2 服务器端185 系统使用体验235.1 系统使用235.2 系统测评结果25结 论26致 谢28参 考 文 献291 引言随着科技的不断发展,尤其是移动互联网的普及,智能手机的应用已经深入社会,为学校的教学带来巨大的帮助。传统的课堂教学模式的局限和单一,已经无法满足现今社会的要求,开发设计移动教学终端已经成为科技发展的主流。1.1 背景最近几年,移动技术的开发与应用已经成为信息产业的主流,随着GMS、GPRS、CDMA2001x、IEEE802.1lx等无线协议产品越来越多成功的商用运营,各种各样的移动设备诞生了,我们的生活也变得形态多样,传统的教育方式也受到了很大的冲击。因此,社会开始了移动学习(Mlearning)的研究。移动学习是学习者在地理空间流动性和弹性时间下使用移动设备进行学习的一种学习方式1。移动学习是结合了数字化学习(Mlearning)与移动应用技术而发展成的一种新型的学习方式,它可以让学习者随时随地的去学习,消除了传统教学方式的乏味和单调。欧美和北美等发达地区是最早开始移动教育研究的,对于移动教育国际上没有具体的定义。随着时代的发展,社会对人才的要求更加严格,教育体制也必须要随之进步和发展,研制新型的教育体系是十分必要的,移动教育也就应运而生了。本次课题就智能手机通用教学互动系统的设计实现展开研究。 1.2 现今教育的状况传统教育是主要通过教师对学生实时的连续的面授向学生传授知识的教育形式2。最基本的知识传达方式是靠教师的讲述,主要以黑板、粉笔、幻灯片等工具来进行教育。传统教育是以教师为中心、以课堂为中心、以教材为中心的教学模式,学生处于被动接受的地位3。传统课程教学方式只注重传授系统的科学知识,呈现在学生面前的是一套完整的知识结构与体系。传统课程教学的方式是“传递接受”,教师是课堂的中心,引领着学生。为了方便教师安排和管理有效的教学过程,实施班级授课制。仅仅注重学生的文化学习,对师生之间的情感没有太多的要求。而合作、和谐和互动的师生情感关系,可以促进培养学生的语言表达能力、优良品质和为人处世的原则等。现在,教育界的主要问题就指向了传统教学方式-课程制教学。传统课程教学明显已经落时,无法满足现代社会对教育的要求。在培养目标上,传统教学以传授知识为主要任务,忽视学生综合素质能力的发展。教育学生模式单一,无法培养创新型能力和思维。在教学内容上,教材上的知识是唯一的学习来源,而且还要依靠教师来引导。在教学方法上,依靠教师的注入式教学,只研究教师的教学方式,忽视学生独立学习的能力。考试内容主要靠死记硬背,学生主动学习的意识差,缺乏积极性。在教学形式上,单一化、模式化的课堂教育传授的知识过于狭窄,且针对性不强,没有因为学生的不同而因材施教,也无法让学生更多的了解和关注课堂之外的世界。教师的作用被无限放大,由教师来施教,学生只需被动听取、接受和理解教师传授的知识。传统教育是保守的、封闭的。现今社会需要的是创新型人才,而传统教育对这种人才的培养没有一个很好的方式,甚至于有一定的遏制效果。因此,传统教育已不能满足学生的发展需要,培养出来的学生也无法适应现今时代的发展。 1.3 智能手机教学教育的影响智能手机教学系统的诞生,弥补了传统的面对面教学的局限和不足。随着移动互联网科技的发展,移动教育成为了现今社会教育一个新的研究方向,是网络教育的一个新的发展。移动学习基于数字化学习,继承和发展其优势,一定程度地减弱了其缺陷,提高了学习的灵活性。如何有效地将互联网技术与丰富的移动设备结合以推动教育的现代化发展这一课题已经成为移动教育研究的中心方向。尤其是智能手机的普及率已经非常之高,使用方便快捷,所以智能手机教学的前景很大。智能手机的移动教学使得学习的地点不被局限于教室,也不约束于老师与学生之间。学生可以以随时随地、随心所欲的方式进行学习,老师与学生之间的教学交流也不限于教室里40分钟的面对面教育。智能手机教学的优点:(1) 教育支持。学生和老师可以用自己随身所带的智能手机当做支持性的教育工具来使用(2) 交互。智能手机教学可以让害羞的学生更加的开放性学习,老师也可以通过移动设备来更加方便的实现全面和重点教学。(3) 管理。智能手机教学可以让老师不用一次性的面对那么多学生,有助于老师对教学和学生的管理。(4) 灵活。智能手机教学可以让学习地点不限制于狭窄的教室,学习的内容也有原来的教材被夸张的扩大到了整个人类所认知的世界,学习的时间也由原来课堂的45分钟变成了现在的随时随刻。 1.4 移动教学的研究现状1.4.1 国外发展现状 2000年,第一次开始移动学习项目的研究发生在美国加州大学伯克利分校的人机交互研究实验室,由此,国际开始了移动学习的研究。随后,欧美各国也开始加入研究的行列。较为著名的研究有:(1)英国Kingston大学的“ 短信息服务系统”该系统的主要研究目的是教学实践中应用移动终端的短信息服务。考试成绩和学校的通知公告等都是通过短信的方式传达给学生。这种方式在实践中超乎意料的应用效果,吸引了国际上多数人的眼球。(2)欧洲、以色列和瑞士等国家地区的“MOBLLEARN项目”MOBLLEARN项目主要研究的是如何人性化设计和使用移动设备:移动流媒体的传输、内容监控工具、参与对象如何在移动环境中进行很好的交流合作和学习等。1.4.2 国内发展现状(1)北京大学的“基于短信的移动教育系统” 北京大学于2001年12月在短信及串口通信的基础上研发了一套基于短信的移动教育系统。该系统以短信的方式实现师生之间的及时交流、资源的分享和信息的传递等,移动学习的效果得到了一定程度的实现。(2)诺基亚公司的“行学一族”诺基亚公司作为曾今移动通信领域的霸主,不仅是一家手机制造厂商,同时对应用软件也有一定的研究。2007年5月,在中国区推出了一款专门运行在智能手机上的学习软件。该软件提供的文字内容延续了传统的知识的文字形式传输,而且它还将内容转换成音频的形式呈现给用户,这极大地提高了英语学习的听说读写的效率,极大的方便了英语的学习。激发了用户的学习积极性,实现了移动学习的目的。(3) 在中国,网梯信息技术有限公司是最早参与移动教育研究的,早先在 2001年就开发了基于移动终端的网梯移动学习平台。该系统主要对象是学校和一些大型集团,能够及时地为学校的师生和集团的内部人员提供通知和咨询等服务。 1.5 本文的主要内容编排 第一章:引言,主要讲述现今传统教育的状况和智能手机教学对教育的影响和优势,以及移动教学的研究现状。第二章:主要的应用技术和工具,主要讲述的是本次毕业设计“基于智能手机通用教学互动系统的设计实现”,所使用的主要技术和工具。第三章:易学通的总体设计,主要讲述的是本次毕业设计的需求分析,设计思想以及系统框架和功能的简要设计。 第四章:易学通的功能实现,主要详细讲述的易学通的功能设计和实现。 第五章:系统使用体验,主要讲述的是易学通系统的使用体验。2 主要的应用技术和工具2.1 AndroidAndroid是专门为移动设备开发的系统平台,其中包括操作系统、中间件和核心应用等4。Android运行在Linux Kernel之上,包括安全(Security),存储器管理(Memory Management),网络堆栈(Network Stack)和驱动程序模型(Driver Model)等。Android的应用安装包后缀是APK,通过APK文件可直接在手机上安装应用程序。Android平台自底向上由以下四个层次组成:Linux内核层、Android运行时库和其他库层、应用框架层、应用程序层5。Android是基于Linux系统之上的一款手机操作系统。系统运行库指的是Android包含了很多能被Android系统中的组件使用的C/C+集成库,开发者开发Android应用程序的时候就需要应用框架加载这些库来提供服务。Android开发的核心需要掌握Android的四个组件和各个组件的生命周期。四个基本组件由Activity ,service服务,Content Provider内容提供者,BroadcastReceiver 广播接收器组成。(1) Activity:Activity 是作为用户交互的UI界面,里面包含了用户交互所需要的界面元素,也包含了事件处理等,是用户和应用之间联系的窗口。Activity之间通过Intent进行通讯。从内部逻辑来看,Activity为了保持各个界面的状态,需要设计生命周期和一些跳转逻辑,以满足其持久化的要求。(2) Service:Service服务层像是脱离界面的Activity。Service 是作为Activity的补充,不是所有的程序都需要界面,而Activity的生命周期和可视性关系紧密,所以一旦此Activity不可见,该Activity也随之挂起。所以Service作为其补充的特点是可以一直在后台运行,跟界面没有关系,Service和Activity之间可以通过通信使Activity进行UI操作。Service服务层完全独立于系统,外部系统不需要关心其内部实现,只需要获取代理实例即可6。(3) Broadcast Receiver:广播接收器组件专门用于接收并响应广播通知信息,BroadcastReceiver 使应用只对自己感兴趣的外部事件进行响应。广播的存在方便了我们对设备的状态监控,比如对传感器、来电和短信之类的监听。广播极大的方便了应用之间的通讯,以及应用内部的交互。Android中的广播事件有两种:系统广播事件和自定义的广播事件。广播事件的流程:注册、发送和接收。(4) Content Provider:应用程序通过Content Provider实现数据的储存和读取,也可实现数据共享。外部应用可以通过Content Provider访问Content Provider存储的数据资源,也可以进行数据的管理操作。当然这种数据共享也是有条件的,这种条件约束一定程度上提供了隐私的保护和数据的安全性保障,内容提供者给我们很方便的提供了如联系人、通话记录和短信等数据,当然我们也可以在自己的应用里面设置自己的内容提供以便其他应用获取和使用。因为安卓的各个应用之间类似于Linux系统里面各个用户一样相互独立分割,达到安全的目的,所以内容提供者是在不失安全隐私的情况下进行数据共享。2.2 主要开发技术2.2.1 文件操作java.ioJAVA都是将文件以流的形式实现向系统内的输入和系统外的输出。流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。JDK的java.io包中,包含了以下四种抽象流类:(1) InputStream类:继承自InputStream的流,以字节(8位)为数据单位,用于向程序中输入数据。(2) OutputStream类:继承自OutputStream的流,以字节(8位)为数据单位,用于向程序外输出数据。(3) Reader类:继承自Reader的流,以字符(16位)为数据单位,用于向程序中输入数据。(4) Writer类:继承自Writer的流,以字符(16位)为数据单位,用于向程序外输出数据。2.2.2 HttpClient访问网络HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的、支持HTTP协议的客户端变成工具包,并且支持HTTP协议最新的版本和建议7。使用HttpClient实现网页抓取,将URL地址中指定的网络资源从网络流中读取到本地,进行保存。HttpClient中封装了HttpGet、HttpPost和HttpResponse类。HttpGet发送GET请求,HttpPost发送POST请求,HttpResponse代表处理响应的对象。(1)发送Get请求创建HttpClient对象:HttpClient httpclient=new DefaultHttpClient();创建HttpGet对象:HttpGet httpRequest=new HttpGet(URL);执行HttpClient请求: HttpResponse httpResponse=httpclient.execute(httpRequest)(2)发送Post请求 创建HttpPost对象:HttpPost httpRequest=new HttpPost(URL); 将要传递的参数保存到List集合中: List params=new ArrayList(); params.add(new BasicNameValuePair(“参数名”,“参数值”);设置编码方式: httpRequest.setEntity(new UrlEncodedFormEntity(parmas,“utf-8”)2.2.3 Spring框架Spring是一个轻量级的IOC和AOP容器框架8。Spring框架由7个模块组成:(1) 核心容器:提供基础功能,是Spring框架的核心。Spring 的核心容器实现了IOC,其目的是提供一种无侵入式框架。BeanFactory和ApplicationContext是Spring核心的关键。rg.springframework.beans和org.springframework.context这两个包是Spring最基本、最重要的包,为了实现一种无侵入式的框架,代码中大量引用Java中的反射机制,通过动态调用的方式避免了硬编码,为Spring的反向控制特性提供了基础。在这两个包中,最重要的类是BeanFactory:提供一种先进的配置机制来管理任何种类的Bean。ApplicationContext:建立在BeanFactory的基础上,并增加了其他的功能。(2) 应用上下文模块:扩展BeanFactory,提供许多企业级服务。Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。(3) AOP模块:对面向切面提供丰富的支持,引入可metadata,Spring应用系统开发切面的基础。(4) JDBC和DAO模块:Spring提供JdbcDaoSupport来实现对JDBC的DAO支持。(5) O/R映射模块:O/R映射层是持久层的一个特例,它的数据模型是对象模型(Object),存储模型是关系模型(Relational)。(6) Web模块:提供适合web系统的上下文。Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。(7) MVC框架:是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。Spring的所有模块都是建立在核心容器之上。Spring通过IoC依赖注入、AOP应用、面向接口编程,来降低业务组件之间的耦合度,增强系统扩展性9。Spring框架的核心思想就是“解耦”,应用程序各部分之间会尽量形成一种松耦合的结构,使得程序更加灵活。应用内部的解耦是通过控制反转IOC的技术来实现。控制反转的基本思想就是本来应由应用程序自身来控制的调用等逻辑转变由应用外的配置文件来被动控制,通常用“好莱坞原则”10来比喻这种控制反转。2.2.4 JSONJSON11是一种轻量级的数据传输格式,阅读和编码简单易懂,适用于各种语言进行数据交换。JSON可以被所有支持JavaScript的浏览器所解析,性能和兼容性良好。JSON 数据的书写格式是:名称/值对,如:“firstName”:“John”等价JavaScript:firstName=“John”。为了轻松地存储和传输数据,JSON分为序列化和反序列化。序列化(Serialization)是将对象状态转换为可保持或传输的格式的过程12。反序列化和序列化是一对互逆过程。JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。JSON建构于两种结构:“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。2.2.5 客户端/服务器模式(C/S)使用C/S模式,以MVC的设计思想,Model模型和Controller控制器在服务器端实现,将View画面展示给用户,以达到用户与服务器的交互,真正意义上实现移动教学。目前已投入使用的计算机网络模式主要包括四种:主机终端模式、文件服务模式、Web浏览器/服务器模式和客户端/服务器模式(Client/Server,即C/S)。C/S模式主要由客户应用程序、服务器管理程序和中间件三个部件组成13。数据库C/S结构属于软件系统体系的结构范畴,该结构可以充分利用两端的硬件环境配置,通过将任务分解成多个任务,并分由多计算机分工完成,即采用“功能分布”原则14。通过客户端对任务进行分解处理,以及与服务器端的互联通信,组成二层架构,进而降低了系统通讯的开销。客户端服务器 图2.1 C/S 结构图C/S架构主要包括两大组成部分:客户端即工作站,主要是接受用户请求,并向服务器提出数据库处理请求;服务端即服务器,主要是提供对数据处理请求的响应以及健全的安全保护等操作,可以允许多个客户端同时发起访问请求并进行及时处理。2.3 主要开发工具(1) 前台开发工具:Eclipse for Android 。(2) 后台开发工具:Myeclipse , Sublime Text2 。 交流平台是使用Java语言开发的,使用的工具是Myeclipse;文件操作的服务器是使用PHP开发的,使用工具是Sublime Text2。(3) 数据库开发工具:XAMPP , Nacivat for MySqlXAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的软件站集成软件包,是构建数据库驱动的动态网站的最佳组合。XAMPP采用这种集成,可以运行任何程序:从个人主页到功能全面的产品站点,易于安装和设置及卸载15。Nacivat for MySql主要是用来操作管理数据库的,它可以可实现SQL文件的导入导出,方便对数据库的开发。(4) 开发平台和载体:以windows7系统的PC电脑作为主要的开发平台,Android4.4手机作为载体。3 易学通总体设计3.1 需求分析本次毕业设计要求学生充分理解并掌握相关教学互动系统的特点及基于智能手机系统设计实现的要求,通过学习和查询相关技术资料,设计出合理的系统框架及功能,正确选择适当的编程语言和系统软件环境,完成从需求分析、总体设计、功能设计到详细设计的完整系统设计过程,要求实现智能手机教师端、学生端的信息发布、回复等互动教学管理功能,并且界面友好,用户操作简单方便。当前流行的智能手机有Android手机、苹果手机、黑莓手机等,而本次毕业设计选定的就是当前最流行的Android系统手机。Android系统当前是由Google设计开发,因为Android系统的开源性,基于Android系统而扩展开发的手机系统有很多,比如小米的MIUI、魅族的Flyme和华为的EMUI等系统,Android系统已经成为当前手机操作系统的霸主,所以本次毕业设计的选择的智能手机就是使用率极高的Android手机。本次毕业设计的目的是设计实现一款教学互动系统,而对于教学方面,则就会想到自古流传下来的作业。作业是作为教学方面必不可少的一个角色,老师在课堂上能讲的东西毕竟有限,而且都是老师传授知识,对于学生来说有没有接收和理解那些知识就只能靠作业来检测。作业不仅起到检测学生学习效果的作用,还可以作为一种压力或者动力来督促学生去学习,因为在中国教育传统里面,没有完成老师布置的作业就要受到老师的惩罚。所以作为一款教学互动系统,要包含布置作业和收作业的功能。而作为移动教学,核心还是要实现随时随地、自由学习。本次毕业设计的目的就是要实现当老师和学生不能面对面教学的时候,老师依然能传授知识,学生也可以向老师请教,即所谓的互动。互动不仅是老师与学生之间,老师与老师、学生与学生之间都可以进行交流互动。而毕业设计的要求是要实现信息发布和回复等功能,所以作为互动就准备实现一个类似于BBS论坛等功能。易学通就是根据毕业设计要求而设计的一套基于Android智能手机的教学互动系统,实现老师与学生、学生与学生之间的教学互动。由于教师端与学生端的差距很小,所以易学通系统只有一个客户端,学生和老师都可以使用。3.2 设计思想根据对教学互动系统的思考理解,拟定以南京理工大学教务处的个人学号和密码,模拟请求教务处,根据请求的返回信息,判断是否登陆成功,成功则进入主页。本系统拟设定包含查看个人课程表、老师与学生之间的作业或答案的文件传递、老师与学生之间的交流互动等功能。本系统在设计的时候存在一个必然的缺陷:以目前的条件,只能获取到学生在教务处的个人信息和课程表信息。对于老师在教务处的情况,本设计无法获得权限去访问。所以,这个系统设计仅仅针对学生端,但其实对于教师端在作业文件传递和交流互动的设计上与学生端是一致的。在设计中计划使用当下最流行的MVC设计思想,即Model-View-Controller,如图3.1所示。所谓MVC模式,指的是一种划分系统功能的方法,是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好地实现了数据层与表示层的分离,特别适用于开发与用户图形界面有关的应用程序16。MVC中的C,也就是Controller,是沟通Model和View之间的枢纽,负责将从视图而来请求转发,处理这些请求。在本设计中MVC主要应用在交流平台中,Controller将由手机客户端传来的信息进行收集和整理,实现系统所需要的业务功能,最后将接收的交流数据传递给数据库,使其持久化。MVC中的V,也就是所谓的视图(View),可以藉此方便地、独立地进行人性化的图形界面的设计工作。在本设计中所有的客户端画面设计基本都属于View,View就是显示给用户进行交互的。作为Android应用程序,客户端画面设计基于自定义View加载各种自定义控件,设计出简单清晰的画面。MVC中的M,也就是所谓的Model,是程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。在本设计中则是与业务逻辑和数据逻辑唇齿相依,互为表里,密不可分。而持久层便是Model层面中的主干了,如何设计好这一部分,将对系统的性能产生明显的影响。 图3.1 MVC框架图3.3 系统功能设计易学通的系统设计如图3.2所示:个人课程表易学通 下作业作业交作业发表说说聊吧 查看和评论说说课程图 3.2 易学通系统设计图易学通是基于Android手机的通用教学互动系统。本系统的用户分老师和学生两种,功能包括:个人,课程表,作业,聊吧。(1) 个人信息:在用户登陆进系统之后,可以查询在学校教务处上的个人信息。(2) 课程表:主要用于显示用户在学校的课程安排。(3) 作业:老师在里面上传下发课外作业,学生上传自己对作业的答案。学生下载老师上传的作业,老师下载学生上传的答案。 (4) 聊吧:一个交流平台,所有用户可以发表说说信息,并且可以查阅和评论所有的说说信息。4 易学通的功能实现4.1 客户端1 登陆功能使用HttpClient,设置账号密码,发送POST请求到南京理工大学教务处主页的login方法,HttpResponse接收返回内容,判断是否登陆成功。南理工教务处的学生登陆网址为Url=00:6666/pls/wwwbks/bkscjcx.login;创建NameValuePair泛型的链表List,add由登陆文本框里输入的账号和密码。设置请求参数类型为utf-8,用 httpReponse.getEntity()接收返回信息,并进行处理。主要代码展示如下:String target=00:6666/pls/wwwbks/bkscjcx.login;List params=new ArrayList();params.add(new BasicNameValuePair(stuid,stuid);params.add(new BasicNameValuePair(pwd,pwd);try HttpPost httpRequest=new HttpPost(target); httpRequest.setEntity(new UrlEncodedFormEntity(params,utf-8);DefaultHttpClient httpclient = new DefaultHttpClient(); HttpResponse httpResponse=httpclient.execute(httpRequest); if(httpResponse.getStatusLine().getStatusCode()=HttpStatus.SC_OK) result+=EntityUtils.toString(httpResponse.getEntity(); else result=请求失败; catch (Exception e) e.printStackTrace(); return result;2 主页登陆教务处成功之后,进入应用主页,主页主要含有四个功能模块。(1)个人信息:通过接收登陆教务处网站时返回的网页信息,对String类型的数据进行针对性截取,获取学生的个人信息。主要就是姓名、学号、学院和专业等信息的查询。(2)课程表:以HttpClient设置登陆账号和密码,登陆教务处的选课系统。然后将获取的身份认证信息通过Cookie保存并传递给WebView,直接Url加载课程表页面,以WebView的方式将课程表页面显示在手机上。同时设置网页自适应屏幕和网页可缩放,已达到可以任意缩放查看课程表。主要代码展示如下:private WebView wb;CookieSyncManager.createInstance(this);cookiemanager = CookieManager.getInstance();String target=18:7777/pls/wwwxk/xk.login; List params=new ArrayList(); params.add(new BasicNameValuePair(stuid,stuid);params.add(new BasicNameValuePair(pwd,pwd);HttpPost httpRequest=new HttpPost(target); httpRequest.setEntity(new UrlEncodedFormEntity(params,utf-8); httpclient = new DefaultHttpClient(); CookieStore cookieStore = new BasicCookieStore();httpclient.setCookieStore(cookieStore); HttpResponse httpResponse=httpclient.execute(httpRequest); if(httpResponse.getStatusLine().getStatusCode()=HttpStatus.SC_OK)result+=EntityUtils.toString(httpResponse.getEntity();Listcookies = httpclient.getCookieStore().getCookies();if(!cookies.isEmpty() Cookie cookie = cookies.get(0); String cookieString = cookie.getName()+=+cookie.getValue(); cookiemanager.setCookie(18:7777/pls/wwwxk/xk.CourseView,cookieString);CookieSyncManager.getInstance().sync( wb.loadUrl(18:7777/pls/wwwxk/xk.CourseView); (3)作业:作业模块分为下作业和交作业两部分:下作业:直接Url加载一个WebView页面,以List的方式显示服务器端文件信息,每一个文件名绑定一个下载链接,点击文件名即可打开手机里面的浏览器实现文件下载。对老师而言,就是下载学生上传的word格式作业答案;对学生而言,就是下载老师布置上传在服务器端的word格式作业文件。交作业:通过控制手机上的打开文件夹的功能,浏览并选择存在于手机上的word文件信息,选中点击上传按钮,通过AsyncHttpClient实现异步文件上传。对老师而言,就是上传要下发给学生的课外作业;对学生而言,就是上传老师布置的作业的答案。(4)聊吧设计聊吧交流平台,主要是为了提供交流互动的功能。老师在发布作业之后,可以在聊吧里面发表说说信息告诉学生作业已下发,还有交作业的时间;学生看到老师发表的说说之

温馨提示

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

评论

0/150

提交评论