基于安卓的二维码扫描识别系统设计论文大学论文.doc
《基于安卓的二维码扫描识别系统设计论文大学论文.doc》由会员分享,可在线阅读,更多相关《基于安卓的二维码扫描识别系统设计论文大学论文.doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、晋 中 学 院 本科毕业论文(设计)题 目基于安卓的二维码扫描识别系统设计院 系信息技术与工程学院计算机系专 业计算机科学与技术 姓 名 学 号 学习年限 指导教师 申请学位 年 月 日基于Android的二维码的生成与识别系统的设计与实现The Design and Realization of the QR CodeGeneration and Recognition System总 计:毕业设计(论文) 28页表 格: 2个图 片: 24个毕业设计(论文)网: QQ:306826066XXXX 本 科 毕 业 设 计(论文)基于Android的二维码的生成与识别系统的设计与实现The D
2、esign and Realization of the QR CodeGeneration and Recognition System学 院(系): X 专 业: X 学 生 姓 名: X 学 号: X 指导教师(职称): X 评 阅 教 师: 完 成 日 期: Xy基于Android的二维码的生成与识别系统的设计与实现软件工程 XXX摘 要 随着二维码的广泛应用和Android智能手机的进一步普及,在本文中介绍了一个通过Android平台下的摄像和绘图功能,利用二维码的编码和解码原理,通过Android手机对二维码的数据进行解析和编码,实现对二维码识别和生成的系统。关键词 Android
3、平台;二维码;二维码生成;二维码识别The Design and Realization of the QR CodeGeneration and Recognition SystemSoftware Engineering MajorXXXAbstract: Along with the wide application of planar barcode and Android smart phones further popularity. This paper introduces a camera and drawing function in the Android workben
4、ch. Using of the two dimensional barcode encoding and decoding principle, through the Android mobile phone resolve and code planar barcode to realize the dimensional barcode identification and generate system.Key words: The Android Platform;QR Code;The generation of QRCode;The recognition of QRCodeI
5、目 录1. 绪论11.1 本课题的背景11.1.1 二维码的诞生11.1.2 二维码在国外的发展11.1.3 二维码在国内的发展11.2 本课题的目的和意义22. 开发环境及关键技术32.1 Android系统架构32.2 开发环境32.2.1 ADT插件32.2.2 二维码的识别与生成开发环境42.3 关键技术42.3.1 Android五大部件42.3.2 系统的实现的关键技术52.4 可能遇到的问题63. 需求分析73.1 系统需求描述73.2 系统需求分析73.3 系统需求说明83.4 系统的可行性分析84. 系统设计94.1 系统框架设计94.2 二维码生成104.3 二维码的识别1
6、05. 编码与实现125.1 识别模块的实现125.1.1 二维码识别的功能实现125.1.2 二维码识别的界面设计145.2 生成的实现145.2.1 二维码生成功能的实现145.2.2 二维码生成选择界面设计156. 系统演示与运行186.1 系统的演示说明186.2 在Android模拟器端的运行186.2.1 该系统的欢迎界面与主功能界面196.2.2 二维码的生成演示与运行206.2.3 二维码的识别演示与运行236.3 在Android移动设备端的运行24小结25参考文献26附录27致谢281. 绪论本章通过对二维码的诞生和其发展前景的介绍,主要结合二维码的背景与自己所选该课题,对
7、课题的意义进行阐述和分析。1.1 本课题的背景1.1.1 二维码的诞生一维条码自出现以来,得到了人们的普遍的关注,发展速度十分迅速。它的使用,极大的提高了数据采集和信息处理的速度,提高了工作效率,并为管理的科学化和现在化做出了巨大的贡献。由于受信息容量的限制,一维条码仅仅是对“物品”的标识,而不是对“物品”的描述,故一堆条码的实用,不得不依赖数据库的存在。在没有数据库和不联网的地方,一维条码的使用受到了较大的限制,有时甚至变的毫无意义。另外,要用一维条码表示汉字的场合,显得十分的不方便,且效率低下。现代高新技术的发展,迫切要求用条码在有限的几何空间内表示更多的信息,从而满足千变万化的信息表示需
8、要。二维码正是为了解一维条码无法解决的问题而产生。因而它具有高密度、高可靠性等特点,所以可以用它表示数据文件(包括汉字文件)、图像等。二维码是大容量、高可靠性信息实现存储、携带并自动适读的最理想的方法。1.1.2 二维码在国外的发展手机二维码的业务类型主要有两种:一是识读,就是借助应用软件直接读出码上信息,它可以衍生出上网浏览、电子购物等多种应用;二是被读,就是由商家向手机用户发送二维码信息,通过设备识读,可作身份识别、电子凭证等之用。根据网上资料显示二维码在日本和韩国的商用分别始于2002年和2003年。短短几年的发展,截至2006年,日本使用手机二维码的用户已有6000万,二维码广告、二维
9、码名片、二维码票券就像短信那样常见;韩国市面上约有1500万部手机支持韩国第一大手机二维码提供商Iconlab的条码业务,超市里售卖的蔬菜上也贴有二维码,消费者拍摄解码后,就可以获知产品的产地等信息。由于使用二维码,给商家带来的收入非常可观,资料显示,2005年,日本的手机识别二维码应用已获得近千万美元的收入15。1.1.3 二维码在国内的发展相关资料显示,手机二维码在国内的应用也开始崭露头角:用二维码为“超女”投票、易初莲花超市印有二维码的购物袋、卓越网的二维码手机移动书店网舟咨询预测,今年手机二维码用户量将超过1000万,市场普及率将达到2%,到2008年用户数将近5000万,普及率达到9
10、%,到2009年,用户量将达到1.1亿,普及率达到28%,到2010年,用户量将突破2亿,增长率稳定在200%左右,市场普及率达到53%。网舟咨询对该业务的收入增长作出预测,今年的收入规模可达2亿元,到2008年,收入规模达到4.8亿元,2009年将进入高速增长期,2010年收入规模预计超过16亿元15。1.2 本课题的目的和意义二维码的使用已经是很普及的事情了,中国移动的广告里面有一个场景,就是买苹果的场景,一个人买苹果,拿出自己的手机,对苹果上面的二维码进行扫描,便能够知道苹果的产地和摘取过程等信息。国内二维码的应用主要出现在电子凭证、防伪溯源、平面杂志以及数字出版等领域,技术服务方面可由
11、易拍酷二维码服务平台提供。应用案例非常广泛,各大会议活动中不断出现二维码签到,杭州,成都、北京公交站牌上的二维码指引市民方便出行;二维码火车票、飞机票等均属于二维码电子凭证类别。对于二维码应用,我们不仅仅应该只是处于在广告中实现的地步,本系统结合了二维码的广泛应用和Android智能手机的普及,实现了Android手机对二维码的解析和生成,可以使那买苹果的场面不仅仅是在广告中看到。12. 开发环境及关键技术二维码识别与生成基于Android平台,使用到了Android系统的关键技术有Android的Activity、Intent等主要组件,以下内容将进行Android平台以及相应的关键技术进行
12、介绍。2.1 Android系统架构由于该课题主要是基于Android平台,所以在此就简单的介绍下Android平台的主要架构。如图21就是Google公司提出的一个架构图。图21 Android平台架构图142.2 开发环境本系统主要分为两个大的模块:二维码的生成和二维码的识别。二维码的生成主要就是基于Winnows上的开发工具Netbeans开发,用Java语言来实现,而同时又开发一个在Android平台下的二维码生成。而二维码的识别主要就是基于Android平台来开发,主要就是运用Android SDK和Eclipse共同开发,但是环境需要搭建。2.2.1 ADT插件Eclipse AD
13、T插件:Android开发工具(ADT)是一个为Eclipse IDE的,旨在为您提供一个强大的,集成的环境中构建Android应用程序的插件。 ADT的扩展Eclipse的功能,让您快速建立新的Android项目,创建一个应用程序的用户界面,添加基于Android框架API的包,使用Android SDK工具调试你的应用程序,甚至出口签署(或符号) .apk文件为了分发您的应用程序。引导项目设置与提供,以及工具的集成,自定义的XML编辑器,调试输出窗格,ADT的为您提供了令人难以置信的提高,在开发Android应用程序。2.2.2 二维码的识别与生成开发环境二维码的生成主要设计的是在电脑上运
14、行的桌面程序。通过在电脑上开发一个Java程序来生成二维码。其开发环境主要如下表:表21 Windows平台上开发使用的环境需求名称平台及工具开发工具Net beans优化工具Photoshop开发语言Java运行环境Windows XP+JDK测试环境Windows XP+JDK二维码的识别和生成是在Android平台上的开发的,并使用Eclipse IDE工具进行开发的。Eclipse IDE安装ADT插件搭建了很好的Android开发平台,方便与编程。至于识别的功能要用到摄像头,虚拟机上面是没有摄像头的,这就需要有真机进行二维码的识别测试。Android平台开发环境如下表:表22 And
15、roid平台开发使用的环境需求名称平台及工具开发工具Eclipse、Android SDK、测试机优化工具Photoshop开发语言Java运行环境Android平台测试环境Android平台2.3 关键技术2.3.1 Android五大部件1、活动(Activities)一个活动表示一个可视化的用户界面,关注一个用户从事的事件。例如,一个活动可能表示一个用户可选择的菜单项列表,或者可能显示照片连同它的标题。一个文本短信应用程序可能有一个活动,显示联系人的名单发送信息;第二个活动,写信息给选定的联系人;其他活动,重新查看旧信息或更改设置。虽然他们一起工作形成一个整体的用户界面,但是每个活动是独
16、立于其他活动的。每一个都是作为Activity基类的一个子类的实现。2、服务(Services)一个服务没有一个可视化用户界面,而是在后台无期限地运行。例如一个服务可能是播放背景音乐而用户做其他一些事情,或者它可能从网络获取数据,或计算一些东西并提供结果给需要的活动(activities)。每个服务都继承自Service基类。3、广播接收者(Broadcast receivers) 一个广播接收者是这样一个组件,它不做什么事,仅是接受广播公告并作出相应的反应。许多广播源自于系统代码,例如公告时区的改变、电池电量低、已采取图片、用户改变了语言偏好。应用程序也可以发起广播,例如为了他其他程序知道某
17、些数据已经下载到设备且他们可以使用这些数据。4、内容提供者(Content providers)内容提供者(content provider)使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式。内容提供者继承自ContentProvider 基类并实现了一个标准的方法集,使得其他应用程序可以检索和存储数据。然而,应用程序并不直接调用这些方法。相反,替代的是它们使用一个ContentResolver对象并调用它的方法。ContentResolver能与任何内容提供者通信,它与提供者合作来管理参与进来的进程间的通信。5、连接
18、组件的纽带(Intent)以上4种基本组件中,除了Content Provider 是通过Content Resolver激活外,其他 3 种组件Activity 、Service 和 Broadcast Receiver 都是由Intent异步消息激活的。 Intent在不同的组件之间传递消息,将一个组件的请求意图传给另一个组件。因此, Intent是包含具体请求信息的对象。针对不同的组件,Intent所包含的消息内容有所不同,且不同组件的激活方式也不同, 且不同类型组件有传递 Intent的不同方式。Intent 是一种运行时绑定(runtime binding)机制,它能够在程序运行的过
19、程中连接两个不同的组件。通过Intent,你的程序可以向Android表到某种请求或者意愿,Android 会根据意愿的内容选择适当的组件来处理请求。2.3.2 系统的实现的关键技术1、摄像头操作,识别功能主要应用技术就是对摄像头的调用,能够使用摄像头来自动对焦,使用多线程来对摄像头捕获到的图像进行提交是关键的技术。2、多线程的调用,使用多线程来对摄像头捕获到的图像进行提交给二维码解析器,是使识别时间降低的主要机制,运用多线程的提交,能够在更快的时间内识别用户需要识别的二维码。3、绘画的调用,在二维码的生成功能里面使用到了Android的绘图功能,是用相应的功能包将要转换的字符串转换成二维码字
20、符串,对输出的二维数组进行解析,按照排码规范使用Android的绘图功能,将二维码绘画出来。2.4 可能遇到的问题基于Android平台下的二维码的识别与生成软件可能遇到的问题如下:1、界面问题对于手机上的应用,布局的合理与开发的人性化使得软件的欢迎度有很大的区别,一个漂亮的布局会吸引多数用户,前提是功能的实现,在功能相同的情况下当然是界面好看的会受到大家的欢迎。2、摄像头调用问题软件的识别要进行摄像头的调用,要对摄像头部分进行相应的了解,另外应对与用户的需求来说,时间观念要充实,应该启用多线程来进行识别的摄像头的调用,摄像头自动对焦问题,还有识别后预览的图像传递的问题。3、数据量大小问题二维
21、码的容量是有限的,如果书写的内容过多的话,就会产生生成错误的二维码的错误流,对于二维码方面的生成容量问题应该好好的解决。同时Android平台的资源是有限的,解析时需要将摄像头扫描到的大量图像数据向后台进行传输,这会消耗很多资源。4、生成和识别中的若干问题二维码的生成是将字符串转换成图像,这个过程要通过二维码的编码原理来进行转换,其中的转换可能会存在未知问题。识别的时候使用解析后台进行图像的解析,数据量会比较大,解析过程的时间复杂度比较大,可能会出现不可预知到问题。本章中提到关键技术是Android的核心技术,我会在编码和实现之前对以上提出的关键技术进行学习了解,工欲善其事必先利其器,先将自己
22、充实起来。通过对Android的学习,增加了我对上节提出来可能遇到的问题解决的信心,我相信在后面的编码和实现中,我会通过很好的利用网络资源和自己学习的积累对克服存在的问题的。273. 需求分析经过前面章节内容的介绍,在本章中将对二维码的生成和识别的需求分析进行阐述。主要包括系统需求概述、系统需求分析、系统的可行性分析。3.1 系统需求描述现在二维码是越来越流行,当然人们对二维码也越来越感兴趣。出于对二维码的好奇,很多人都开始研究二维码。人们不断的提问,二维码到底是怎么生成和识别的呢?我想很多的人都不知其中的原理。而在本论文中主要介绍的就是二维码的生成和识别。对于二维码的生成与识别提出如下需求:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 二维码 扫描 识别 系统 设计 论文 大学
限制150内