安卓毕业设计设备查询系统本科设计说明(DOC 53页)

上传人:仙*** 文档编号:206630377 上传时间:2023-05-04 格式:DOC 页数:53 大小:9.73MB
收藏 版权申诉 举报 下载
安卓毕业设计设备查询系统本科设计说明(DOC 53页)_第1页
第1页 / 共53页
安卓毕业设计设备查询系统本科设计说明(DOC 53页)_第2页
第2页 / 共53页
安卓毕业设计设备查询系统本科设计说明(DOC 53页)_第3页
第3页 / 共53页
资源描述:

《安卓毕业设计设备查询系统本科设计说明(DOC 53页)》由会员分享,可在线阅读,更多相关《安卓毕业设计设备查询系统本科设计说明(DOC 53页)(53页珍藏版)》请在装配图网上搜索。

1、本科生毕业设计基于Android平台的设备查询系统设计开发论 文 题 目:毕业设计(论文)原创性声明和使用授权说明原创性声明本人重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作与取得的成果。尽我所知,除文中特别加以标注和致的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得与其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了意。作 者 签 名:日 期:指导教师签名: 日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印

2、刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。作者签名: 日 期:学位论文原创性声明本人重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文使用授权书本学位论文作者完全了解学校有关保留、使用学位论文

3、的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日注意事项1.设计(论文)的容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字

4、数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体与大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、

5、译文原文(复印件)次序装订目 录摘要1一、前言1(一)设计目标1(二)系统价值1二、系统需求分析2三、总体设计与系统结构2(一)总体设计2(二)系统结构3(三)开发工具介绍和关键技术31. Eclipse的介绍32.JCreator与Tomcat介绍53.关键技术介绍6四、系统功能设计7(一)前台管理71.注册72.用户登录83.设备查询84.用户管理85.设备管理8(二)后台管理81.注册管理92.登录管理93.设备查询管理94. 用户管理95.设备管理9五、数据库结构设计9(一)数据库逻辑结构设计9(二)数据库物理结构设计11六、系统开发与编码实现13(一)服务器端的设计-搭建java w

6、eb服务器13(二)连接数据库模块14(三)服务器功能模块141.注册模块142.登录模块153.设备查询模块154.特定用户查询模块155.查询所有用户模块156.新增设备模块16(四)客户端的设计-设计 UI界面16(五)具体功能代码实现171.注册界面172.登录界面203.学生用户设备查询界面234.管理员界面285.管理学生用户界面286.管理设备界面297.新增设备界面33七、用户体验35(一)用户注册体验35(二)用户登录体验36(三)设备查询体验37(四)用户管理体验38(五)设备管理体验38八、总 结39参考文献41ABSTRACT42附录一其它核心代码4348 / 53基于

7、Android平台的设备查询系统设计摘要: 基于web的传统设备查询应用适合在PC机上使用,难以通过移动终端随时随地的使用,而移动终端尤其是智能手机的出现使得移动应用成为可能。基于Android平台的设备查询系统能够通过Android终端实现设备随时随地的查询和管理,扩大用户的使用空间。本篇文章阐述了在Android平台下设备查询系统的设计与实现过程,其目的是让人们能够在基于Android平台的移动设备上享受快捷方便的设备信息查询服务。本系统采用C/S结构,使用Android布局技术设计页面布局,实现了用户注册、登录、查询设备信息以与管理员用户(老师)对普通用户(学生)管理和普通用户预借设备等

8、功能,并在模拟器上通过了测试。关键词:设备查询系统;Android开发;Eclipse一、前 言(一)设计目标随着信息技术的快速发展,移动互联网时代已经来临。智能手机是移动互联网时代一个标志性的客户端工具,它兼具了计算机具有强大的计算、存储能力和传统手机方便携带、移动性好的优势,同时还具有自己的操作系统,能够安装、卸载软件,可以通过移动通信网络来实现无线网络接入,可以补充甚至代替传统web的诸多功能,因此,移动终端技术必然有良好的发展前景。基于Android的设备查询系统是适应移动终端快速良好发展的具体体现, 该系统按功能的不同分为用户管理、设备管理两个部分。用户按照使用者的不同分为管理员和普

9、通用户(学生),两类用户都是使用同一个平台,只是权限不同。学生用户只能注册、查询设备信息、预借等功能;管理员拥有可以对学生用户账号进行注销,查询学生用户信息,实时更新设备信息,发布新设备等权限。(二)设计的价值就目前我国在设备管理移动客户端的开发与应用来说,这方面还不是很成熟,多数学校设备管理系统还是采用传统的人管理设备模式,致使设备与时信息得不到扩散,设备得不到充分的利用,降低了设备的应有的价值。在这种情况下,基于Android平台的设备查询系统属于一个计较新的应用。该设计能与时方便地查询设备信息、发布信息、预借设备、管理设备,做到设备信息的实时化,弥补了设备传统管理息不能实时化的缺陷。现今

10、,对于校的设备管理者和使用来说,智能手机是一个必备的物品,手机客户端这种形式的设备查询系统,能更加方便设备的管理和贴近学生的的生活,对设备的管理和充分利用起到了促进作用。二、系统需求分析大学的日常教学和生活中,学生由于学习或者生活的需要,对学校设备有较大的需求,而学校的设备在传统的人管理设备模式中往往处于闲置状态但又不能外借给学生,满足学生的需求。而这种管理模式下多半是由于设备的信息得不到与时的传播造成的。另一方面,设备的拥有方(校方)又希望设备得到充分的利用,使使用价值最大化。为了解决这个矛盾,学生和校方都希望能够让设备信息得到与时的传播,满足学生的需求和校方的期望。设备管理系统就是基于这种

11、矛盾应运而生的。该系统能够解决设备信息传播不与时的矛盾,方便设备的管理和贴近学生的的生活,具有较大使用价值。三、总体设计与系统结构为了使软件开发能够与时、顺利进行,开发人员进行了长时间艰苦的学习。现对系统的总体设计和系统结构设计与开发工具和关键技术做具体说明。(一)总体设计基于Android平台开发的设备查询系统设计的思路是:用户角色分为学生用户和管理员两类;功能包括注册、登录、设备查询、设备更新、管理普通用户(学生)共五个部分。其中系统管理中的学生用户权限包括注册、登录、设备查询、设备预借、修改个人信息四个模块;管理员的权限则是除了注册、登录、设备查询权限外,还有实时更新设备信息、管理学生用

12、户、修改个人信息等模块。从管理功能的角度来看分为前台和后台管理两大部分。后台管理模块是本系统最重要部分之一,它是系统维护和信息管理平台。根据现实需要,本系统后台管理用户有两类:管理员和学生用户。这两类用户使用的系统管理平台都是同一个平台上,只不过登陆之后根据用户的不同类型拥有相应的权限。(二)系统结构本系统总体逻辑结构为C/S结构,结构图如图2-1所示:图2.1C/S结构图(三)开发工具介绍与其关键技术1.Eclipse简介Eclipse 是一个开放源代码、基于 Java 的可扩展集成开发平台。它本身只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 自身附带了一个标准的插件

13、集。Android工程是在Eclipse工具上编写的,进行android工程的编写,首先需要在Eclipse上安装ADT插件,并且指定SDK所在的路径,便可以创建android虚拟机(模拟器)了。在Eclipse中创建虚拟机的步骤如下:(1)安装ADT插件在Eclipse单击菜单栏的Help,在Help里面选中Install NewSoftware选项,之后便可以出现如下界面:图2.2ADT安装步骤界面指定好ADT的路径后,就可以开始安装ADT插件。(2)导入AndroidSDK安装好ADT插件后,单击Eclipse菜单栏Windows下找到preperence,点击进入,得到如下界面:图2.

14、3 AndroidSDK安装界面如上图,在左边框架选项选中Android,在SDK Location下导入AndroidSDK路径,点击Apply应用,就会导入Android的各个版本。(3)创建虚拟机(模拟器)安装好ADT和导入AndroidSDK成功后,就可以在菜单栏Windows选项下找到AVD manage选项,单击进入后便有管理android虚拟机界面,在创建界面设置好虚拟机参数并确定后,就创建好了一个android虚拟机。在创建好虚拟机后,点击start按钮便可以运行选中的android虚拟机, 2.3.3系统虚拟机下图:图2.4android虚拟机视图虚拟机模拟的是android

15、智能手机的界面,通过操作虚拟机可以体验到android智能手机的大部分应用。同时模拟器是作为开发的Android应用运行的工具,他提供最基本的人机交互功能。2.JCreator与Tomcat介绍Jcreator是Xinox Software公司开发的一个用于Java程序设计的集成开发环境(IDE),具有编辑、调试、运行Java程序的功能。它分为LE和Pro版本。LE版本功能上受到一些限制,是免费版本。Pro版本功能最全,但这个版本是一个共享软件。这个软件比较小巧,对硬件要求不是很高,完全用C+写的,速度快、效率高。具有语法着色、代码自动完成、代码参数提示、工程向导、类向导等功能。第一次启动时提

16、示设置JavaJDK主目录与JDKJavaDoc目录,软件自动设置好类路径、编译器与解释器路径,还可以在帮助菜单中使用JDKHelp。图2.5 JCreatorPro版本界面视图本系统是基于C/S架构的,所以需要在JCreator上创建服务器端,利用servlet来提供服务,并将其部署在Tomcat下。需要解决的是创建不同的servlet来提供不同的服务。Tomcat是美国Apache 软件基金会Jakarta 项目中的一个核心项目。它是由Apache、Sun 和其他一些公司与个人共同开发而成。目前,Tomcat 广受程序员的喜欢,因为它运行时占用的系统资源较小,扩展性较好,还支持负载平衡与服

17、务等开发应用系统等常用的功能;同时,它还在不断的改进和完善中,程序员可以更改它或在其中加入新的功能。Tomcat 是一个轻量级应用服务器,它在中小型系统或者并发访问用户规模不大的场合下被普遍使用,受到广泛的好评,是开发和调试程序的首选。3. 关键技术介绍本软件采用java作为开发语言,Android页面布局和后台服务器数据存储是开发本软件的关键技术,用户界面的设计是否美观和合理直接影响用户体验,因此运用好布局技术是直接和用户体验相关,而数据存储技术则记录了用户所有的操作数据和用户所需要提取的数据。在Android中,UI通常使用xml技术设计,而xml中控件的位置和状态则离不开布局的使用,An

18、droid中常用的布局有五种,分别是:LinearLayout、AbsoluteLayout、RelativeLayout、FrameLayout、TableLayout,由于布局的使用,并且布局之间可以互相嵌套,使得android软件UI的设计变得非常灵活自如,非常复杂的界面设计也是通过合理的布局实现的。本系统开发采用的主要是LinearLayout布局。另外,Json数据交换技术也是本设计的关键技术之一。在服务器客户端之间的数据传输采用json数据交换格式,服务器把数据放在bilder数据流里,在客户端通过json解析出特定数据值,从而便捷地解决了服务器与客户端的数据交互。四、系统功能设计

19、本系统采用C/S模式开发,客户端和服务器端是独立分开的,这样的分开也就形成了前台管理和后台管理。前台管理注重用户的交互是否简便,后台管理注重功能的逻辑和与数据库数据交互的功能。(一)前台管理前台客户端的所有功能画出的功能流程图如下:图3.1 前台客户端流程图1.注册用户通过手机客户端主界面上的注册按钮注册新的学生用户,注册用户的信息通过服务器端和数据库连接,数据库中的用户表则会生成你注册的信息,同时在手机客户端提示注册成功。2.用户登录用户登录分为两类用户:管理员和学生用户。可以通过登录界面中选定身份登录,服务器根据登录选定的信息选择数据库中的数据表进行匹配,用户名和密码正确则登录成功。3.设

20、备查询在查询界面输入所需查询设备名称的关键字,通过服务器端查询数据库返回你所查询的设备信息,设备信息包括:设备名称、编号、是否可接、设备的地址等信息。4.用户管理用户管理模块是管理员对学生用户账号的管理,对于某些账号不使用了,比如:学生毕业等原因不再使用账号的问题,管理员有权利对这类账号进行删除,同时可以学生用户的用户名查询学生用户的信息。5.设备管理这个功能也只有管理员身份才能拥有,管理员通过此功能,可以对设备进行新增、删除功能、修改设备信息。通过这个模块,管理员可以对新增的设备进行管理,实时发布新增设备。还可以与时对设备信息与时修改,避免信息错误。(二)后台管理后台服务器端的主要任务是根据

21、接收到的客户端发送过来的请求,根据客户端不同功能模块,通过检索数据库不同表格,把检索结果返回给客户端显示给以用户,其基本流程图如下:图3.2 后台服务器端流程图1.注册管理用户注册提交:向服务器提交用户注册的信息,同时新增到数据库。 注册管理是后台的一个重要容,注册只提供学生用户的注册,这样可以保证设备馆用户权限的稳定和安全。通过注册用户,用户才能享受来自手机客户端的所有功能。通过手机客户端注册用户,来作为以后通过手机客户端登录设备馆管理系统的唯一身份认证。2.登录管理用户登录管理:根据你登录的信息向服务器发送请求,然后和数据库信息进行对比,来确认用户登录的成功与否。 登录时候,首先你必须选定

22、你的登录身份,是以学生用户还是管理员身份登录,根据你选择的不同身份,服务器向不同的数据库表来核对信息,以通过对用户信息的核对,以确定所登录的账号密码是否正确。3.设备查询管理设备查询管理主要通过设备的几个关键信息进行查询,根据设备名称向数据库提交信息进行条件检索。通过输入信息的检索,返回检索设备的基本信息,比如:设备名称、是否可接、设备的地点等。4.用户管理用户管理,是管理员根据实际需要对用户进行注销,是与数据库进行数据更新与交互的服务。5.设备管理后台的设备管理,是处理管理员把新设备添加到设备数据库表的服务,通过添加到数据库表,学生用户才能在设备查询功能中查询到新更新的设备信息。同时,对于已

23、经归还的设备要与时修改是否可借,也就是更新从设备表的相应信息。五、数据库结构设计本系统设计时采用的是SQL数据库。SQL数据库的版本是2005版。通过SQL Server Management Studio管理数据库。以Windows身份验证登陆。配置数据库:新建数据库QE,在其中创建表,分别为:student(储存学生用户信息)、administrator(储存管理员信息)、equipment(储存设备信息)、borrow(储存学生预借记录)。(一)数据库逻辑结构设计在需求分析阶段已完成该系统所有的数据分析。根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作

24、就是把前一阶段的成果转化为具体的数据库。管理员用户用户名(也就是老师的工号)、密码、四个属性,通过这两个属性来确定管理员用户的身份是否合法,其中用户名(工号)为主键,其E-R图如下:图4.1 管理员E-R图学生用户有用户名(学号)、密码、班级、属性,通过这些属性,来确认学生信息表的信息,其中主键为用户名(学号),其E-R图如下:图4.2 学生用户E-R图设备信息表,是用来存储设备的基本信息,包括设备名称、设备编号、是否可接、地址、管理员、管理员,其中编号为主键,其E-R图如下:图4.3 设备信息E-R图学生预借记录是用来储存有学生预借记录信息的,学生通过查询此表可以查到自己预借设备记录。其属性

25、有学生学号,预借设备编号、预借设备名称、预借时间点四个属性。主键Id,其E-R图如下:图4.4预借记录E-R图对于各个实体之间的关系E-R图如下:图 4.5 实体关系图(二)数据库物理结构设计依据数据库的原理,并结合以上E-R图,经过转化,即可进行数据库的物理设计。基于以上数据库的逻辑设计,考虑程序设计的简易性,同时考虑题目的时间,该系统的数据库采用SQL建立一个数据库,在其下创建4个数据表,其结构分别如下各表:表4-1 数据表清单表名说明administrator(管理员用户表)用于存储管理员信息student(学生用户表)用于存储学生用户信息equipment(设备信息表)用于存储设备基本

26、信息borrow(预借记录表)用于储存预借记录基本信息表4-2administrator表字段名数据类型长度主键备注Idint 否自动编号Idadminvarchar50是工号,管理员的登录账号Nameadminvarchar50否管理员Teladminvarchar50否管理员Passwordadminvarchar50否管理员登录的密码表4-3student表字段名数据类型长度主键备注Idint否自动编号Idstuvarchar50是学号Namestuvarchar50否学生Passwordstuvarchar50否学生密码Classstuvarchar50否班级Telstuvarchar

27、50否学生联系表4-4equipment表字段名数据类型长度主键备注Idint否自动编号ENamevarchar50否设备名称EIsenvarchar50是设备编号ESparebloom否说明设备是否可解EAddressvarchar100否设备地址ETeacherICvarchar50否该设备管理老师ETeacherICtelvarchar50否该设备管理老师表4-5borrow表字段名数据类型长度主键备注Idint是自动编号Idstuborrowvarchar50否预借学生学号Timeborrowdatetime50否预借时间点getdate()生成Isenborrowvarchar50否

28、预借设备编号Nameequipmentborrowvarchar10否预借设备名称六、系统开发与编码实现(一)服务器端的设计-搭建web服务器本软件是C/S结构的系统,因此要先搭建服务器端,利用JCreator Pro 编写servlet来提供服务,并将其部署在Tomcat下。创建不同的servlet来提供不同的服务。在JCreator Pro新建工程名myweb1,编译成的.class文件位置在tomcat服务器web1WEB-INFclasses下,web1为站点。如下图所示:图5.1 服务器端结构和servlet位置(二)连接数据库模块dbconn类是用来连接数据库和操作数据库的,并返回

29、操作执行的值。(三)服务器功能模块除dbconn类之外,其他的类都是为service提供服务,封装对数据库的操作的方法。其具体情况如下:1.注册模块注册分为学生用户注册和管理员注册。提供管理员用户注册servlet为registeradmin,重写其doPost()和doGet()方法,该servlet是用来处理管理员用户注册请求。注册的参数有Idadmin,Passwordadmin,Nameadmin,Teladmin,其url为:10.0.2.2:8080/web1/registeradmin。提供学生用户注册servlet为svlt_getdata,重写其doPost()和doGet(

30、)方法,该servlet是用来处理学生用户注册请求。注册的参数有Idstu,Namestu,Passwordstu,Classstu,Telstu,其url为:10.0.2.2:8080/web1/registerstu2.登录模块登陆分为学生用户登陆和管理员登陆。提供用户登录的servlet为Loadingadmin,重写其doPost()和doGet()方法,该servlet是用来处理学生用户的请求。登录的参数有Idadmin、Passwordadmin,其url为:10.0.2.2:8080/web1/Loadingadmin。提供用户登录的servlet为Loading,重写其doPo

31、st()和doGet()方法,该servlet是用来处理学生用户的请求。登录的参数有Idstu、Passwordstu,其url为:10.0.2.2:8080/web1/Loading。3.设备查询模块设备查询分为学生用户查询和管理员查询。提供管理员设备查询servlet为admin_saerch_equipment,重写其doPost()和doGet()方法,该servlet是用来处理管理员查询特定设备的请求。查询设备参数为EName,其url为:10.0.2.2:8080/web1/admin_saerch_equipment提供学生用户设备查询servlet为student_saerch

32、_equipment,重写其doPost()和doGet()方法,该servlet是用来处理学生查询特定设备的请求。查询设备参数为EIsendetail,其url为:10.0.2.2:8080/web1/student_saerch_equipment。4.管理员学生用户查询模块管理员查询学生用户分为查询特定用户和查询所有用户。提供特定用户查询servlet为admin_search_student_message,重写其doPost()和doGet()方法,该servlet用来处理管理员查询特定学生用户信息的请求。管理员查询特定学生用户参数有Namestu,其url为:10.0.2.2:80

33、80/web1/admin_search_student_message。5查询所有用户模块提供所有用户查询servlet为admin_search_allstudent_message,重写其doPost()和doGet()方法, 该servlet用来处理管理员用户查询所有学生用户信息的请求。因为是查询所有学生用户,所以不需要提供任何参数,只需要通过点击查询所有这个按钮便可以查询出所有,其url为: 10.0.2.2:8080/web1/admin_search_allstudent_message。6.新增设备模块提供管理员添加设备servlet为equipment_add,重写其doPo

34、st()和doGet()方法,该servlet是用来处理管理员用户发布新设备的请求。对发布的设备需要提供参数有设备名称、设备编号、设备是否可接、设备的地址,设备管理员、设备管理员参数,其url为:10.0.2.2:8080/web1/equipment_add。(四)设计安卓客户端UI界面在Eclipse安装好了ADT插件并且导入了AndroidSDK后,创建一个工程(android project),此工程是作为设备管理系统的客户端,是为大用户下载使用的,所以,该UI界面的主要要要操作性强和交互简单。Android project名称:EQ(Equipment Qury的首字母大写)我的工程

35、结构如图所示:图5.2 客户端系统结构下面就来简单说说各个class文件的功能和作用:Admin_equipment_manage.java 是管理员管理设备界面;Admin_manage_studentuser.java是管理员管理学生用户界面;Admin_message_modify.java是管理员修改个人信息界面;Admin_modify_equipment.java是管理员修改设备信息界面;Equipmentadd.java是管理新增设备界面;Loading.java 是刚启动系统主界面,可以登录或者注册;Mainadmin.java是管理员登陆成功后的主界面;Mainmessage

36、stu.java是学生用户个人信息界面;Mainsearchstu.java是学生用户登陆后主界面;Registerstu.java 是学生注册界面;Registeradmin.java是管理员注册界面; Show_history_borrow.java是学生查询预借记录界面;Stu_message_modify.java是学生修改人信息界面;Student_equipment_detailmessage.java是学生看看设备详细信息界面。(五)具体功能代码实现1. 注册界面对于一个系统的开始,首先必须的是用户的注册界面,注册模块是为了登录系统所进行的获取通行证的步骤,注册所有的信息都将提交

37、给数据库进行存储,注册的信息将作为用户在本系统进行一切活动的标识。注册界面如下:图5.3 注册界面以学生注册为例,在输入框输入注册信息,点击确定按钮便可以注册,主要代码如下:EditText idstu = (EditText)findViewById(R.id.idstu);EditTextpasswordstu = (EditText)findViewById(R.id.passwordstu);EditTextpasswordstusencond = (EditText)findViewById(R.id.passwordstusencond);EditText namestu = (E

38、ditText)findViewById(R.id.namestu);EditText telstu = (EditText)findViewById(R.id.telstu);EditText classstu = (EditText)findViewById(R.id.classstu);String Idstu = idstu.getText().toString().trim();String Passwordstu = passwordstu.getText().toString().trim();String Passwordstusencond = passwordstusenc

39、ond.getText().toString().trim();String Namestu = namestu.getText().toString().trim();String Telstu = telstu.getText().toString().trim();String Classstu = classstu.getText().toString().trim();if(Passwordstu.equals(Passwordstusencond)if(Idstu.equals()|Passwordstu.equals()|Passwordstusencond.equals()|N

40、amestu.equals()|Telstu.equals()|Classstu.equals()Toast.makeText(Registerstu.this, 注册信息请填写完整!, Toast.LENGTH_LONG).show(); elseString URL=10.0.2.2:8080/web1/registerstu; List params=new ArrayList(); params.add(new BasicNameValuePair(Idstu,Idstu); params.add(new BasicNameValuePair(Passwordstu,Passwords

41、tu); params.add(new BasicNameValuePair(Namestu,Namestu); params.add(new BasicNameValuePair(Telstu,Telstu); params.add(new BasicNameValuePair(Classstu,Classstu); new Thread(params,URL).start();else;运行到这里就要执行 Thread类了,其的代码如下:/线程class Thread extends Thread List params; String url=null;public Thread( Li

42、st params,String url) this.params= params; this.url=url;Overridepublic void run() registerResult = postData(params,url);/判定注册成功后跳转到登陆页面if(registerResult.equals(true)Message msg1 = new Message();msg1.obj = registerResult;handler.sendMessage(msg1); else Toast.makeText(Registerstu.this,注册失败!请重试, Toast.

43、LENGTH_LONG).show(); public String postData(List params,String url)String result = ;InputStream is = null;String line = null;String URL=url;try Post request=new Post(URL);request.setEntity(new UrlEncodedFormEntity(params, .UTF_8); Response response=new Default Client().execute(request);if (response.

44、getStatusLine().getStatusCode() = 200) /result = EntityUtils.toString(response.getEntity(), UTF-8);is = response.getEntity().getContent();BufferedReader read = new BufferedReader(new InputStreamReader(is);while(line=read.readLine()!=null)result = result + line; else /Log.i( Post, Post方式请求失败);result

45、= -100; catch(Exception e)e.printStackTrace();return result;执行完这个方法体后就是到了hander方法了,其代码如下: handler=new Handler()public void handleMessage(Message msg1) String panding=(String)msg1.obj; if(panding.equals(true) Toast.makeText(Registerstu.this, 恭喜!注册成功录,请登录, Toast.LENGTH_LONG).show(); Intent intent=new

46、Intent(); intent.setClass(Registerstu.this, Loading.class); Registerstu.this.startActivity(intent); Registerstu.this.finish(); else Toast.makeText(Registerstu.this, 注册失败,请重试!, Toast.LENGTH_LONG).show(); /handler的;运行到此,学生注册算是完成了。由于管理员注册和学生注册类似,因此不再说明管理员注册界面。2.登录界面登录界面作为系统的门面,登录界面完成的功能是验证所登录用户的账号是否正确,

47、以验证是否有进入系统的权限。登录界面如下:图5.4 登录界面登录界面主要为验证账号和密码的功能,登录界面分为学生用户登录和管理员登录,下面来说说主要功能的实现:点击登录按钮之后先获取账号和密码,接着判定用户的类型,根据用户的类型相向不同的serverlet发送请求,主要功能代码如下:m_RadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() Override public void onCheckedChanged(RadioGroup group, int checkedId) switch

48、(checkedId) case R.id.load_radioButton1: userleibie=student; break; case R.id.load_radioButton2: userleibie=admin; break; /Toast.makeText(Loading.this, userleibie, Toast.LENGTH_LONG).show(); ); EditText idloading = (EditText)findViewById(R.id.idloading);EditText passwordloading = (EditText)findViewB

49、yId(R.id.passwordloading);String Idloading = idloading.getText().toString();String Passwordloading = passwordloading.getText().toString();/判定用户类别后跳转到相应的主界面if(userleibie.equals(student)/Toast.makeText(Loading.this, 用户类别:+userleibie, Toast.LENGTH_LONG).show();String URL=10.0.2.2:8080/web1/Loading; Lis

50、t params=new ArrayList(); params.add(new BasicNameValuePair(Idstu,Idloading); params.add(new BasicNameValuePair(Passwordstu,Passwordloading); new Thread(params,URL).start();else if(userleibie.equals(admin)String URL=10.0.2.2:8080/web1/Loadingadmin; List params=new ArrayList(); params.add(new BasicNa

51、meValuePair(Idadmin,Idloading); params.add(new BasicNameValuePair(Passwordadmin,Passwordloading); new Thread2(params,URL).start();服务器根据传送过来的数据检索用户名是否存在,密码是否正确,如果正确则返回true,否则返回false,客户端接收到返回数据后,判定是否为true,是就进入到相应的主页,功能代码:if(LoadResult.equals(true) /System.out.println(LoadResult); EditText idloading2 =

52、 (EditText)findViewById(R.id.idloading); String Idloading2 = idloading2.getText().toString(); Intent intent=new Intent(); intent.putExtra(Idstu, Idloading2+); intent.setClass(Loading.this, Mainsearchstu.class); Loading.this.startActivity(intent); Loading.this.finish(); else Message msg1 = new Messag

53、e();msg1.obj = LoadResult;handler.sendMessage(msg1); 如果登陆成功,则跳转到主界面,如果失败,主线程就会收到message,提示登录失败,功能代码: handler=new Handler()public void handleMessage(Message msg1) Toast.makeText(Loading.this, 登录失败,请重试!, Toast.LENGTH_LONG).show(); /handler的;3.学生用户设备查询界面学生用户通过输入所需查询的设备名称时,便可以从数据库中查询到所查询的设备。需要说明的是,默认的查询

54、条件为“可借”,如果需要查询全部设备,可以选择“全部”。在没有输入任何关键字的情况下,查询结果为选择条件下的所有设备。例如,输入框没有输入任何字,条件是“可借”,那么查询的结果是显示所有可借的设备。查询“计算机”界面如下:图5.5 设备查询界面设备查询功能主要代码如下:侦听搜索按钮Buttonsearch_mainsearchstu=(Button) findViewById(R.id.search_mainsearchstu);search_mainsearchstu.setOnClickListener(new search_mainsearchstu();点击事件发生后public cl

55、ass search_mainsearchstu implements OnClickListener Overridepublic void onClick(View v) /获得搜索设备的名称并赋值给EName EditText EName_search = (EditText)findViewById(R.id.EName_search_mainsearchstu);String EName = EName_search.getText().toString();/测试获得的search_message1/Toast.makeText(Mainsearchstu.this, 查询设备的名

56、称是:+EName, Toast.LENGTH_LONG).show();String URL=10.0.2.2:8080/web1/search_message_stu; List params=new ArrayList(); params.add(new BasicNameValuePair(EName,EName);new Thread(params,URL).start();/Mainsearchstu.this.finish();把搜索请求发送给服务器,服务器返回数据,在客户端接受数据,并用jason解析,显示搜索到的结果。主要功能代码:handler=new Handler()p

57、ublic void handleMessage(Message msg) String EName_searchResult=(String)msg.obj;/obj不一定是String类,可以是别的类,看用户具体的应用 System.out.println(返回的数据是+EName_searchResult); /Toast.makeText(Mainsearchstu.this, EName_searchResult, Toast.LENGTH_LONG).show(); tryJSONArray array=new JSONArray(EName_searchResult); for(

58、int i=0;iarray.length();i+) JSONObject jsonObject=array.getJSONObject(i);ENamesearchi=jsonObject.getString(EName); EIsensearchi=jsonObject.getString(EIsen);if(jsonObject.getString(ESpare).equals(true) ESparesearchi=是; elseif(jsonObject.getString(ESpare).equals(false) ESparesearchi=否; EAddresssearchi=jsonObject.getString(EAddress); ETea

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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