基于Android的学生宿舍管理系统的实现.doc

上传人:知****量 文档编号:43099894 上传时间:2022-09-16 格式:DOC 页数:29 大小:960.50KB
返回 下载 相关 举报
基于Android的学生宿舍管理系统的实现.doc_第1页
第1页 / 共29页
基于Android的学生宿舍管理系统的实现.doc_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《基于Android的学生宿舍管理系统的实现.doc》由会员分享,可在线阅读,更多相关《基于Android的学生宿舍管理系统的实现.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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)这一

23、资源,用Rails生成相应的控制器,就会默认生成相应的5种请求方法:表4-1 Rails默认的5种请求请求地址方法作用 :/lcoalhost:3000/studentsget资源索引 :/lcoalhost:3000/student/1get读取操作 :/lcoalhost:3000/studentspost创建操作 :/lcoalhost:3000/student/1delete删除操作 :/lcoalhost:3000/student/1put更新操作4.3 CRUD的封装Resource类是各资源的父类,包含了一些各资源都要用到的一些方法以与资源类都应该要实现的些抽象方法。在该类中要实

24、现资源Bean的共用方法。表4-1 Resource类中的方法方法名返回类型作用getIdString返回主键字段的值updateOrDeleteURLString返回该模型删除和更新时用到的URL地址dumpvoid输出调试信息toStringString以JSON数据返回submitBoolean提交新增实例updateBoolean提交修改deleteBoolean提交删除4.3.1 创建操作创建操作的方法insert需要一个Resource类的对象作为参数,该方法会调用Resource类的getValueList()方法来得到一个需要发送的数据键值对,将数据发送到对应的地址【8】。通过

25、判断是否有新增这条数据对应的读取操作的URL来判断是否插入记录成功。具体代码如下:public static Boolean insert(Resource resource) statusCode=-999;/重置状态码if(isExist(resource.modelUrl().selectURL(resource.getId()return false;/如果该资源已存在了try /新建POST请求 Post=new Post(resource.modelUrl().insertURL();/设置POST请求的发送的键值对 Post.setEntity(new UrlEncodedFor

26、mEntity(resource.getValueList(),UTF-8);/得到请求的响应 Response res=new Default Client().execute( Post);if(isExist(resource.modelUrl().selectURL(resource.getId()return true;/再次判断资源是否存在 catch (Exception e) /异常时返回falsereturn false;return false;/默认返回false4.3.2 更新操作更新操作和创建操作很相似,区别在于更新是对已有的数据操作,不能用上面的方法来判断是否更新成

27、功。要判断返回的 响应码,对于更新如果成功会返回200【9】。具体代码如下:public static boolean update(Resource resource) statusCode=-999;/重置状态码try String id=resource.getId();/得到资源ID/新建PUT请求 Put=new Put(resource.modelUrl().updateURL(id);/设置请求的数据 Put.setEntity(new UrlEncodedFormEntity (resource.getValueList(),UTF-8);/得到响应 Response res=

28、new Default Client().execute( Put);/从响应中取出响应码statusCode=res.getStatusLine().getStatusCode();/如果响应码不是200,就说明没有更新成功if(statusCode!=200)return false; catch (Exception e) /异常时返回falsereturn false;return true;/默认返回false4.3.3 删除操作删除操作相对上面两种操作来说,要简单,因为删除只需要一个URL。得到传入的Resource的子类的资源id,生成相应的URL,发送删除请求。这里即可以通过判

29、断资源的读取操作的URL是否存在,也可以通过 响应码来判断操作是否成功【10】。相应代码如下:public static boolean delete(Resource resource) statusCode=-999;/重置响应码/新建DELETE请求Delete =new Delete(resource.modelUrl().updateURL(resource.getId();try /执行请求得到响应Response res=new DefaultClient().execute(Delete);if(res=null)/未得到响应statusCode=-1;return false

30、;/取出响应码statusCode=res.getStatusLine().getStatusCode();/如果响应码等于200,返回trueif(statusCode=200)return true; catch (ClientProtocolException e) return false; catch (IOException e) /异常时返回falsereturn false;return true;/默认返回true4.3.4 读取操作 读取操作是应用中运用最多的操作,这个方法需要接收返回的数据,因而不能简单的返回操作是否成功。该方法会返回得到的字符串,如果操作失败,会抛出IO

31、异常。具体代码如果下:public static String doGet(String url) throws IOExceptionGet=new Get(url);/新建GET请求/执行并得到响应Response res=new DefaultClient().execute(Get); String result = EntityUtils. toString(res.getEntity(); /得到返回的字符串return result;/返回字符串4.4 基础Activity对于一个应用,有的数据,只应保存一份,有的方法也是通用的。这时就应该将这些数据和方法抽到一个单独的类来作为父

32、类【11】。类AbsActivity是应用所有Activity的父类,该类包含有一些Activity之间跳转的方法。如:/返回主界面protected void goMain()startActivity(new Intent(this,MainActivity.class);/开始活动这些方法能提高程序代码的复用性和可读性,同时防止非法跳转。5 宿舍管理系统的主要功能5.1 登陆功能为了避免非管理人员使用该系统,因此带有登陆功能,系统会先判断sharedpreference中是否有用户包存的用户名【12】。有的话,会自动填入到对应的输入框,当用户点击登陆时,会生成一个验证url,格式是: :

33、/服务地址:端口/auth/用户名/密码/然后调用底层框架的isExist方法判断返回的 响应码,如果是200,则说明用户名和密码是成功的,否则提示用户名或密码错误,成功的话,将当前用户的信息包存起来,核心实现代码如果下:String tuser=user.getText().toString().trim();/得到输入用户名String tpass=pass.getText().toString().trim();/得到输入密码String tmp=tuser.replace(admin, );String url=BaseUrl.getBaseURL()+/auth/+tuser+/+t

34、pass;if(!RestClient.isExist(url)AlertMessage(用户名或密码错误!+url);elsetry build=Build.findById(tmp); catch (Exception e) AlertMessage(网络异常!!); if(build=null)AlertMessage(build is null!); elsestartActivity(new Intent(DormActivity.this,MainActivity.class); 登陆界面具有保存登陆信息的功能,界面如图5-1所示。如果用户的用户名或密码输入失败,会有提示,如图5-

35、2所示。图5-1 登陆界面 图5-2 错误消息如果用户名和密码都正确,会转到主界面,主界面展示了六个图片按纽,分别是:宿舍浏览、学生查看、查找、统计信息、修改密码、系统设置。界面如图5-3所示。图5-3 主界面5.2 修改密码功能为了防止密码被盗,你应该每过一段时间就修改一次密码【13】。密码修改的具体实现过程为:(1)先判断用户输入的旧密码和系统中存放的当前的用户信息中的密码是否一致;(2)再判断用户两次输入的新密码是否正确;(3)如果上面两次判断都通过了,调用宿舍楼资源的保存方法。如果保存成功,同时更新系统中存放的当前用户信息。修改密码功能的界面如图5-4所示。图5-4 密码修改界面5.3

36、 系统设置功能系统设置功能主要完成数据存储服务器地址和端口的设置。在BaseUrl类中有一个静态变量保存着服务器的地址和端口如:public static String baseUrl=10.0.2.2:3000;并提供了一个方法来修改该变量,该方法能识别有端口和无端口的 字符串,该方法的核心实现如下:/* * param hostport10.0.2.2 * param hostport 10.0.2.2:2378 */public static void setHostPort(String hostport)URL url=getBaseURL(); /得到主机String source

37、=url.getHost(); /取出ip或域名if(url.getPort()!=-1) /是否有端口source+=:+url.getPort(); /新的字符串baseUrl=baseUrl.replaceFirst(source,hostport);/替换baseUrl具体界面如图5-5所示。图5-5 系统设置界面5.4 统计信息功能统计信息统计宿舍管理员所管理的宿舍楼的综合信息。如:房间数、入住人数等。当进入该界面时,会发出请求,请求该宿舍楼的所有宿舍,并对宿舍进行数据统计,效果如图5-6所示。图5-6 统计信息界面5.5 查找功能查找功能可用来查学生信息和宿舍信息,可根据宿舍号查询

38、宿舍,查找界面在进入时会将焦点放在第一个文本输入框中。查找功能分为宿舍查询和学生查询。宿舍查询输入的格式是楼号+宿舍号:如3101、4201。如果输入的只有宿舍号会默认查询当前管理员管理的宿舍楼的宿舍。学生查询要求输入完整的学号。当点击确定时判断对应的查看资源是否存在,不存在则说明输入的学号有问题,否则查讯成功后会显示学生的详细信息。清空按钮用于清除查询输入框的数据。图5-7 查找界面5.6 学生浏览功能学生浏览功能是用来查看学生信息的。由于学生人数可能有很多,看起来会很不方便,便用班级来分组,点击不同班级的最后的查看按钮,会列出不同班级的学生的一个列表。图5-8展示的是班级列表,图5-9展示

39、的是学生成员列表。图5-8 班级列表界面 图5-9 学生成员列表界面当点击学生条目后的查看按钮后,对跳转到学生详细信息显示界面,界面效果如图5-10所示。图5-10 学生详细信息界面5.7 宿舍浏览功能宿舍浏览功能是用来查看宿舍信息的和完成对宿舍信息的管理。点击宿舍浏览功能后,会进到一个宿舍的列表,该界面显示宿舍的一些基本信息:宿舍号、几人间、入住人数、备注。点击宿舍条目后的按钮,可以查更更详细的信息,如图5-11所示。图5-11 宿舍列表界面点击新增宿舍功能,可以增加新的宿舍。软件会先用软件的新宿舍的信息来构建一个新的Room,然后判断宿舍号对应的资源是否存在,如果存在则说明不能保存成功。不

40、存在,则调用Room类的save方法。如果save方法返回true ,则提交成功。新增宿舍的效果如图5-12所示。图5-12 新增宿舍界面点击宿舍列表(图5-10)条目后的按钮可查看宿舍的详细信息。在该界面还可对宿舍进行删除、修改、清空操作,如图5-13所示。图5-13 宿舍详细信息界面6 结论6.1 手机宿舍管理系统的优点手机宿舍管理系统的大致设计流程和用法如上,本软件最大的优点就是使用比较方便,该系统部署在Android手机上,能随时随地的使用,可以完成对宿舍的基本管理。同时本系统使用ActiveRecouce类似的对远程的数据请求的封装,本文认为这是本软件最大的亮点。6.2 手机宿舍管理

41、系统存在的一些不足手机宿舍管理系统只实现了一些简单的管理,一些不便在手机上操作的功能,并未提供。如:数据的导入导出,由于学生数据的数据量大,在手机上软件耗时长,任务量大。这部分工作应单独开发一个web端来完成,后续有机会的话再进行完善。因此还需要很多方面的改进。6.3 总结这个基于Android开发的手机宿舍管理系统用到了多种技术,在服务段用Rails来提供数据存储,客户端通用 来存取。在设计开始阶段,正好在学习Rails时,同时受Rails的ActiveResource的启发,决定模拟ActiveResource来实现对远程资源的访问。由于java语言是静态的,类型是在编译时就确定好的,而R

42、uby是动态的,要实现动态的子类,是很难的,因为很多方法,不好实现。在有了大概的想法后,便开始设计好数据库,然后思考模型中可能要用到的特殊方法。再完成对服务端接口的开发,在这个过程中花了很多时间了解 协议。以与用curl来调试接口。接着就是android端的底层框架,就着数据和操作分离的原则,希望数据操作能尽量和界面无关,因而有的这个框架,对资源Bean的所有操作都是对远程数据的操作,不过包装得更易用户。在确保对远程数据的各种操作没问题后,就开始了对界面的开发。借鉴了网络上的一些开发模板,再调用底层框架中的方法,上层开发变得简单了许多。6.4 Android的未来前景安卓的市场前景还是很乐观的

43、,但是还不足以做到如PC上Windows系列的强势地位,本文认为主要有以下两个原因:(1)安卓系统碎片化严重,各个Android联盟厂商都有自己的Android深度定制系统。同时Android版本太多,加上Android系统有很多的分辨率,这些原因使Android很难应对其它操作系统的压力。(2)谷歌对于安卓系统没有控制力,安卓就像一批脱缰的野马不受控制。同时,谷歌也没有把安卓打造成为手机上的Windows的强大野心,野心是有的,但是还是不够强大。更加上,安卓一开始就是开源系统,谷歌为了能够吸引更多的商家而牺牲了Android的统一性。各个厂家需要自已的特异性,安卓也需要整体统一性来对抗其它手

44、机操作系统。但是,安卓的前景确实是光明的,主要是因为:(1)谷歌是世界上最具创造力的公司之一,也是开源的主要坚定支持者。(2)谷歌也正在逐步减少安卓系统的碎片化,并推出统一的UI的安卓版本。(3)安卓目前已经拥有大量的用户和初步完善的生态圈,用户已习惯的安卓。综上所述,本文认为Android会成为将来手机操作系统上的一只相当重要的力量,Android的开放使得智能手机越来越平民化。安卓将占有广大的底端市场。 辞本论文的完成,得益于农业大学计算机学院老师传授的专业知识,使本人有了完成论文和设计所需的知识积累,更得益于燕红老师的悉心指导。在这里,还要求特别感大学四年里给我诸多教诲和帮助的计算机学院的各位教师,感太红院长,白涛老师,燕红教师给予我的指导和帮助。参考文献:1 贾理华,乐燕芬,施伟斌. 基于Android平台简易即时通讯的研究与设计J. 工学院学报, 201

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁