已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号: 毕业设计说明书题 目:基于Android的仪器管 理系统App设计与实现 学 院: 信息与通信学院 专 业: 电子信息工程 学生姓名: 黄 晖 学 号: 1201120117 指导教师: 李晓欢 职 称: 副教授 题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发2016 年 6 月 10 日第II 页 共IV页桂林电子科技大学毕业设计(论文)报告用纸 摘 要随着科研投入不断增加,贵重仪器设备资源紧缺,无法满足大量研究人员的需求。高校之间实验室资源分布不均匀,仪器重复购买的情况极为普遍。再加上仪器共享信息的渠道不通畅,管理方式和管理思想落后,从而导致了仪器设备利用率低下等问题日益突出。为了提高实验室仪器的使用效率,现本人受桂林市国创朝阳信息科技有限公司委托,开发一款基于Android的实验室仪器管理系统APP,在移动平台实现对实验室仪器共享的管理。本课题的研究内容为基于Android平台的仪器管理系统设计与开发,拟采用Java语言为基础的Android Studio作为开发工具,以SDK作为开发环境。仪器管理的App设计利用了先进的互联网技术替代了传统的管理方式,给实验室研究人员提供开放共享的管理、服务信息。同时,为用户查询仪器的状况、预约及使用仪器,为仪器的效益评价提供充分可靠的技术支持,从而提高实验室仪器的使用效率。鉴于使用过程中产生的数据量不会太多,考虑用第三方的服务器LeanCloud进行存储系统基础信息。关键词:资源紧缺;利用率低;Android;仪器管理;JavaAbstractWith the increasing investment in scientific research, Lack of equipment resources can not meet the needs of a large number of developers. Laboratory uneven distribution of resources between Universities, Situation is very common instrument repeat purchase. Instrument sharing information channels are not smooth, Management mode and management thinking behind, Which leads to the low utilization ratio of instrument and equipment. In order to improve efficiency in the use of laboratory equipment, Now, I entrusted by Guilin Guochuangchaoyang information technology co., LTD., Develop an Android-based laboratory instrument management system APP, laboratory instruments to achieve shared management in the mobile internet.The research content of this paper is the design and development of instrument management system based on Android platform. It intends to use Java language-based Android Studio as a development tool to SDK as a development environment. App management instrument design takes advantage of advanced Internet technology to replace the traditional management methods, laboratory researchers to provide open shared management, service information. At the same time, for the user to check the status of the instrument, make an appointment and use of equipment, to provide adequate and reliable technical support for the evaluation of the instrument, so as to improve the efficiency of the use of laboratory equipment. Given the amount of data generated during the use of the process will not be too much, consider using third party server LeanCloud for storage system based information.Keywords: Resource shortage; Inefficient; Android; Instrument Management; Java第IV 页 共IV 页桂林电子科技大学毕业设计(论文)报告用纸 目 录引言11 设计目的和意义21.1 项目背景21.2 Android的现状21.3 系统设计意义32 Android系统和开发工具32.1 Android操作系统介绍32.1.1Android系统架构42.1.2Android应用程序组件52.2 开发工具Android Studio介绍63 系统分析73.1 功能需求分析73.2 数据库需求分析83.3 开发环境需求分析84 系统的概要设计94.1 总体设计94.2 实体-联系图104.3 数据库设计114.4 系统的设计原则145 系统实现145.1 Android客户端逻辑结构设计145.2 后台系统逻辑结构设计165.3用户界面设计和功能实现175.4 后台服务器的搭建216实验与验证246.1 用户注册模块246.2 用户登录模块246.3 主界面模块256.3.1首页模块266.3.2中心资讯模块316.3.3我的信息模块327总结33谢 辞35参考文献36附 录37第 62 页 共 55 页桂林电子科技大学毕业设计(论文)报告用纸 引言随着科研投入的不断增加,科研院所购置了大量仪器,但是大型、贵重仪器设备资源相对于大量的研究人员来说仍然紧缺。高校之间、高校学院之间以及各实验室之间资源分布难以平衡,而且仪器设备重复购买情况极为普遍。制约各高校科研发展的瓶颈不仅是大型贵重仪器和专项设备的缺乏,而更常见于仪器共享信息渠道不畅,仪器设备利用率低下甚至长期闲置,利用率低下与需求旺盛矛盾激化。因此应当采取积极的手断从而促进贵重仪器设备资源的共享,成为了解决仪器设备利用率不平衡,提高仪器设备使用效益的最佳途径。二十一世纪的今天,科技正在飞速地进步,发展速度已经远远的超出了人们的想象,我们已经步入了互联网时代,智能手机也已经普及到人们的日常生活中,它的应用也越来越广泛。在这个时代的背景下,我们可以尝试通过开发移动设备的应用程序,并结合互联网的方式,来解决仪器资源分配不均匀,利用率低下的问题。现在市面上的移动设备多种多样,它们搭载的操作系统也不同。而常见的移动设备操作系统有:微软公司推出的Windows Phones操作系统、塞班公司推出的Symbian操作系统、Google公司推出的Android操作系统、苹果公司推出的IOS操作系统等等。考虑到我们所要开发的应用程序能最大程度的提供给尽可能多的用户使用,那么我们有必要选择使用目前市场占有率最高、开放性最强的一款操作系统来对这个应用进行开发。自从Google推出Android系统以来,就存在着很明显的市场优势,市场占有份额也在飞速扩大。Android操作系统目前全球范围内正处与蒸蒸日上的开拓阶段,正所谓是如日中天,如鱼得水。据目前最新的市场调查报告显示,搭载着Android操作系统的智能手机以超过80%的销售量占据全球手机销售量的鳌头,紧追其后的则是而名扬四海、人人皆知的搭载IOS系统的苹果手机。通过上述,我们已经确定了Android系统在智能手机领域不可动摇的统治地位。又因Android系统具有很强的开发性,随着全球许多的软件开发者不断开发Android操作系统各种应用程序,可以确信有越来越多的消费者会选择购买搭载Android操作系统的手机或者平板电脑等终端设备。Android操作系统拥有开放的开发平台,免费而又繁多的应用程序,华丽、新鲜的运行界面,简单、亲切的用户体验而备受消费者的喜爱。所以,综合上述的各方面的因素,我们选择基于Android系统来对设计与开发出一款用于仪器管理平台的应用程序,为用户提供开放共享的管理、服务信息;同时,为用户查询、预约及使用,为仪器的效益评价提供充分的技术支持,便于用户的使用和管理,从而提高仪器的使用效率。1 设计目的和意义1.1 项目背景随着科研投入的不断增加,科研院所购置了大量仪器,但是大型、贵重仪器设备资源相对于大量的研究人员来说仍然紧缺。高校之间、高校学院之间以及各实验室之间资源分布难以平衡,而且仪器设备重复购买情况普遍。制约各高校科研发展的瓶颈不仅是大型贵重仪器和专项设备的缺乏,而更常见于仪器共享信息渠道不畅,仪器设备利用率低下甚至长期闲置,利用率低下与需求旺盛矛盾激化。因此积极推进贵重仪器设备资源共享,成为解决这种不平衡,提高仪器设备效益的最有效途径1。2014年10月27日,习近平总书记主持召开中央全面深化改革领导小组会议,审议通过关于国家重大科研基础设施和大型科研仪器向社会开放的意见,明确指出需通过深化改革和制度创新,把公共财产投资形成国家重大科研基础设施和大型科研仪器向社会开放,让它们更好的为科技创新服务、为社会服务。2同时教育部也对“211工程”、“985工程”等仪器共享管理的专项建设要求,纳入到国家“十一五”建设项目“高等学校仪器设备和优质资源共享系统”(CERS)中。仪器共享固然可以提高仪器使用率,减少重复投资,但同时,仪器使用人的复杂性和流动性给仪器安全造成隐患,提高了实验室的仪器管理难度和管理成本;另外,设备资源的紧缺也对仪器预约模式、计费收费结算模式提出要求。以往高校及科研院所实验平台在管理中出现的问题:(1)仪器共享信息渠道不够通畅:不少仪器使用率不高、有充分的共享条件,但许多师生却得不到相关信息,不知该去哪里寻找自己要用的仪器设备;仪器预约靠书面录入,经常出现信息交换不及时导致实验无法进行1。(2)仪器管理方式落后、运行成本高、代价大:大多数仪器单机工作,缺少人机对话能力;许多仪器分散放置,需要投入较多管理人力,实施共享的难度很大、代价很高;仪器大多使用手工管理,增加了工作量,工作效率低1。(3)仪器管理思想落后,管理机制没有理顺,缺乏必要监控手段:由于仪器自身无法判断使用者的合法性,导致某些使用者可能在缺乏监管的情况下任意使用仪器,甚至导致设备的损坏却无从查证1。1.2 Android的现状目前基于Android操作系统的应用程序处于全新的飞速发展阶段。如今,全世界各大IT厂商都拥有自己的Android应用软件研发团队,开发属于自己的Android应用软件;全世界大部分的手机生产厂商也都纷纷意识到了Android系统的优势,如国外的三星、摩托罗拉、LG、索尼、夏普等公司;国内的联想、小米、魅族、中兴、华为、OPPO等公司,前赴后继地推出了搭载Android操作系统的手机,以便在竞争极为激烈市场上占据一席之地;就连许多的家居厂商和汽车电子厂商也都表示对Android产生浓厚的兴趣,希望凭借它来打破市场的平衡。相反,十年前如日中天,连续多年独霸全球手机销量排行榜榜首的手机品牌厂商诺基亚,因为固步自封,不顺应时代的改变,坚持选择使用自己的塞班操作系统,而遭到了市场的淘汰。由此可见Android对这个互联网时代的影响力有多么强大。因为Android系统的出现,给各大知名企业带来了一种良性的竞争,这大大的提高了我们的生活质量,让我们能很好的享受科技给我们生活带来的进步。Android应用程序的开发技术并不是独立的,它需要开发者在掌握Android三层框架的同时,还必须融合Java语言和C/C+语言的编程、Android系统的通信机制、各种核心服务框架的关键机制、UI界面设计和云服务框架与其的API等技术。而且Android的操作系统绝对不局限于在手机上应用,近年以来已经快速的拓展到了相关的电子领域,例如平板电脑、车载电脑、智能手表、智能电视机、智能学习机等。Android操作系统凭借着它强大的性能,优秀的表现已经渗透了全球市场。它逐渐以移动设备操作系统的身份,逐渐转变成为一个消费电子设备操作系统。它的用户几乎遍布全球每一个家庭,前景也是一片光明。1.3 系统设计意义本课题通过综合了上述两个背景为出发点,要求设计一款基于Android平台的仪器管理系统。通过使用这个仪器管理系统,来解决高校实验室资源分布不均匀,仪器重复购买情况普遍,仪器共享信息的渠道不通畅等一系列因素而导致的仪器利用率低下的问题,同时也给高校研究人员提供一个获取仪器信息的渠道。该仪器管理系统可以把高校实验室中各种仪器设备的信息和状态展示提供到一个平台上展示出来,并且给研究人员共享了仪器设备的预约使用,用户们只需要拥有一部Android智能手机就可以实时了解实验室仪器的状态,而不必浪费时间到实验室排队等待使用仪器,这不但节省了研究人员宝贵的时间,也很方便实验室管理人员对仪器使用的管理。总而言之,基于Android的仪器管理系统是根据高校实验室的需求孕育而生的。在这仪器资源紧缺、仪器资源分配不均匀、仪器利用率低下且仪器共享信息渠道不通畅的环境下,为了提高仪器的使用效率、节约研究人员的时间、方便实验室管理员对仪器的管理,从而实现利益最大化的目的。2 Android系统和开发工具2.1 Android操作系统介绍Android是一个自由的、开放源代码的操作系统,本义指“机器人”。该操作系统基于Linux内核,由著名的美国Google公司大力推出,并对它进行领导及开发。该操作系统的身影在日常生活中随处可见,目前主要提供给移动终端设备使用,例如在我们的日常生活必不可少的智能手机、智能手表和平板电脑等很多都搭载该系统。Android目前还尚未拥有统一的中文名称,在中国大陆地区大部分人喜欢把该操作系统称呼为“安卓”或“安致”。2.1.1Android系统架构绝大多数操作系统如Windows、塞班和IOS等都使用了分层的架构,而Android的操作系统也不例外。从Android官方提供的架构图上可以看出,它的架构可由四个层来划分:第一层是应用程序层,第二层是应用程序框架层,第三层是系统运行库层,最后一层则是Linux内核层。这四层中为开发者提供一些基础功能的是底层Linux内核;其它三层则是由开发者自行开发,开发过程中大部分程序以Java语言进行编写。其基本架构如图2-1所示:图2-1 Android系统架构图(1)应用程序层应用程序层是Android的顶层,每个应用程序至少有一个活动,一般都是由多个活动组成,可以在虚拟机上运行。活动可以在不同的状态之间任意的切换,这跟电脑系统上的进程非常相似,但活动和进程起来又更为快捷灵活。值得一提的是该层中所有的代码都是使用JAVA语言编写的。(2)应用程序框架层应用程序框架层是Google核心应用所使用的API框架。在遵循框架开发原则的前提下,开发者同样能在开发自己的应用时使用应用程序框架。这对开发者能快速的开发应用程序有很大的帮助,因为可以合理利用这些框架从而简化程序开发的构架设计,并且也让用户替换程序组件带来帮助。其中核心组件包括:视图、内容提供器、通知管理器、活动管理器、资源管理器等。(3)系统运行库层在这个层中又主要分为程序库和Android运行库两大部分。在程序库中,Android系统会给不同的组件提供一些不同的库来使用,其中比较核心的库包括有:系统C库、媒体库、SGL、Surface Manager、LibWebCore、3D libraries等,这些库一般都是以C/C+的库。Android运行库包含一个核心库,这个核心库提供了很多核心技术的功能,其中包括JAVA编程语言核心库功能。每一个应用程序都运行在在各自的进程中,在运行的过程中各自都会拥有一个独立的Dalvik虚拟机实例3。(4)Linux 内核层Linux内核层给开发者提供一些基础功能,核心服务都依赖于Linux 2.6内核,其中Android的核心服务功能有内存的管理服务、系统的安全性服务、网络的协议栈服务、进程的管理服务和驱动模型服务等。2.1.2Android应用程序组件Android 应用程序中最突出的一个特点就是每个应用都由若干组件来构成。而且只要在代码中设置相应权限,各个应用程序的组件还可以相互的调用。例如:假设现在我们需要编写一个内嵌于网页的程序,那么我们并不需要亲自来编写一个浏览器,而是我们可以直接调用系统中自带的Chrome Lite浏览器组件。又假设我们编写了两个应用程序,其中一个程序中有列表显示图标的组件,那么我们在另一个应用程序中就可以通过调用的方法来使用该组件,而不需要重新再编写该功能。也就是说,不同于我们平常编写的程序,Android的应用程序的入口不是单一的,而是可以从代码的不同位置来启动。这就要依靠组件来实现。主要的组件有:(1) 活动(Activities)组件任何一个应用程序的界面都是通过Activities表现出来的。Activities界面可以由图片、文字、列表等任意一种形式表现出来,也可以是两种或多种不同的形式组合而成的。一个应用程序一般由很多个Activity界面组成。例如一个通讯录的应用程序,首先要有一个显示通讯录名单列表的Activity界面,至少还要再有一个查看联系人详情的Activity界面,如果功能更完善的话还需要拨号、编辑联系人等Activity界面。所有的活动(Activities)都是与用户交互的,活动的展示方式通常为全屏,但也有可能为小窗口嵌入等方式展示。每个活动都会有一个窗口和它相对应。整个屏幕一般都会被窗口默认填满,但那是只是默认的情况,如果开发者对它进行了修改那么也可能会以小窗口、悬浮窗口或者是额外的窗口的方式呈现。例如弹出式对话框,就是一种额外窗口的呈现方式,又例如当用户选择一个特定按钮时,会以一个弹出窗口的方式给用户显示重要的信息。(2) 服务(Services)组件服务无期限地在后台中无运行。例如一个服务可能是在用户在收听电台广播的同时,又可以去完成一些其它的事情,比如上网聊天;或者它可能正在网络中下载东西,又或者同时去完成一些其它的活动(activities)需要的计算,而且服务没有可视化的用户界面。服务(services)跟活动(activities)还有其他组件一样,在应用程序的主线程中运行。因此,它们会产生一些如广播播放的耗时任务,但是它们不会阻止和干扰其它组件或用户界面。(3) 广播接收者(Broadcast receivers)组件一个广播接收者是这样的一个组件:它不做任何事情,仅是接收广播公告并会做出相应的反应。我们常见的广播有:公告时区的改变、电量不足、已更换来电铃声、用户改变了语言偏好等,而这一类的广播来源都是源自于系统的代码。当然开发者开发的应用程序同样可以发起广播。广播接收者是一个去响应收到信息的活动,它是没有显示的用户界面的。最终广播通知通过使用闪烁呼吸灯、播放提示铃声、振动设备等多种方式去提醒用户从而获得用户的注意。例如:把一个特定的图标放在状态栏上,用户可以通过操作该图标来得到相关的通知信息,也是一种很典型很常见的广播方法。(4) 内容提供者(Content providers)组件一个应用程序的指定数据集通过内容提高者给其他应用程序提供数据。这些数据可以文件系统的形式存储、以数据库的形式存储又或者以其它任何合理的方式存储。负责给应用程序提供内容的就是内容提供者。它们将数据封装起来,并通过使用ContentResolver接口给应用程序提供数据,ContentResolver接口是一个单个接口。如果不止一个应用程序需要互相共享数据,那么就要用到内容提供者了。例如,通话记录中的数据不需要被多个应用程序同时使用,可以直接使用SQLiteDataBase方法,但是如果通话记录中的数据需要被多个应用程序同时使用,那么数据就必须存储在一个内容提供者中。2.2 开发工具Android Studio介绍2013年5月16日,美国Google公司在I/O大会上推出了一款全新的Android开发环境工具,并将它命名为Android Studio。这是一款非常使用的Android开发工具,利用这款全新的开发工具,可以让开发者看到正在编写的应用程序呈现在不同大小尺寸的显示器中的样子,这样更方便开发者去修改自己的应用。Google还对这款新开发平台的开发者控制台上增加了优化小贴士、阶段性展示和应用翻译等五个全新的基础功能,这对开发者来说一个很好且很大的改进。而Google推出并公布这款开发工具的目的无非是为了方便全球的开发者基于Android系统的项目的开发。首先Android Studio解决了多分辨率的问题。全球范围内有数不胜数的手机、平板电脑等电子设备都搭载着Android的操作系统,但这些设备都来自不同是厂商,它们的屏幕尺寸不一,分辨率也是各不相同,这款新的开发工具上,Google给开发者提供了多分辨率和多屏幕尺寸的选择,让开发者很好的掌握自己开发的应用程序在这些不同的设备上所呈现出来的样子。同时Android Studio还是一款可以适应全球环境的开发工具,它支持翻译功能,并为开发者提供了多国语言版本,但目前还没有中文版本给开发者提供下载,这对我们中国开发者来说是比较遗憾的。比起上述的改变,这款开发工具最显著的改变莫过于增加了Beta测试功能。因为有了这个功能可以让开发者很方便快捷的试运行开发的应用程序。图2-3 Android Studio开发界面3 系统分析3.1 功能需求分析该设计的实验室仪器管理系统功能主要分位客户端功能和后台管理功能两大模块。客户端功能:(1)为用户提供账号的注册功能,用户点击进入注册界面,在用户名和密码上填写正确、合法的信息即可完成账号的注册,每一个账号的用户名都是独立的;(2)用户登录功能,用户注册好账号以后,在登录界面输入正确的登录信息,如输入的信息无误,即可登录客户端;(3)仪器展示、新闻公告和规章制度的查看功能,用户可点击查看系统发布的相关信息;(4)仪器设备的预约功能,用户可对想使用的仪器设备进行提前的预约使用;(5)历史记录、使用状况等信息的查看功能;(6)使用具有管理权限的账号登录客户端,可对仪器的预约进行审核。服务器后台管理功能:管理员专用的账号和管理平台,提供管理员登录、仪器信息管理、新闻公告和规章制度管理、注册用户管理等功能。(1)管理员登录服务器管理平台,可查看注册用户的基本信息、查看用户预约仪器设备的基本信息;(2)管理员登录服务器管理平台,可管理仪器展示的基本信息,对服务器上展示仪器的数据库内容进行添加、删除、修改、查询功能;(3)管理员登录服务器管理平台,可管理新闻公告和规章制度等信息,可对服务器上发布的新闻规章信息的数据库内容进行添加、删除、修改、查询功能。3.2 数据库需求分析基于以上功能需求分析中提出的各项功能需求,从而总结得出,在数据库上需要建立用户、仪器展示、预约、中心资讯这四张数据表。这四张表所包含的信息分别是: (1)用户表:该表用来保存注册用户的各项信息,其中包含用户名,用户密码,性别、手机号码和头像等基本的信息;(2)仪器展示表:该表为仪器展示功能提供相关的信息和数据,其中包含仪器设备的名称,仪器设备的仪器图片,仪器设备的详情等所应具备的基本信息;(3)预约表:该表用来存储预约者申请使用仪器设备的各项信息,其中包含预约开始和结束时间,预约用户昵称,预约仪器名称,预约状态等详细信息;(4)中心资讯表:该表为新闻规章功能提供相关的信息和数据,其中包含新闻标题,新闻图片,新闻详情等基本信息。3.3 开发环境需求分析硬件类需求:(1)计算机一台:运行内存2G或以上,CPU双核或以上;(2)智能手机一台:运行内存512M或以上,CPU双核或以上;(3)其它。软件类需求:(1)后台服务器:LeanCloud服务器;(2)客户端开发平台:Android Studio 2.0;(3)客户端开发语言包:Android SDK + JDK1.6;(4)计算机操作系统:Windows XP操作系统或以上操作系统;(5)手机操作系统:Android操作系统;(6)其它。开发者应在有线或无线的宽带网络环境下,使用计算机进行设计和编程、使用手机运行调试的方法对应用程序进行的开发。4 系统的概要设计4.1 总体设计经过分析系统的各项需求后,明确了该系统主要分为两个端。分别是:前台客户端和后台管理端。前台客户端主要是提供用户的注册、登录、预约和相关信息的查看,后台主要是管理员对仪器展示、仪器预约,新闻发布等各项信息的管理。对该系统的总体设计如图4-1所示:客户端基于Android的仪器管理APP数据交互和逻辑处理首 页服务端我的信息用户注册中心资讯用户登录管理登录预约处理信息发布仪器展示仪器预约预约结果历史记录频率统计新闻公告规章制度个人信息软件分享退 出开始时间结束时间选择仪器个人头像手机号码用户性别图4-1 系统功能模块图客户端的主要使用对象是普通用户,分为用户登录,用户注册,主界面三大模块。使用流程为:用户注册用户登录进入主界面使用。而主界面中又分为首页、中心资讯、我的信息三个板块。首页板块主要提供给用户对仪器进行相关操作。首页中各个模块具体要完成的功能分别是:(1)仪器展示功能:提供给用户查看实验室仪器的信息;(2)仪器预约:提供用户选择开始使用时间、结束使用时间和需要预约的仪器,使客户能通过互联网对实验室的仪器设备进行预约;(3)预约结果:提供给申请仪器预约的用户查看管理员对申请的答复状况;(4)历史记录查询:提供用户对预约的历史记录进行查询;(5)频率统计:把各仪器预约使用的次数转换成百分比的形式,显示在界面中,直观的显示出各个仪器的使用效率。中心资讯板块是帮助用户了解实验室信息的一个很重要的渠道,实验室管理员通过它促进贵重仪器设备资源的共享。它需要完成的功能:提供用户查看实验室管理员发布的新闻通知、规章制度等信息,让用户随时随地了解掌握实验室的最新动态。我的信息板块提供给用户对个人的账号进行管理。主要的功能:(1)提供用户上传头像;(2)提供用户填写手机号码;(3)提供用户修改性别。服务器端后台管理模块的主要使用对象是管理员,分为管理员登录,预约信息管理,信息发布管理。它完成的功能有:(1)提供给管理员一个上传仪器信息的平台,方便管理员能够很好发布实验室仪器的状态;(2)提供给管理员一个发布新闻公告、规章制度的平台,方便管理员能够第一时间发布实验室的最新动态;(3)提供给管理员一个预约处理预约申请的平台,方便管理员处理用户对仪器设备使用的申请。4.2 实体-联系图系统管理员主要管理用户,仪器展示列表,预约审核,新闻规章类型四个方面。用户方面主要包含有用户ID,用户名、密码、用户手机号码、用户头像等属性;仪器展示主要包含仪器图片,仪器名称,仪器信息等属性;仪器预约主要包含预约用户名,预约状态,预约设备名称、预约时间等属性;新闻规章主要包含新闻标题,新闻图片、正文等属性。如下图3-2所示:用户管理员新闻规章仪器预约管理管理管理管理仪器展示用户ID用户名密码电话性别头像仪器名称仪器图片仪器信息新闻图片正文新闻标题预约用户名预约仪器名结束时间开始时间预约状态图4-2 实体-联系图4.3 数据库设计数据库的设计是为了将存放在后台数据库中的资源共享,并提供给系统页面对其数据进行显示,同时也为管理员修改、添加、删除和更新信息提供便利,因此数据表的具体的关系模型可以通过上述的实体-联系图转换而来,并将关系模型图建立成关系表,保存在数据库中。(1)新闻规章表新闻规章表具有新闻标题、新闻图片、正文等基本信息。它的属性图如图4-3所示:新闻规章表新闻标题新闻图片正文新闻ID图4-3 新闻规章属性图根据图4-3可定义出新闻规章的数据表news,新闻规章表用来保存、添加、修改和删除所有新闻规章的信息。结构如表1所示:表1 新闻规章数据表字段数据类型说明objectldString新闻IDtitleString新闻标题contentString正文picFile新闻图片(2)用户表用户表中包含用户名、密码、电话号码等必要的信息。用户的属性图如图4-4所示:用户用户ID用户名手机号密码性别图4-4 用户属性图根据图4-4可以定义出用户的数据表user,用户表用来提供给注册的用户保存所有的注册信息。结构如表2所示:表2 用户数据表字段数据类型说明objectldString用户IDusernameString用户名passwordString密码mobilePhoneNumberString手机号码sexString性别picFile头像(3)仪器展示表仪器展示表中包含了仪器名称、仪器图片、仪器详情等基本信息。它的属性图如图4-5所示:仪器展示表仪器名称仪器图片仪器详情仪器ID图4-5 仪器展示属性图根据图4-5可定义出仪器展示的数据表display,仪器展示表用来保存、添加、修改和删除所有仪器展示的信息。结构如表3所示:表3 仪器展示数据表字段数据类型说明objectldString仪器IDnameString仪器名称descString仪器详情picFile仪器图片(4)仪器预约表仪器展示表具有预约用户名、预约仪器名、预约开始结束时间等基本信息。它的属性图如图4-6所示:仪器预约预约用户名预约仪器名结束时间开始时间预约状态预约的ID图4-6 仪器预约属性图根据图4-6可定义出仪器预约的数据表record,仪器预约表用来保存所有用户预约的仪器的各种相关信息。结构如表4所示:表4 仪器预约数据表字段数据类型说明objectldString预约的IDdeviceString预约仪器名usernameString预约用户名timeString开始时间time_endString结束时间permissionNumber预约状态4.4 系统的设计原则UI界面设计原则:(1)界面干净简洁而又不简单;(2)关注内容而非修饰;(3)避免频繁使用状态对话框;(4)避免使用太过于固定和太过绝对的定位布局;(5)注重界面与用户的交互性,能给用户带来良好的使用体验。 代码设计原则:代码是一个应用的核心,代码设计好坏直接影响应用的健壮性,可读性,及可维护性,必须遵循以下的设计原则:(1)适当的为代码增加注释,包括一些方法和一些类,都必须加一些描述性的话,这样可以增强应用的可读性以及后期的维护;(2)各功能模块在编写代码时,间尽量分开来写,这有利于代码的修改和维护;(3)合理分配和使用各变量的作用域及周期;(4)变量、类、资源文件和布局的命名需要结合实际意义,尽量使用英文意思来命名,尽量避免使用中午拼音命名。5 系统实现5.1 Android客户端逻辑结构设计(1)用户注册功能,如图5-1所示:输入用户名、密码客户端将输入内容以字节流发送至客户端服务器客户端接收数据,做相应跳转图5-1 客户端注册流程图调用LeanCloud的jar包连接到数据库,将输入的用户名和密码以字节流的形式插入到后台数据库中并保存。实现功能的关键代码在附录十四中可见。(2)客户端登录功能,如图5-2所示:输入用户名、密码客户端将输入内容以字节流发送至客户端服务器用户名、密码判断客户端接收数据,做相应跳转TrueFalse图5-2 客户端登录流程图同样是调用LeanCloud的jar包连接到数据库。运用CQL语句查询数据库用户表中的用户的信息,如果登入时输入并上传到服务器的信息与数据库中所保存的信息相匹配,便可实例化一个Intent对象,实现从登录界面到应用主界面的跳转。如果信息匹配有误,则登录失败并保存在登录界面上,出现弹窗消息提示登录信息有误。实现功能的关键代码在附录一中可见。(3)仪器预约功能,如图5-3所示:选择需要预约的仪器和时间将预约请求发送至服务器服务器保存预约信息将预约消息推送给管理员进行预约处理预约用户收到预约结果图5-3 仪器预约流程图在预约仪器中添加使用一个监听器,实现onClick的方法,在判断到点击选择时间和选择仪器按键后,实例化一个Intent对象,同时跳出一个时间和仪器的选择器的画面,提供用户选择预约时间和预约的仪器设备。同理用onClick方法再次添加一个监听器,在判断到点击确定预约按键后,将预约的信息上传到服务器,实现仪器预约功能。实现功能的关键代码在附录五中可见。(4)仪器展示、历史记录、频率统计、新闻规章的查看功能,如图5-4所示:选择仪器展示Tab将请求发送至服务器服务器接收到相应请求,将相对应的数据表结果造型并返回至客户端将列表元素在客户端显示选择历史记录Tab选择频率统计Tab选择中心资讯Tab选择预约结果Tab图5-4 查看功能流程图同样是调用LeanCloud的jar包连接到数据库,将读取数据请求发送到服务器,服务器接收到请求后将数据结果回馈给客户端库,并在客户端中显示。例如:管理员在同意或拒绝预约后,数据库中将预约状态更改为已同意或已拒绝,前台页面中,就会读取到数据库中返回的预约状态。实现这五个功能的关键代码分别在附录四、附录七、附录八、附录九、附录十中可见。5.2 后台系统逻辑结构设计后台系统主要有用户信息管理,仪器信息管理,预约审核管理,新闻规章管理等。其中管理员登录和预约审核管理是在客户端完成的。(1)管理员登录管理,如图5-5所示:管理员登录向服务器发送登录请求,验证用户名和密码登录重新登录FalseTrue图5-5 管理员登录流程图管理员登录LeanCloud的管理界面,在控制台数据库中找到管理员客户端账号的ID,在客户端的代码中赋予它获得预约管理的权利。实现赋予管理权限功能的关键代码如下:public static final String ADMIN_ID = 74d0dcba157a6ba9af839940e2318639;public s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北省安陆市第一中学2025届高三物理第一学期期中教学质量检测模拟试题含解析
- 2025届江苏常熟市张桥中学高二物理第一学期期中学业水平测试试题含解析
- 辽宁省大连市普兰店区第二中学2025届物理高一上期中质量检测模拟试题含解析
- 2025届辽宁省大连渤海高级中学高一物理第一学期期中学业水平测试试题含解析
- 广西北海市2025届物理高二上期中达标测试试题含解析
- 2025届福建省泉州市安溪八中高三上物理期中检测模拟试题含解析
- 2025届广东省肇庆学院附属中学物理高二第一学期期中复习检测模拟试题含解析
- 2025届陕西省兴平市西郊中学高二物理第一学期期末经典试题含解析
- 2025届全国百强名校领军考试高二物理第一学期期末达标测试试题含解析
- 江西南康市南康中学2025届物理高二上期末质量跟踪监视模拟试题含解析
- 四川省成都市2024-2025学年八年级上学期期中考试英语试卷(四)
- 大学生就业指导(第2版)教学课件10
- 【课件】跨学科实践:探索厨房中的物态变化问题+课件人教版(2024)物理八年级上册
- 《马克思主义发展史》题集
- 2024译林版英语初一上单词默写表
- 五年级上册心理健康教育课件-如何对待父母的唠叨 全国通用(共15张PPT)
- 国家开放大学《管理英语1》边学边练参考答案
- 清产核资基础报表(模板)
- 钢结构连廊施工方案(完整版)
- 晋江市磁灶镇总体规划(2030)之产业专项规划
- 商业综合体消防检查标准
评论
0/150
提交评论