《毕业设计(论文)-二维码识别技术在智能生活小区项目中的应用.docx》由会员分享,可在线阅读,更多相关《毕业设计(论文)-二维码识别技术在智能生活小区项目中的应用.docx(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本科毕业设计论文 题 目 二维码识别技术在智能生活小区项目中的应用专业名称 软件工程 学生姓名 * 指导教师 姚烨 赖航 毕业时间_2016年6月_摘要新世纪正在到来,高新科技已经取得了日新月异地发展。随着信息时代的来临,计算机技术,通信技术,现代化高科技建材,以及控制技术的发展极大地促进了人民生活质量的增加,从生活的各个方面和领域影响着人们的生活。对于我国大部分居民而言,近乎一半的时间都要在房屋中度过,因此住宅建筑的发展也受到了严重的冲击。传统的建筑已经不能满足人们“安全,舒适,方便”的生活需求,智能化住宅小区,即通过多元信息处理、传输、监控、管理以及系统集成等一系列智能化的手段提高居住者的
2、生活质量的住宅,正在蓄势待发。而且近几年,我国信息化和自动化管理得到了飞速的发展,在此带动下,信息数据自动采集的方式也变得尤为重要,因此作为能够实现此功能的二维条码技术在中国就得到了迅速的推广和应用。基于上述背景,本论文由用户需求入手,设计并实现了一个基于Android的智能化生活小区系统。首先,本论文对智能化小区的概念、发展以及相关的理论进行了简单的论述。其次,针对所用到的Android操作系统做了简要的介绍,同时对Android的系统框架、生命周期、系统开发环境的搭建方法以及项目的创建方法做了详细的论述。然后,简述了二维码的概念及其特点,重点研究了QR码的结构和解码过程,还对系统开发中用到
3、的 Zxing 库做了相关介绍。接下来,具体介绍了E-life小区智能化在手机端所需要实现的几个功能的界面设计和操作过程,重点论述了其中两个功能模块的界面设计和编码实现的具体过程基于Android操作系统的小区邮包管理模块和小区物业通知模块,以及小区团购的二维码识别的实习方法。最后,列举了在系统测试过程中的几个典型的测试用例,统计测试结果并对测试进行小结。本文研究工作的意义表现在以下几个方面:实现了E-life智能化生活小区系统,对于以后智能化住宅的完善和普及做出了进一步的探索。完成了二维码和智能化住宅的结合,将服务和业主联系起来,为智能化小区信息的采集和检索提供了新的方法并进行了有效的尝试。
4、本项目尝试通过Bomb SDK完成部署应用后端,同时将数据存储在Bomb云数据库中,使用Web控制台实现数据的增删改查,使得开发团队的工作时间和精力大都投入到前端具体功能的开发和用户体验的提升上,对于中小型开发团队而言,极大地降低了开发成本和开发时间。关键词:E-life智能生活小区 Android操作系统 QR二维码ABSTRACT The new century is coming, high technology has been developing rapidly. With the advent of the information age, the development of
5、computer technology, communication technology, modern high-tech materials, as well as control technology has greatly contributed to improve the quality of life, from all areas of life impact on peoples lives. For most of our residents, almost half of the time to be spent in the house, so the develop
6、ment of residential buildings have also been seriously challenged. Traditional architecture can not meet people safe, comfortable, convenient life needs of intelligent residential quarters, namely through multiple information processing, transmission, monitoring, management, and system integration a
7、nd a series of intelligent means to improve the quality of life for occupants residential, we are ready to go. And in recent years, Chinas information technology and automation management has been rapid development, in this circumstance, the way information is automatic data acquisition has become p
8、articularly important, so as to achieve this function dimensional bar code technology in China has been the rapid popularization and application. Based on the background above, this paper start with the user requirements, design and implement a system of intelligent community life based on Android.
9、First, the thesis of the concept, development and related theoretical intelligence community for a simple exposition. Secondly, the use of the Android operating system, a brief introduction, while the Android system framework, the life cycle of the system to build method development environment and
10、how to create a project to do a detailed discussion. Then, two-dimensional code outlines the concept and its characteristics, focusing on the structure and process of decoding the QR code, the system is also used in the development Zxing library compatibility information. Next, a specific descriptio
11、n of the design and operation of process interface Intelligent E-life cell phone side the need to implement several functions, focuses on the specific interface design and coding process in which two functional modules implemented - based on Android OS cell parcels and residential property managemen
12、t modules notification module, cell and method of placement of buy two-dimensional code recognition. Finally, listed in the system during the test several typical test cases, test results and statistical tests summary. Significance of this research work in the following areas: It achieved a living a
13、rea of E-life intelligent systems for future intelligent residential perfection and popularity to make further exploration. It completed a two-dimensional code and intelligent combination of residential, service and owners linked to the intelligence community to collect and retrieve information to p
14、rovide a new and effective method to try. Most of the project attempts Bomb SDK deployment backed applications, while the data stored in the cloud Bomb database, using the Web console implement CRUD data so that development teams time and energy into the development of the front end of the specific
15、features and on enhance the user experience for small and medium sized development team, which greatly reduces development costs and development time.目录: E-life Intelligence Community, Android, QR code 第一章 绪论1.1 论文选题背景经济的发展和技术的进步,住宅和办公建筑环境的现代化成为了必然趋势。在更高的住宅要求下,舒适,安全,方便快捷的并具有能够兼容信息化社会的各种信息设备和手段的智能生活住
16、宅,才能够更好的满足城市居民的需求。智能化住宅是在现代智能化建筑环境内的系统集成中心。智能住宅的概念最早是由美国提出来的:智能住宅是通过优化器结构、系统、服务、管理四个基本要素及其相互关系来提供一个多产的、成本低廉的环境。欧洲定义为“一种可以使住户有最大效率环境的建筑,同时该建筑可以使之有效的管理资源,而在硬件和设备方面的寿命成本最小”。根据2007年7月1日中华人民共和国建设部颁布的智能建筑设计标准GB/T50314-2006,智能建筑是以建筑物为平台,兼备信息设施系统、信息化应用系统、建筑设备管理系统、公共安全系统等、集结构、系统、服务、管理及其优化组合为一体,向人们提供安全、高效、便捷、
17、节能、环保、健康的建筑环境。而我们所说的智能生活小区是对具有一定智能化程度住宅小区的统称。经济和信息化社会的发展,使得人们去考虑住宅的舒适性、便利性、安全性和高效性,要求生活小区能够为住户提供安全服务、信息服务及家庭智能化等功能。智能化生活小区的发展是随着智能化技术的发展以及人们对生活标准需要的不断增长而增长和完善,可持续发展是小区智能化的一个重要特性。作为商家与客户之间的连接媒介、社会数据信息采集最为快捷方便的方式之一,二维码在各种信息化设备中早已屡见不鲜。这是最新的条码技术,是在一维条码技术的基础之上发展起来的一门集信息编码、信息传递、图像处理、数据加密等技术于一体的综合性技术。二维码最早
18、出现于20世纪80年代,一维条码具有携带信息量过少、无法纠错等不足之处,为了解决这些问题,二维码应运而生。目前,二维码技术在世界各国包括我国发展迅猛,在越来越多的领域发挥着越来越重要的作用。因此我们在此次项目中会将二维码识别技术应用到E-life智能生活小区系统中。大学课业学习中,“服务科学与工程概论”和“电子服务技术基础”两门课程的项目大作业分别完成了主要用于物业缴费“物业宝”和包括小区停车车位管理、小区论坛管理等功能在内的“E服务”。因此在智能小区相关功能实现有一定经验的基础上,毕业设计项目方面将会就智能生活小区的功能进行更为全面的丰富。1.2 论文选题意义 智能建筑,特别是智能化住宅小区
19、在工程实践中的应用已经相当普遍。但是作为一种新兴的建筑产品,智能化小区所包含的内容其实远远落后实践应该达到的程度,这就导致了现代智能住宅只是名义上的住宅,使得开发的小区智能化系统功能良莠不齐,在很大程度上影响了智能化小区在我国的健康发展。本次毕业设计项目E-life智能生活小区系统将会实现用户管理模块、小区资讯模块、物业通知模块、邮包提醒模块、小区服务模块、小区团购模块、小区话题模块、周边优惠模块和物业缴费模块这九个模块的功能,并在小区团购模块中添加二维码识别功能。本次论文将通过项目的实现将进一步探索并丰富现代化智能生活小区这一大框架目标下的实现形式,将所论述到的消息提醒,资讯传播和缴费系统等
20、功能完善到这个框架下。所谓智能化生活小区是现代城市居民对小区提出的舒适性,便利性和高效性的要求下的产物,而E-life智能生活小区系统就是在对小区住户提供信息服务,安全服务等功能,促进人们对生活标准的要求不断提高,并使智能化生活小区系统功能更加完善。1.3 国内外研究现状1.3.1国外研究现状国外的条码思维起源于20世纪20年代,开始发展条码思维的目的是想寻求更为高效的商品信息管理办法,随着时间的推移,发现一维条码的容量很有限,本着寻求比一维条码容量更大的编码方法,二维码顺应时代的潮流而得到研究。准确意义上来讲,二维码的诞生始于1987年,当时美国一家名为Intermec的公司发明了二维码,即
21、后来所谓的Code49条码,是目前能够追溯到的二维码最早发源地,以后30年间,特别是最近10年,得益于网络通信的高速发展和智能手机的出现,二维码得到长足的发展与研究仅仅时隔一年,在1988年,Ted Willianms发明了另外一种二维码,取名为Code49码,一年之后,美国的资料公司则发明了与之前完全不同机理组成的二维码,取名为Data Matrix码,后来被人们称之为矩阵式二维码,先前提出的Code49码和Code16K码称之为堆叠式二维码。两年之后,Dr.Ynjiun P.Wang又提出了一种二维码,名称为PDF417码,其属于堆叠式二维码的范畴,在1994年,二维码迎来了它的新高度,即
22、日本DENSO WAVE企业提出的QR Code编码方式,也是目前应用最广,前景最好的二维码。 1.3.2国内研究现状在国内,二维码技术的研宄虽然没有国外早,但也是紧随其发展的脉搏,在二维码发明不到年的时间,在1993年,中国也对国外一些知名的二维码进行跟踪和研究,通过参考国外的标准,很快就提出了国内二维码编码的标准,分别是一九九七年颁发的714条码标准和两千年颁发的QR码标准。中国自己也发明了几种二维码,例如二零零三年,中国贝龙公司发明了名为龙贝的编码规则,后来取名为LPCode。后来中国腾讯公司的即时通讯软件产品“微信”的持续发展,使得二维码不断被更多的人们使用,使用范围不断扩大,而这良好
23、的发展前景使得二维码一定会逐步取代传统的条形码。鉴于此,二维码的数据量,保密性,精确性就成了重中之重,国内专家学者和公司在这些影响二维码推广普及的重要因素方面都在做着积极的研究。虽然经过多年的深入研究,二维码技术在美国、日本这些使用起步较早的发达国家,已得到广泛普及和使用,成为一种相当完善实用的技术,但在中国,即使二维码技术已经运用到了商品的标识方面,其实对于QR二维码的研究与应用还是蹒跚学步,二维码技术在市场的应用和受众的推广方面还有相当大的发展空间。将二维码作为商品标识和商品信息记录的载体,将会更为安全可靠。因此,将二维码技术与智能生活小区的团购系统相结合的二维码识别系统在今后智能生活小区
24、的建设中必将发挥更为重要的作用,对于智能生活安全性的发展必将做出巨大的贡献。1.4 论文的工作及整体结构本毕业论文研究的课题来源于本人在计算机电子服务的两门课程设计主题的延续,继续深入讨论基于Android操作系统的智能生活小区系统的相关功能。在论文撰写之前,我阅读了大量的关于智能生活小区的发展方面的论文和周刊,并深入学习了有关Android技术的编程基础,下载JDK+eclipse,并配置了相关的软件开发环境。同时,在项目开始之前,编码实现了“流量监测系统”,熟悉了Android系统设计的流程。查阅了关于基于android平台的二维码识别的设计方法,完成了此论文的撰写,以下是本论文的整体组织
25、结构。第一章为本论文的绪论部分,这部分主要介绍了本课题即智能生活小区的选题背景、选题意义,分析了二维码识别技术的研究水平和现状,确定了本论文的主要论述内容和章节安排。第二章为本论文相关的技术介绍,主要论述了Android平台的系统框架,详细描述了Android开发环境的搭建过程,Android项目工程的创建方法以及Android生命周期。第三章为本论文的系统设计说明,具体论述了e-life智能生活小区的需求分析和各个模块的和功能描述界面描述。第四章为本论文的系统实现说明,首先对Bomb后端云的原理和使用方法做了简要的介绍,然后论述了BombSDK下载和初始化的方法,Bomb对数据的增删改查的编
26、码方式。出于邮包管理和物业通知的系统实现只有在Bomb对数据使用方面的不同,在全面介绍Bomb入门方法之后,只详细论述了物业通知系统的实现方法。最后对调用ZXing包实现QR二维码扫描的方法做了简要的表述。第五章为本项目的系统测试,记录了e-life智能生活小区系统中由本人负责完成的三个功能的系统用例,系统测试结果统计和系统测试小结。第2章相关技术综述2.1 Android系统2.1.1 Android简介Android是一种以Linux为基础的开源操作系统,它的主要使用对象是便携设备,比如手机,平板电脑等。Android采用了分层的系统架构模式,即主要分为四层,分别是Linux内核层、系统运
27、行库层、应用程序框架层、应用程序层。Android的发展日新月异,如今的开发者已经可以选择自己熟悉的编程语言来对安卓应用程序进行开发,而不再有Android只有雏形的时候,那种程序员只能够使用Java编程语言对Android应用程序进行开发的单一情况。因此受到了众多程序员、开发者的热烈欢迎,这开放的操作系统也使得后来Android王国精彩纷呈,不断创新直至奠定了手机操作系统霸主的地位。2.1.2 Android系统构架与生命周期 (1)Android系统构架Android的平台是采用了软件堆层(Software Stack),又称为软件叠层的架构,主要分为四个部分:以Linux核心为基础的底层
28、,并包含各种驱动,只提供基本功能。包括了程序库(Libraries)和Android运行时环境的中间层。再往上一层是Android提供的应用程序框架。最上层是各种应用软件,包括通话程序、短信程序等,这些应用程序由开发人员自行开发,Android平台的构架,如图2-1。图2-1 Android平台的系统构架示意 应用程序(Application):Android会附带一系列核心应用程序包,这些应用程序包包括E-mail客户端、SMS短信程序、日历、地图、浏览器、联系人管理程序等。Android中所有的应用程序都是使用Java语言编写的。 应用程序框架(Application Framework)
29、:开发者也可以访问Android应用程序框架中的API。该应用程序架构简化了组件的重用,任何一个应用程序都可以发布它的功能块,并且任何其他的应用程序都可以使用这些发布的功能块(应该遵循框架的安全性限制)。同样,该应用程序的重用机制也使用户可以方便地替换程序组件。 隐藏在每个应用程序后面的是Android提供的一系列的服务和管理器,其巾包括:丰富而又可扩展的视图(Views):包括列表(Lists) ,网格(Grids)、文本框(Text Boxes) ,按钮( Buttons),甚至包括可嵌入的Web浏览器,这些视图可以用来构建应用程序。内容提供器(Content Providers):使得应
30、用程序可以访问另一个应用程序的数据(例如,联系人数据库),或者可以共享它们自已的数据。资源带理器(Resource Manager):提供非代码资源的访问,例如本地字符串、图形和布局文件(Layout Files)等。通知管理器(Notification Manager):使得应用程序可以在状态档中显示自定义的提示信息。活动管理器(Activity Manager ):用来管理应用程序生命周期,并且提供常用的导航回退功能。 程序库(Libraries)Android平台包含一些C/C+库,Android系统中的组件可以使用这些库。它们通过Android应用程序为开发者提供服务。这些程序库主要包
31、括: 系统C库:一个从BSD继承的标准C系统函数库,它是专门为基于嵌入式Linux设备定制的。媒体库:基于PacketVideo的OpenCORE,该库支持多种常用的音频、视频格式文件的回放和录制,同时支持静态图像文件,编码格式包括MPRG4、H.264、MP3、AAC、AMR、JPG和PNG等。Surface Manager:管理显示子系统,并且为多个应用程序提供2D和3D图层的无缝融合。LibWebCore:一个最新的Web浏览器引擎,支持Android浏览器和一个可嵌入的Web视图。SGL:底层的2D图形引擎。3D库;基于OpenGL ES 1.0API实现,该库可以使用3D硬件加速或者
32、使用高度优化的3D软加速。FreeType:用于位图和矢量字体显示。SQLite库:一个对于所有应用程序可用的、功能强劲的轻型关系型数据库引擎。Android运行时环境:Android运行时环境由一个核心库和Dalvik虚拟拟机组成。核心库提供Java编程的大多数功能。每一个Android应用程序都在自已的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。它依赖于Linux内核的一些功能,例如线程机制和底层内存管理机制等。 Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对小内存的使用进行了优化,同时虚拟机是基于
33、寄存器的,所有的类由Java编译器编译,然后通过SDK中的“dx”工具转化成“.dex”格式。最后虚拟机执行。 inux内核:Android核心系统服务依赖于 Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型等。Linux内核也同时作为硬件和软件栈之间的抽象层。 (2) Android生命周期每个活动在其生命周期中最多可能会有四种状态:运动状态、暂停状态、停止状态和销毁状态。 运行状态:当一个活动位于返回栈的栈顶时,这时活动就处于运行状态。系统最不愿意回收的就是处于运行状态的活动,因为这会带来非常差的用户体验。 暂停状态:当一个活动不再处于栈顶位置,但仍然可见时,这时活
34、动就进入了暂停状态。你可能会觉得既然活动已经不在栈顶了,还怎么会可见呢?这是因为并不是每一个活动都会占满整个屏幕的,比如对话框形式的活动只会占用屏幕中间的部分区域,你很快就会在后面看到这种活动。处于暂停状态的活动仍然是完全存活着的,系统也不愿意去回收这种活动(因为它还是可见的,回收可见的东西都会在用户体验方面有不好的影响),只有在内存极低的情况下,系统才会去考虑回收这种活动。 停止状态:当一个活动不再处于栈顶位置,并且完全不可见的时候,就进入了停止状态。系统仍然会为这种活动保存相应的状态和成员变量,但是这并不是完全可靠的,当其他地方需要内存时,处于停止状态的活动有可能会被系统回收。 销毁状态:
35、当一个活动从返回栈中移除后就变成了销毁状态。系统会最倾向于回收处于这种状态的活动,从而保证手机的内存充足。 Activity 类中定义了七个回调方法,覆盖了活动生命周期的每一个环节,下面我来一一介绍下这七个方法。 on Create():这个方法你已经看到过很多次了,每个活动中我们都重写了这个方法,它会在活动第一次被创建的时候调用。你应该在这个方法中完成活动的初始化操作,比如说加载布局、绑定事件等。 on Start():这个方法在活动由不可见变为可见的时候调用。 on Resume():这个方法在活动准备好和用户进行交互的时候调用。此时的活动一定位于返回栈的栈顶,并且处于运行状态。 on P
36、ause():这个方法在系统准备去启动或者恢复另一个活动的时候调用。我们通常会在这个方法中将一些消耗 CPU 的资源释放掉,以及保存一些关键数据,但这个方法的执行速度一定要快,不然会影响到新的栈顶活动的使用。 on Stop():这个方法在活动完全不可见的时候调用。它和 on Pause()方法的主要区别在于,如果启动的新活动是一个对话框式的活动,那么 on Pause()方法会得到执行,而 on Stop()方法并不会执行。 on Destroy():这个方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。 on Restart():这个方法在活动由停止状态变为运行状态之前调用,也就是活
37、动被重新启动了。以上七个方法中除了 on Restart()方法,其他都是两两相对的,从而又可以将活动分为三种生存期,完整生存期,可见生存期和前台生存期。 完整生存期:活动在 on Create()方法和 on Destroy()方法之间所经历的,就是完整生存期。一般情况下,一个活动会在 on Create()方法中完成各种初始化操作,而在 on Destroy()方法中完成释放内存的操作。 可见生存期:活动在 on Start()方法和 on Stop()方法之间所经历的,就是可见生存期。在可见生存期内,活动对于用户总是可见的,即便有可能无法和用户进行交互。我们可以通过这两个方法,合理地管理
38、那些对用户可见的资源。比如在 on Start()方法中对资源进行加载,而在 on Stop()方法中对资源进行释放,从而保证处于停止状态的活动不会占用过多内存。前台生存期:活动在 on Resume()方法和 on Pause()方法之间所经历的,就是前台生存期。在前台生存期内,活动总是处于运行状态的,此时的活动是可以和用户进行相互的,我们平时看到和接触最多的也这个状态下的活动。Android活动生存期,如图2-2。图2-2 Android活动生存期示意2.1.3 Android开发环境搭建与项目搭建开启笔记本就想去开发Android程序显然是不可能的,选择一个好的IDE可以极大地提高程序员
39、的开发效率。而android 程序的开发,必须具备以下环境JDK、Eclipse、ADK、Android SDK以及android 虚拟机。Java编程语言所用的软件开发工具包,即JDK(Java Development Kit),是用来进行Java 程序编译的。而开源的软件Eclipse 是基于 Java的开发平台。Android 专属的软件开发工具包Android SDK(Software Development Kit)是为了给 Android 开发人员编写应用程序提供必要的开发工具和编程接口。Android 虚拟机则就是 Android 运行的虚拟设备,是在电脑上的虚拟手机,要想在电脑
40、上运行安装程序并查看效果,必须创建 Android 虚拟机。 JDK的安装:进入JDK的官方网站,下载JDK。下载结束后双击.exe,按照弹出的提示逐步安装,选择自己的安装路径,安装完成后配置环境变量。打开计算机,点击“属性”,“高级”,找到“环境变量”,从系统变量中找到path变量,然后再刚才安装的 JDK 安装盘路径下找到 bin文件夹,将此路径的信息复制到 path值前面,复制完后不要忘记添加分号,记得和后面的其他路径隔开。接下来在系统变量中找到classpath变量,并将Java程序的保存路径复制到此变量的值中,如果不存在则新建classpath变量。在“开始”搜索中运行“cmd”打开
41、命令提示符,输入java -version,点击回车,然后可以看到JDK的版本信息,表示JDK 的安装成功,如图2-3。图2-3 JDK成功安装截图 eclipse的安装:在eclipse的官网上下载最新版本的安装包,下载解压即可使用。Android SDK的安装:下载 Android SDK 包,进行解压,解压后点击“SDK Setup.exe”,点击“ Available Package”,选择安装我们所需要的 “tools”和 “Android” 版本,如图2-4。图2-4 安装Android SDK版本号选择截图 点击“Install Package”进行安装,安装结束后在用户变量中添
42、加 path 值,也就是为Android SDK中 “tools”的绝对路径。 ADT的安装:打开已经安装好的eclipse,点击菜单中“windows”,在下拉列表中选中“Android Virtual Device Manager ”,点击 “new” ,在对话框中输入自己需要创建的AVD的属性,点击OK,ADT 即安装完毕,返回到创建的页面,在页面中就多了一个AVD的名字,选中该 AVD后点击“start”即可运行。 创建虚拟机:在eclipse的工具栏中寻找新增图标,如图2-5。图2-5 eclipse工具栏新增图标截图 这三个新增加的图标中,中间的图标是用来开启Android虚拟机的
43、,当你不连接Android手机的时候,程序开发过程中就需要使用虚拟机了。点击图标,如图2-6. 图2-6 eclipse虚拟机创建界面截 点击右侧的按钮“New”创建一个虚拟机,命名为4.0,选择屏幕大小3.2英寸的手机,目标指定为Android4.0,然后进行分配手机内存和SD卡的大小,点击“OK”,创建成功后,切换到刚才的界面,选中创建的虚拟机,点击“start”,然后点击Launch,启动模拟器,如图2-7和图2-8:图2-7虚拟机参数设置界面和图2-8虚拟机界面截图 然后就可以进行项目的创建工作了。 (6)创建Android项目工程在 Eclipse 的导航栏中点击 “File”、“N
44、ew”、“Android” “Application Project”,然后弹出对话框以创建Android项目。其中 Application Name表示应用名称,此应用在手机上运行之后会在手机上显示名称,这里我们填入elife.Project Name表示项目的名称,在项目创建完成后会显示在 eclipse 中,这里我们填入elife。接着Package Name代表项目的包名我们填入com.test.elife。2.2 二维码以及相关应用技术2.2.1 二维码技术简介(1)二维码介绍二维码(2-dimensional bar code)是用一些特定几何图形按照一定的规律在平面,也就是二维方
45、向上分布的黑白的图形记录数据符号信息,同时存储大量信息,相当于一个数据信息容器。而在编制代码方面,二维码利用了计算机使用二进制存储信息的编码基础,即01码来表示图形,“1”用来表示黑色,“0”用来表示白色,并由此按照一定算法完成二维码的生成。二维条码可以在水平方向上和垂直方向上存储信息,所以相对于一维条码来说,二维码能存储更多的数据。借助图像输入设备或者光电扫描设备,自动识读二维码来实现信息自动处理,得到二维码所代表的数据信息。目前主要的二维条码有:QR Code、PDF 417、汉信码、Data Matrix等,按照原理来分,分为堆叠式和矩阵式两大类。堆叠式二维码的编码原理是建立在一维条码基
46、础之上,这种二维码是按照不同的需求将一维条码堆积成不同的行数。随着行数的增多,它的解码算法就会越复杂。属于堆叠式二维码的码制标准主要有:Code 16K、PDF 417、Code 49 等。 矩阵式二维码的编码原理是在矩形的水平和垂直方向上通过黑白像素在矩阵中的不同分布来表达不同的信息。属于矩阵式二维码的码制标准主要有:Maxi Code、QR 二维码、Code One 等。 (2)二维码的特点二维码的产生是在一维条码不能满足需求的情况下,一维条码仅能存储数字、字母信息使得其存储容量受限,为了能用较小的空间存储更多的信息所以二维条码应运而生。由二维码的符号结构可知,二维码不仅能在水平方向上存储
47、信息还能在垂直方向上存储,这使得二维码条码拥有许多一维条码所不具有的特点。二维码的特点主要有以下几点。存储容量大,编码密度高:一维条码仅能在水平方向存储信息,最多能存储几十个字节,而二维条码是在二维方向上均能存储信息,可以存储几千个字节的数据,大大提高了信息的存储容量,二维码可以用很小的一块图形符号表示大量的信息,其编码密度比一维条码高的多。 纠错能力强:一维条码无纠错能力而二维条码具有很强的纠错能力,当要读取的二维码图像有局部污损或者稍有不清晰时,利用二维码的纠错能力,同样可以正确识读信息,这使得我们可以随时扫描一些粘贴的海报,报纸等宣传材料或者屏幕中的二维码获取信息。QR 码的纠错能力分为
48、四个级别,即 L、M、Q、H,它们分别最大能纠正 7%、15%、25%、30%的错误。 编码范围广泛:由于一维条码仅能编码数字和字母信息,所以编码范围有限、存储容量也有限,而二维条码在一维条码的基础上还能编码文字、照片、音乐等信息。二维码还可以存储多种国家的文字。二维码编码的广泛性使得二维码技术在全球范围内得到广泛应用。 可引入加密机制:二维码在网络中的广泛应用使得其安全性得到了很大的威胁,好在二维码可引入加密机制,比如我们想要存储一些重要信息,可以通过加密算法对数据信息进行加密,将加密后的信息生成二维码,当扫描二维码时,得到的是加密后的密文,只有通过相应的解码算法才能得到真正的数据,这样即使二维码被别人扫描去,也只是一些密