基于Android的学生宿舍管理系统的实现.doc
《基于Android的学生宿舍管理系统的实现.doc》由会员分享,可在线阅读,更多相关《基于Android的学生宿舍管理系统的实现.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本科生毕业论文题 目 基于Android的学生宿舍管理系统的实现 系 别 计算机科学与技术 班 级 计算机科学与技术082班级 姓 名 王西迪 学 号 084632220 答辩时间 2012 年 5 月 农业大学 计算机 学院目 录摘要1Abstract11 研究背景21.1 智能手机的发展现状21.2 Android系统的崛起21.3 Android系统的优势31.3.1 开放性31.3.2 挣脱束缚31.3.3 丰富的硬件41.3.4 应用程序发展迅速42 系统需求分析42.1 基本功能需求42.2 用户界面需求42.3 网络数据存储方案的选择52.4 数据库模型分析52.5 环境53 服
2、务端接口开发63.1 Ruby简介63.2 Rails 简介63.3 接口体系63.4 重要的自定义接口73.4.1 用户认证接口73.4.2 按楼号读取宿舍列表接口73.4.3 按宿舍号查学生的信息接口83.5 接口测试84 手机宿舍管理系统的基础框架84.1 框架结构94.2 RESTFUL风格94.3 CRUD的封装104.3.1 创建操作104.3.2 更新操作114.3.3 删除操作124.3.4 读取操作134.4 基础Activity135 宿舍管理系统的主要功能145.1 登陆功能145.2 修改密码功能165.3 系统设置功能175.4 统计信息功能185.5 查找功能195
3、.6 学生浏览功能195.7 宿舍浏览功能216 结论236.1 手机宿舍管理系统的优点236.2 手机宿舍管理系统存在的一些不足236.3 总结236.4 Android的未来前景23 辞25参考文献2625 / 29基于Android的学生宿舍管理系统的实现王西迪 指导教师:燕红摘要:当前,移动互联网的的高速发展、智能手机的出现,预示着移动信息时代的到来。方便快捷的智能手机成了人们必不可少的工具。本文详细阐述了基于Android平台开发的手机宿舍管理系统的设计与实现。该系统适用于宿舍管理员对宿舍进行管理,使用简单方便。可以肯定此类软件将是未来管理系统的趋势。关键词:Android;移动互联
4、网;手机宿舍管理系统Based on Android Dormitory Management SystemWANG-XiDi Tutor:Cheng-YanHongAbstract:At present, the rapid development of mobile Internet, intelligent mobile phone appears, heralded the arrival of the era of mobile information.Convenient intelligent mobile phone has become an indispensable to
5、ol.This article elaborated based on the Android platform for the development of mobile phone hostel management system design and implementation.The system applies to the dormitory administrator of the dormitory management, the use of simple and convenient.Certainly this kind of software is the futur
6、e trend of management system.Key words: Android;Mobile Internet;Dormitory management system of mobile phone1 研究背景手机宿舍管理系统是典型的信息管理系统,其开发包括服务接口的开发和测试以与前端应用程序的开发两个方面。对于前者要求建立简单易用户的API接口来对网络数据进行读写。而对于后者则要求应用程序功能完备,易使用等特点。而基于Android的手机宿舍管理系统,最大的难点在于开发出能够远程读写的存储接口,同时提供相应的API来操作。论文主要介绍了本课题的开发背景,所要完成的功能和开发的
7、过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。1.1 智能手机的发展现状智能手机是指像个人电脑一样,具有独立的操作系统,可以由用户自行选择安装由第三方服务商提供的不同的软件、游戏等应用程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的简称。智能手机除了具备手机的基本功能如:通话、短信之外,还具备了PDA(掌上电脑)的大部分功能,特别是个人信息管理以与基于无线数据通信的浏览器,GPS和电子功能【1】。智能手机为用户提供了足够的屏幕尺寸和带宽,既方便随身携带,又能为软件运行和容服务提供了广阔的舞台,很多增值业务可以在这个平台上展
8、开,如:股票、天气、新闻、交通、商品、应用程序下载等等。智能手机由于搭载有手机智能操作系统,就有很强的定制性。在用户体验上是非智能手机不能比拟的。当今的消费者都比较重视个性化和用户体验,移动运营商在满足消费者个人定制方面和自我品牌价值方面有了实现的价值。 当前的智能手机主要依托智能手机操作系统,主流的智能手机操作系统有:诺基亚的塞班系统(已经宣布关闭退出市场舞台),谷歌的Android,苹果的IOS,和微软开发的Windows Phone系统。1.2 Android系统的崛起智能手机虽然早在多年前就出现, 但那时的智能手机多是本地应用软件,软件无法从网络上下载并安装,软件来源也不规。这些手机以
9、Nokia的塞班系统和微软的Window Mobile为主。还有以安装JAVA虚拟机的半智能机。Android(中文名:安卓)是一种以Linux为基础的开放源码操作系统,主要使用于便携设备,如手机,平板。目前尚未有统一中文名称,中国大陆地区较多人使用安卓(非官方)或安致(官方)。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google公司收购并注资,并组建开放手机联盟继续开发改良,并逐渐扩展到平板电脑与其他领域上。Android的主要竞争对手是苹果公司的iOS以与RIM的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超
10、过塞班系统,跃居全球第一。 2011年11月数据,Android占据着全球智能手机操作系统市场52.5%的份额,中国市场占有率为58%。Android系统已经成为市场主流。当前中国三大移动通信服务商推出的智能手机也以搭载Android系统主。1.3 Android系统的优势1.3.1 开放性在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来,开放的源代码使用户不用户担心系统。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费
11、者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得更实惠的手机。 1.3.2 挣脱束缚在过去,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从iPhone上市,用户可以更加方便地连接网络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。 1.3.3 丰富的硬件这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。Android硬件
12、设备中WIFI,蓝牙,重力感应,速度感应,距离感应,GPS都为Android设备的易用性带来了很大的好处。在重力感应游戏方面比PC的游戏体验都要好很多。1.3.4 应用程序发展迅速智能机靠的就是应用来留住用户,虽然目前Android的应用数量和质量还无法与苹果相竞争,但是随着Android的推广与普与,应用程序个数在成数量级的增长,Android应用在可预见的未来是有能力和实力与苹果相竞争的。而来自Android应用商店最大的优势是,不对应用程序进行过于严格的审查。在这一点上能吸引更多的开发者。而且除了Google官方的商店外,还有很多厂商提供了应用商店。这些应用商店有着大量的免费应用。吸引了
13、很多的爱使用免费应用的客户。2 系统需求分析2.1 基本功能需求本课题主要是在Android上实现宿舍管理系统,该系统面向的用户是宿舍管理人员,在设计该系统时,应尽量简单方便。系统应该实现如下功能:(1)系统必须要求用户名和密码才能进入.(2)系统应提供宿舍信息的查看。(3)系统应提供新增宿舍和删除宿舍的功能。(4)系统应提供宿舍信息修改的功能。(5)系统应提供宿舍和学生信息的查询功能。(6)系统应提供管理员密码修改功能。(7)系统应提供数据服务器地址的修改功能。(8)系统应提供数据统计信息的功能。2.2 用户界面需求学生宿舍管理系统应提供界面简单,层次较浅、页面容清晰的操作界面,在子界面应提
14、供返回主界面的快捷方法。在深度较深的界面应该可以在菜单中提供返回主界面的快捷方法【2】。2.3 网络数据存储方案的选择经过研究Android下的网络应用,Android无法直接连接网络数据库,必须提供一个网络数据存储服务,现在比较流行的解决方案是服务器端提供XML或着JSON的通用数据格式,客户端解析数据得到所要的信息。如微博、豆瓣的客户端都是用这样的方式来实现的【3】。在服务端可用PHP、java、Ruby来实现Web服务接口。经过各方面的对比,最终选定在服务端用Ruby语言的Ruby On Rails 框架来提供RESTFUL式的基于JSON的面向资源的服务。2.4 数据库模型分析系统主要
15、操作学生和宿舍信息,还和管理员信息。初步分析大概需要4个表:学生信息、宿舍信息、宿舍楼信息、班级信息。图2-1 ER模型图2.5 环境本系统服务端用的Ruby语言,由于Ruby在window下不能很好的工作,只能选择在Linux下。而客户端以Android为操作平台,用java编程语言来开发。3 服务端接口开发3.1 Ruby简介Ruby是一种完整的纯面向对象语言(OOL)。一般认为Java是面向对象语言的典,但在Java中还有基本类型,而在Ruby中所有的都是对象,比如说一个数字,一个字符串。你可以直接调用一个数字的方法。Ruby精心地设计了它的面向对象特性,使之完整并且开放允许改进。如:R
16、uby有在运行时可以向类里添加方法,甚至能够向对象里添加方法的能力。Ruby认为类实际上也是一种单例对象,一种只有一个实例的类。所以,如果有需要,某个类的一个实例可以表现得和同一个类的其他实例不一样。Ruby虽然使用了单继承机制,但是它有模块(Modules)的概念。模块不同于接口,模块是方法的集合,一个类可以混入多个模块。3.2 Rails 简介Ruby on Rails(简称Rails)是一个完整的框架,意思是说他包含了前端跟后端。Rails号称比Java开发速度快十倍,用Java开发Web应用时,当应用很大时,很产生很大的XML配置文件。Rails认为惯例大于配置。一个最使用Rails的
17、主要的理由就是 Ruby On Rails 增加生产力:建立新的应用程序、增加新功变得容易地多。结合程序语言(Ruby)和框架(Rails)意味着你将可以用更少程序代码来完成更加复杂的任务【4】。更少的程序和更好的架构表示当要改变时相对无痛,同时程序员在阅读代码时也更加愉悦。3.3 接口体系在完成需求分析之后,最开始要做的可能就是服务端了,没有服务端。客户端就没办法开始开发。支持我选用Ruby On Rails 最重要的一个原因就是基本不需要多余的设置就能将控制器中的动作暴露成服务。他能根据请求的格式或后缀名,来判断应该返回什么样的数据。Rails已经为我们提供了基础的接口。图3-1 接口体系
18、图3.4 重要的自定义接口Rails只提供了查出资源的所有数据和按主键的一条数据,程序要用到的一些特殊的查讯方式,就要自己来实现。如按宿舍号查学生,按班级查学生等。3.4.1 用户认证接口用户认证接口用户判断请求的用户名和密码是否正确。该接口的用法是 :/服务器地址:端口/auth/用户名/密码服务器收到请求后,会验证用户名和密码是否正确,如果正确,发出200响应,并返回success的文本;如果不正确,返回301响应,并返回fails的文本.客户端可要求文本或请求来判断用户名和密码是否正确。3.4.2 按楼号读取宿舍列表接口不同的管理员管理着不同的宿舍,因而需要将某个管理员管理的宿舍取出来。
19、该接口的用法是: :/服务器地址:端口/build/宿舍楼楼号服务器收到请求后,会取出宿舍楼楼号,再调用宿舍模型中的自定义方法find_rooms_by_build,该方法的核心代码如下:def self.find_rooms_by_build(id)where(id like #id_)end用该方法可取出该宿舍楼的所有的宿舍,再以JSON的数据形式返回。3.4.3 按宿舍号查学生的信息接口该方法操作的是学生模型,和上面的接口很相似,不现的where条件不同:where(room_id=#id)调用该方法可取出该学生中宿舍号是传入的宿舍号的学生。控制器先调用该方法得到数据,再以JSON的数据
20、形式返回。3.5 接口测试接口写完成后,还需要对接口进行测试,判断接口是否开发成功。除了读取可以用浏览器来直接测试外,其它几种测试都不好测试。在Linux下可以用户curl来模拟 的请求【5】。(1)你可以用下面的命令来模拟get请求:curl -h (2)你可以用下面的命令来模拟Delete请求,该请求会请求删除student资源中主键是084632220的数据:curl -X delete (3)你可以用下面的命令来模拟post请求,该请求用增加学生对象:curl -X POST -d studentid=0846&studentname=王西迪 (4)你可以用下面的命令来模拟put请求,
21、该请求用修改学生数据:Curl -X PUT -d studentid=0846&studentname=王西迪 4 手机宿舍管理系统的基础框架该系统的主要设计难点在于对网络服务器的数据实现增、删、改、查。这些功能和业务逻辑无关,但是是应用的基础,应该进行单独的设计【6】。一方面这样的分层设计设计出来的程序有着良好的程序结构,另一方面便于后期添加或修改功能。4.1 框架结构对远程数据的操作的包装是框架要完成的主要功能。下面的是框架的层次结构:图4-1 框架结构图程序上层界面调用四种资源的各种方法,完成对相对表的操作。对于RESTFUL的网络数据服务的CRUD分别对应了web的四种请求:POST
22、,GET,DELETE,PUT。Android的API包含了apache基金会的 Client包,对这四种请求能很好地处理。4.2 RESTFUL风格RESTFUL即从资源的角度来观察整个网络,分布在各处的资源由URL确定,而客户端的应用通过URL来获取资源的对应的数据。目前在三种主流的Web服务实现方案中,因为RESTFUL风格的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现【7】。对于一个RESTFUL风格的资源,标准的有5种请求地址,假设在本地服务器的3000端口有RESTFUL风格的服务,有学生(student)这一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 学生宿舍 管理 系统 实现
限制150内