Android校园通毕业设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
福建船政交通职业学院毕业论文(设计)
题目:安卓基于互联网的校园通
系部:信息工程系
姓名:
学号:
专业:
年级班级:
指导教师:
二○一四年六月
目录
引言 (2)
1课题概述 (3)
1.1课题背景 (3)
1.2课题目标及意义 (3)
1.3国内外手机现状 (4)
2 系统分析 (5)
2.1需求分析 (5)
2.2平台构架及特征 (5)
2.3相关技术介绍 (7)
3 总体设计 (11)
3.1功能分类 (11)
3.2系统总体结构 (13)
3.3数据库设计 (14)
4 详细设计 (18)
4.1后台登录 (18)
4.2后台主界面 (19)
4.3手机客户端 (22)
5 系统实施、调试与测试 (28)
5.1 JAVA服务器开发 (28)
5.2系统测试 (30)
5.3 测试结论 (31)
结束语 (33)
致谢 (34)
参考文献 (35)
安卓基于互联网的校园通
林新宝
摘要:随着智能手机一步步走进普通人的生活,它将成为人们获取信息的主要设备。
因此,手机的娱乐应用服务将会有很大的发展空间,校园资讯软件就是其中之一。
Android平台提供给用户非常方便的数据查阅功能,这将为校园资讯软件的设计与实现提供了更好的平台。
另外,Android平台基本上是免费的,所以能够有效降低软件的成本,最终让每个用户能够自由地获取信息,也为手机校园资讯服务的普及做出贡献。
校园信息管理是大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,教学日常管理工作日趋繁重、复杂,迫切需要研制开发基于安卓的掌上校园通系统。
本课题主要采用的设计语言是Java语言和MySql数据库,所设计的基于安卓的掌上校园通系统包括后台管理系统和前台Android客户端,后台管理系统包括院系管理、信息管理、教师管理、教室管理、课程管理、考试管理等功能模块,前台Android客户端包括登入、信息查询、考试查询、课程查询,地图等功能模块。
系统能够正常运行,各个界面交互性较好。
关键字:安卓校园通校园资讯智能手机
引言
android系统的日渐流行让越来越多的手机用户和平板用户将目光转向android系统上,一种以Linux为基础的开放源代码的android系统[1]。
Android的系统架构和其它操作系统一样,采用了分层的架构,android系统自上而下分为四层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
[1]
介绍一下Android系统。
Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由(Open Handset Alliance)开发。
它采用了软件叠层的架构,主要分为三部分。
低层以Linux核心工作为基础,只提供基本功能;其他的应用软件则由各自的公司自行开发,以Java语言作为编写程式的一部分。
本论文主要阐述了以面向对象的程序开发语言,以eclipse with Android SDK为开发工具,校园信息管理是大学的主要日常管理工作其中的一项,涉及到学校、院系、老师、学生等多方面,随着教学体制的不断改革,特别是学分制度与选课制度的展开和深入,教学日常管理工作日趋繁重、复杂,所以需要研制开发基于安卓的掌上校园通系统便于管理。
国外高校一般都具有比较大型规模的技术团队来对技术的支持和提供服务,国内的学校信息化建设相比较国外时间要晚。
在逐步应用数字校园理论的过程中,各所高校对系统软件、各种硬件和网络不断投资购建,也对各类的教学、办公管理和科研的应用系统不断在开发和实施了,形成了一种小型规模的现代化信息建设体系。
但是,由于整个国内的信息化比国外的信息化程度要落后不少,理论体系的不健全等多种情况,国内的各所高校教学管理系统在服务范围、机构设置、服务质量和人员要求等与国外高校相比较是有一段不小的距离。
1课题概述
1.1课题背景
目前,国内各所高校的学生都是电脑登录校园进行学校的信息,成绩,课程等相关内容的查询,学生们不能够随时的登录到校园网了解到校园网的信息。
如果是用手机里的浏览器登录到校园网,那么有可能会出现显示信息不全面,响应的时间也相对过长,有可能导致一些重要的信息没有读取到。
科技的发展,智能手机进入了人们的日常。
成为了不可缺少的一部分。
安卓作为占有市场超过50%的市场,使得手机软件的方便应用成为了一种可以实现的。
移动互联网的普遍发展使得人们不再局限于通过电脑才能够访问互联网,也可以通过手机随时的登录到互联网获取到信息。
基于安卓智能终端,依靠校园信息的平台,通过无线网访问,实现和校园网信息的交互,便于同学和老师的校园服务[2]。
1.2课题目标及意义
现在国内的教育体制也在不断的发生改变和创新,教育部门通过吸收国外优秀的教学模式,结合了国内的办学经验,结合出了适合国内特色的教学模式,所以教育部面对各种各类的校园展开了学分制的改变。
各院校对自己已经有的教务管理系统进行了改进,根据各院校现有的管理模式,结合国外的教学模式,提高了各院校的管理水平。
在这种大环境中,选择了“安卓基于互联网的校园通系统”作为这次毕业设计的题目,我想应该符合实际的需求。
随着移动互联网的快速的发展,校园手机用户数量不断的攀升基本都能做到人手一台的,手机校园通能简单的直观的为手机用户介绍了福建船政交通职业学院的一些信息,对一些不熟悉的校园的学生来说,在校园通上能够很好的对校园的进行了解,基于安卓系统开发的基于互联网的校园通系统是一个稳定、快捷的对校园信息的监视的一个平台,是手机用户的最佳选择。
手机校园通系统能很好的帮助本校师生及外来人员直观的了解到福建船政交通学院的相关信息和校园风采风貌,对于不熟悉校园的人来说,在导航功能上也可以起到很重要的作用。
打开软件的地图就能看到学院的平面图结构,能帮助新来人员迅速的熟悉校园环境。
1.3国内外手机现状
Android操作系统是基于Linux平台的开发的手机操作系统,他是由著名的互联网公司Google公司进行开发的。
Android操作系统包括用户界面、手机操作系统和手机应用程序等移动设备所需要的所有软件能够保证正常的使用,而且Android操作系统不存在和以前手机操作系统上的阻碍移动通信设备上所需创新的所有权障碍,因为他是一个开源的手机操作系统[3]。
Google与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和T-Mobile 在内的30多家技术和无线应用的领军企业组成[3]。
Google通过与运营商、设备制造商、开发商和其他相关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动设备软件平台,在移动产业内形成一个开放式的生态系统[3]。
Androind操作系统作为谷歌企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现[3]。
Android手机操作系统将作为Google扩展移动设备市场的一个奠基石,而后为Google应用的推广起到了良好的作用。
但Android操作系统不会替代谷歌长期以来奉行的移动发展策略:通过与全球各地的手机制造商和运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品[3]。
2 系统分析
2.1需求分析
本软件是Android平台的一个校园资讯程序,启动程序后查阅学校相关资讯包括在学校吃住娱乐风景等各方面的讯息。
从上面的描述中可以基本了解软件的功能需求:
a)首先是学校电影院每周电影的更新;
b)其次有学校的各种资料;
c)各种校园活动及周边娱乐设施的信息;
d)校园校景美图查看;
e)校园生活手册;
f)扩展内容“我的资料”,及“更多”两个Activity。
2.2平台构架及特征
2.2.1 Android平台特征
①支持组件的重用与替换。
意味着我们可以把系统中不喜欢的应用程序换掉,安装我们自己喜欢的程序。
[5]
②Dalvik虚拟机专门为移动设备做了优化。
将class文件通过DX工具转换成后缀为.dex的文件来执。
Dalvik虚拟机基于寄存器,比java虚拟机快。
[5]
③内部集成浏览器基于开源的WebKit引擎。
[5]
④优化的2D和3D图形库。
[5]
⑤SQLite数据库,用于结构话的数据存储。
[5]
⑥支持各种多媒体格式:MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF 等。
[5]
⑦GSM电话—全球通。
[5]
⑧蓝牙、Wifi(无线局域网)、EDGE(GSM到3G的过渡)。
[5]
⑨照相机、GPS、指南针和加速度计。
[5]
丰富的开发环境包括设备模拟器,调式工具,内存及性能分析表和Eclipse 集成开发环境插件。
Google提供了Android开发包SDK,其中包含大量的类库和
开发工具。
2.2.2 Android应用程序组件
Android 手机操作系统是运行在 Linux 内核上。
Android 上的应用程序都是用 Java 编程语言编写的,它们在一个虚拟机(VM)中运行。
需要注意的是,这个 VM 并非您想象中的 JVM,而是 Dalvik Virtual Machine,这是一种开源技术。
每个 Android 应用程序都在 Dalvik VM 的一个实例中运行,这个实例驻留在一个由 Linux 内核管理的进程中,如下图2-2所示[7]。
图2-2 Dalvik VM
Android 应用程序由一个或多个组件组成:
①活动(Activity)
具有可视 UI 的应用程序是用活动实现的。
当用户从主屏幕或应用程序启动器选择一个应用程序时,就会开始一个动作。
[7]
②服务(Service)
服务应该用于任何需要持续较长时间的应用程序,例如网络监视器或更新检查应用程序。
[7]
③内容提供程序(Content Provider)
可以将内容提供程序看作数据库服务器。
内容提供程序的任务是管理对持久数据的访问,例如 SQLite 数据库。
如果应用程序非常简单,那么可能不需要创建内容提供程序。
如果要构建一个较大的应用程序,或者构建需要为多个活动或应用程序提供数据的应用程序,那么可以使用内容提供程序实现数据访问。
[7]
④广播接收器(Broadcast Receiver)
Android 应用程序可用于处理一个数据元素,或者对一个事件(例如接收文本消息)做出响应。
[7]
⑤视图(View)
View是Android中图形用户界面的基类,提供了可视化界面展示。
Android 的图形界面分为三层:底层是Activity;Activity上面是Window; Window上面是Views。
View又可以分为View和ViewGroup。
View是基本控件,ViewGroup 是布局控件。
[7]
⑥信使(Intent)
Intent是不同组件之间相互导航的纽带,封装了不同组件导航查找的条件。
[7]
Android 应用程序是连同一个 AndroidManifest.xml 文件一起部署到设备的。
AndroidManifest.xml 包含必要的配置信息,以便将它适当地安装到设备。
它包括必需的类名和应用程序能够处理的事件类型,以及运行应用程序所需的许可。
例如,如果应用程序需要访问网络—例如为了下载一个文件—那么manifest 文件中必须显式地列出该许可。
很多应用程序可能启用了这个特定的许可。
这种声明式安全性有助于减少恶意应用程序损害设备的可能性[7]。
2.3相关技术介绍
2.3.1MyEclipse简介
MyEclipse,是一款很是优秀的软件,主要是应用在开发J2EE的Eclipse插件集合,Java语言,,MyEclipse里面的功能是很强大,支持的软件也是很广泛,特别是对各种开发产品和开发系统的支持是十分不错的。
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称
MyEclipse)是对EclipseIDE的应有功能进行扩展,利用它我们可以在Mysql数据库和J2EE上进行开发、应用程序服务器的整合以及发布方面有很大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、测试、调试和发布功能,完整支持HTML,JSP,Struts,Javascript,CSS,SQL,Hibernate,Spring[11]。
在对于毕业课题安卓基于互联网的校园通设计中,Android终端设备客户端是采用Eclipse开发工具开发的;而Web版本是采用MyEclipse软件工具进行开发的。
2.3.2Eclipse简介
Eclipse是一个基于Java的、开放源代码的可扩展开发平台。
就它本身来说,它只是一组服务和一个框架,通过插件组件构建开发环境的一个系统。
幸运的是,Eclipse附带了一个标准的插件集合,包括Java开发工具(Java Development Tools,JDT)。
Eclipse是出了名的跨平台的自由集成开发环境(IDE)。
最早的时候主要是用来开发Java语言的,但是现在也有人通过第三方的插件用它作为其它计算机语言的开发,例如Python和C++的开发软件。
Eclipse它的本身只是一个框架平台,但是那么多的插件支持让得Eclipse拥有了其它开发功能相对固定的IDE 软件是具有很难的灵活性。
很多软件的开发商都是以Eclipse为框架开发自己的系统[12]。
1)Eclipse的主要构成
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C 开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产
的组件合并,它们可以一次下载。
这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。
Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。
Eclipse项目生产的软件以GPL发布,第三方组件有各自自身的许可协议[12]。
2)E clipse Android环境搭建
①JDK安装
a)我的电脑->属性->高级->环境变量->系统变量中添加以下环境变
量:
JAVA_HOME值为:安装JDK的目录;
CLASSPAT值为:D:\AndroidDeveloper\android-sdk-windows\tools;
b)P ath:在开始追加%JAVA_HOME%\bin;
c)N OTE:前面四步设置环境变量对搭建Android开发环境不是必
须的,可以跳过。
安装完成之后,可以在检查JDK是否安装成功。
打开cmd窗口,输入Java –version查看JDK的版本信息。
②Eclipse安装
在/downloads/,下载Eclipse IDE for Java Developers(92M)的win 32bit版,Android SDK安装在Android Developers 下载android-sdk_r05
-windows.zip,下载完成后解压到任意路径。
a)运行SDK Setup.exe,点击Available Packages。
如果没有出现可安装
的包,请点击Settings,选中Misc中的“Force https://...”这项,再点
击Available Packages。
b)选择希望安装的SDK及其文档或者其它包,点击Installation
Selected、Accept All、Install Accepted,开始下载安装所选包。
在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本
机为D:\AndroidDevelop\android-sdk-windows\tools)[12]。
2.3.3MySql数据库
MySQL是一个多线程、多用户的SQL数据库,是一个服务器和客户机结构的开发应用软件,它是由一个服务器守护程序Mysql和很多不同的客户端数据库和程序组成的。
SQL (Structured Query Language结构化查询语言)是目前为止使用最广泛的并且是最标准的数据库开发语言。
SQL语言使它更新信息和存取信息变得十分方便快捷,你可以直接使用SQL从网站上查询信息。
Mysql的灵活性和快速足以满足任何网站上的工作信息管理。
用户端和Mysql数据库之间的接口程序可以使用通用网关界面进行相互的通信。
新网ChinaDNS使用的是超文本预处理器,使用超文本预处理器和Mysql这两样东西合在一起,对于开发数据驱动的网站这项工作来说是最佳的拍档。
超文本预处理器的脚本语言是一种用来对服务器端执行程序解释。
如果你接触过动态服务器页面的话,那么您对于在HTML页面中嵌入代码应该是比较熟悉了。
超文本预处理器代码在服务器一端被执行、解释和转变成普通的HTML页面内容,送到浏览器一端。
这样的模式让我们可以用它来完成很多很复杂的功能[13]。
MySQL的功能特点如下:
1)处理多达50,000,000以上的记录;
2)命令执行速度快,也许是现今最快的;
3)可以同时处理几乎不限数量的用户;
4)数据类型
5)简单有效的用户特权系统。
字段支持大量数据类型是件好事。
通常的整数、浮点数、字符串和数字均以多种长度表示,并支持变长的BLOB(Binary Large OBject)类型。
对日期时间字段,?br> 字段由自动增量选项也能很好的表示。
3 总体设计
本次做的是安卓基于互联网的校园通系统,本系统主要分为两大块,服务端是用My Eclipse开发的,主要的是界面程序的开发、数据库的建立,数据库的维护。
应用程序功能的完善,界面的交互要好,便于操作。
数据库中的数据内容条理清晰,方便维护,并且要保证数据库里的数据内容的完整性。
能够节省时间,能够更好的添加校内的信息,上课的教师和时间等多种数据的处理。
客户端是用Eclipse、Android SDK,开发Android程序的eclipse插件做为本次开发的主要工具,手机客户端主要是通过wifi访问到服务端,然后从服务端读取到数据才能过进行客户端的操作,客户端的主要内容是显示校内的新闻列表,教师列表和院系的一个查询。
查询的过程中能够通过关键字查询到该关键字的详细内容。
3.1功能分类
本系统主要分两部分:
1.后台管理系统
安卓基于互联网的校园通系统后台管理系统包括院系管理、信息管理、教师管理、课程管理、考试管理等功能模块。
图3-1服务端的构架
院系的管理里面的大致内容是:学校里面一个系部的介绍和个个系部的专业介绍,对学生来说能够更加清楚的了解到自己系部的和自己所学专业进行一个大概的了解,那么对以后的学习或者是系部的活动通知之类的能够起到一个不小的
作用。
信息管理是对校内的新闻和学校里发出的通告进行了一个整理,在这里学生能够清楚的了解到学校里发生的事情和学校里即将准备的活动之类,例如校园的十佳歌手赛的通知,校运动会的通知之类的。
也能够很好的帮助学生了解到自己学校的新闻和学校的动态。
对不熟悉校园的人来说这是个能够很好的了解福建船政交通学院的动态和信息。
教师管理是学校里的教师进行了一个统计,在这里你能够了解到这个老师是属于那个系的,是教什么专业的,教学经验是怎样的。
是该进入校园当老师的还是在校园老教师了。
也能够避免有的学生不认识教自己专业知识的老师是那个,也能够快速的找到老师的联系方式。
课程管理是对学生和老师的课程进行安排,这个老师这周上什么课,或者是这学期的专业课是由那个老师教授的,在这几乎人人都有手机的年代,大部分的学生很少能够清楚的知道自己所学的教师,上课时间,这节上什么课在哪里上,是那个老师教的,通过课程管理信息也能够很清楚的知道。
考试管理是对学生们考试的一个通知和学生成绩发布,虽然大学生基本很少考试,但是基本的期中考和期末考还是有的,通过手机客户端的登入能够清楚的了解到自己的成绩和班级同学的成绩,也能够很好的对比出为何自己的成绩会比别人差,差在哪里。
2.Android前台系统
Android客户端包括登入、信息查询、考试查询、课程查询,地图等功能模块。
图3-2客户端的构架
Android客户端前台系统里的登入,登入里包括了对用户的注册,注册的用户是不能够直接登入到客户端里对里面内容进行查看的,需要等服务端的管理员对你的用户进行权限的设置,那么该用户才能够进行登入。
还有就是对之前用户的一个判断,判断是否存在这个用户和这个用户是否被后台管理员禁用。
如果没有被禁用或者存在该用户那么就可以登入到客户端里进行内容的查询。
信息查询里包括了学校里的新闻和学校里的通过,学生可通过客户端对学校的信息进行了解,学校里发出的通知也可发布到信息查询功能里,只要学生登入到客户端进行查看即可,这是很方便快捷的。
院系的查询里包括了学校里每个系部的介绍和每个系部里的各个专业介绍,对学生来说能够更加清楚的了解到自己所在的系部的和自己所学专业技能进行一个大概的了解,那么对以后的学习或者是系部的活动通知之类的能够起到很好的帮助。
课程查询是对学生的课程安排,避免学生对上课的内容,时间和老师的不了解,通过该查询也可对教授自己这门专业技能的老师进行一个基本的的了解。
地图查询功能是对那些不熟悉校园的学生和外来人员,通过对地图的查看能够快速的找到自己要上课或者即将要去的地方,例如学校信息管理处在哪,通过题图能够很快的知道了在哪,往哪走。
避免了不熟悉校园的人在校园内到处乱逛,浪费了大部分的时间。
3.2系统总体结构
图3-3系统的总结架构
本系统的架构分为服务端和客户端两个,服务端主要做的是一个管理员的登录,管理员帐号密码的一个修改,然后就是对客户端的用户进行管理,看这个用
户是否有权限能够登入带客户端进行信息的查看,对教师的基本信息进行了整理和增加,还有就是对老师上课时间的课程安排。
最后一个就是校内的一个新闻的信息管理,把学校要通知的内容和公告进行发布,然后可通过登入客户端进行查看到当前校园内的基本信息。
客户端主要的就是一个用户的登入判断,判断该用户是否被服务端的管理员禁用掉了,如果没有被禁用掉,那么他就可以进入到客户端进行内容的查看。
一个课程的安排情况进行查看和学校信息的公告的一个查看,最后就是添加了一个学校大体位置的一个小地图。
3.3数据库设计
3.3.1数据库需求分析及E-R图
图3-4数据库的关系图
数据库的概念设计,即利用数据模型进行概念数据库的模式设计。
根据无线系统的需求,设计出的一个实体—关系模型。
3.3.2数据表具体设计
(1)admins表:是服务端的管理员用户基本信息的一个表,如表1所示。
表1 管理员表(admins)
admin表是服务端的用户表,表里的信息包括id号和用户名、密码,其中id是该表的主键。
服务端的用户主要就是对整个服务器的管理和数据库的一个管理,使得手机客户端能够便捷的访问到校园信息。
(2)kc表:记录课程信息,里面记录了学生上课时间和上课教师的一个基本内容,如表2所示:
表2 课程表(kc)
kc表是课程的一个安排的表,表里的内容包括了id、tid、上课的课程、教师对应教师表的id,上课的时间,和该专业的学分。
其中id的该表的主键。
课程表主要表示的是该课程的上课时间和上该课程的是那个教师,该课程的学分是几分等的上课内容。
(3)xw表:记录学校内的新闻和公告的一个表,如表3所示。
表3 新闻表(xw)。