基于Android的二维码扫描解码软件设计与实现

基于Android的二维码扫描解码软件设计与实现[20191214194810]
摘要
二维码是一种采用特定的几何图形 并在平面上按照特殊的规律分布的黑白相间的图形,它主要用于记录数据符号的存储信息。随着二维码的广泛使用以及Android智能手机的普及,研究二维码的识别和解析功能对信息产业的发展具有重要的意义。
本文在对二维码的识别体系进行阐述的基础上,设计实现了二维码扫描解码软件。本系统中识别体系分为扫描部分和解析部分,二者目的相同,都具有对收集到的二维码图片进行译码操作,并通过解析手段分析出该二维码自身所携带的信息的功能,即能够把扫描到的二维码图片通过译码解析还原成相应的字符串;除了识别功能,系统还增加了对二维码的查看功能,能使用户更加便捷的对扫描的二维码信息进行相应的处理。
本文基于二维码相关的扫描解码原理,通过对Android手机软件开发技术的剖析,成功对二维码数据进行了扫描解码操作,最终在Android系统上设计开发出一套二维码扫描识别的解析系统,实现了对二维码的扫描解码。
 查看完整论文请+Q: 351916072 
关键字:二维码;二维码识别体系;二维码扫描;二维码解析
目录
摘要 I
ABSTRACT II
第一章 绪论 1
1.1本课题的研究背景及意义 1
1.1.1 研究背景 1
1.1.2课题目的和意义 2
1.2二维码国内外发展现状 3
1.2.1二维码在国外的发展 3
1.2.2二维码在国内的发展 3
1.3论文结构安排 4
第二章 开发环境及关键技术 5
2.1 Android系统架构 5
2.2 开发环境 6
2.2.1 Eclipse简介 6
2.2.2 ADT插件和Android SDK简介 6
2.2.3二维码生成与识别的开发环境 6
2.3 关键技术及问题 7
2.3.1 Android的五大基本组件 7
2.3.2 系统实现的关键技术 8
2.3.3关键问题 8
第三章 系统需求分析 10
3.1 系统需求描述 10
3.2系统需求分析 10
3.3 系统需求说明 11
3.4 系统的可行性分析 11
3.4.1 技术可行性 11
3.4.2操作可行性 12
3.4.3经济可行性 12
第四章 系统设计 13
4.1 系统框架 13
4.2 二维码生成体系设计 14
4.3 二维码识别体系设计 14
4.3.1二维码扫描设计 14
4.3.2二维码解析设计 15
第五章 解码与实现 17
5.1 系统主体实现 17
5.1.1 二维码主体界面设计 17
5.1.2 二维码主体功能的实现 18
5.2 生成体系实现 20
5.3 识别体系实现 20
5.3.1 二维码识别界面设计 20
5.3.2 二维码识别功能的实现 21
5.3.3 二维码解析功能的实现 22
5.3.4二维码查看界面设计 25
第六章 系统演示与运行 28
6.1系统演示说明 28
6.2 模拟器端运行演示 28
6.2.1系统主功能界面 29
6.2.2二维码扫描演示 29
6.2.3 二维码图片查看演示 30
6.3设备端运行演示 31
第七章 总结与展望 33
7.1 总结 33
7.2 展望 33
致 谢 35
参考文献 36
第一章 绪论
本绪论是对二维码研究背景的简单介绍,并将二维码的背景资料与本人所选的课题的相结合,继而对本人所选课题的目的和研究意义进行简单的阐述和分析。
1.1本课题的研究背景及意义
1.1.1 研究背景
一维码由于提高了数据的采集速度和信息处理速度,因此受到人们的关注,但由于一堆条码的使用,需要依赖数据库的存在,而且只能由字母和数字组成且效率低下,因此为了提高工作效率并且更好地满足五花八门的讯息表示的需要,人们提出了二维码的概念,二维码是一种采用特定的几何图形 并在平面上按照特殊的规律分布的黑白相间的图形,它主要用于记录数据符号的存储信息,是一切信息数据的一把钥匙 。二维码具有很高的可靠性以及很高的致密性而且成本也比较低,通常用来表示文件(包括汉字文件)和图像的存储。凭借这些特点,使二维码成为了一个既能存储、携带又能自动适读的最理想的工具。
目前许多种类的二维码中,经常使用的二维码码制主要分为以下两类:
(1)堆叠式/行排式二维码:比较常见的二维码有PDF417、Code 16K、Code 49等;
(2)矩阵式二维码:最为常见的二维码便是QR Code。
图1-1 二维码结构图
如图1-1所示,对二维码各个结构细节进行简单的概述:
(1)位置检测方式,位置检测模式分隔符,定位图形:主要用于定位二维码,且每个码位置都是固定的,只有大小规格会有所不同;
(2)校正图形:用于确定二维码的规格以及对图形的数量和位置进行相应的校正;
(3)格式信息:用于校正水平二维码,分为L、M、Q、H四级;
(4)版本信息:即二维码的规格,QR二维码的符号一共有40种版本不同规格的矩阵(通常为黑白相间),而从21x21的矩阵即版本1,到177x177的矩阵即版本40,QR二维码每一版本符号比前一版本符号每边多增加了4个模块;
(5)数据和纠错码字:即保存的二维码数据信息和纠错码字。
而随着二维码越来越收到人们的关注,其应用领域也越来越广泛,如图1-2所示,二维码应用于手机软件下载和识别乘车人的身份信息,十分便捷。
图1-2 二维码应用举例
1.1.2课题目的和意义
目前,国内手机二维码业务已经逐步应用于各大行业中,手机与二维码的结合进一步拓展了二维码的应用价值,且由于二维码信息容量大,保密性能完善以及成本较低,在我国的应用前景非常广阔,特别有利于我国信息产业的快速发展。因此借由对于二维码的普遍应用和Android智能手机的广泛普及,通过学习Android系统及二维码编程操作的相关知识,提高学生实际动手能力和创新能力,利用Java语言和Eclipse编程工具来实现Android手机对二维码的生成和解析操作。
1.2二维码国内外发展现状
1.2.1二维码在国外的发展
目前,手机二维码的业务类型主要分为两种类型:一是阅读类业务,就是通过应用软件直接读取二维码信息,可以是来自于互联网,电子购物和其他应用程序;另一种是读操作,也就是经由商家的手机向用户发送二维码信息,用户通过阅读装置对该二维码进行识别,可以作为识别电子文件或电子凭证等。
国际上对于二维码识别解析技术的研究起始于20世纪80年代末期,据资料显示现如今在日本,二维码应用最常见的地方就是便利商店,经常会有白领用手机通过扫描二维码来进行商品的支付,非常方便且实用;而在德国,购物车就能显示账单,在德国的麦德龙店,你可以借由无线射频来对标注了二维码的商品进行付款。在二维条码和射频技术的使用中,只需通过进入购物车的商品就能让消费者看到直接显示的购物清单,如果想退货,则从购物车中取出该商品,就能看到在总清单上去掉了这种商品,而最后柜台结账时,消费者只需通过手机便可进行支付。在旅游方面,二维码多用于宣传当地人文景观,能使游客更便捷的了解当地的人文地理。
1.2.2二维码在国内的发展
二维码在国内起步晚于欧美等国,但近几年发展势头迅猛,目前已有八大类应用经过市场初步检验从而趋向于成熟:
(1)移动购票业务:我国第一张电子电影票是在2005年由翼码信息所推出,通过这类将传统的纸质票变为了电子票的形式,成功达到了既节省了制作成本,又提高了效率的目的。
(2)积分兑换业务:通过对手机二维码的积分兑换功能的实现,使用户随时能够提出所需的兑换要求,并可以到就近的兑换点兑换自己想要的礼物。
(3)电子VIP业务:通过用包含二维码的VIP电子卡来替代传统的实体VIP卡,使VIP客户只需通过手机扫描,就可随时随地享受快捷的服务。
(4)电子优惠券业务:电子优惠券能够直接发送到用户的手机上,使用者只需携带手机就可以享受餐饮、娱乐、旅游、购物等服务的各种折扣优惠服务。
(5)电子交付业务:通过使用电子证书来替代传统的交货凭证,二维码凭证如今已被广泛应用于实物营销、实物交割等方面。
(6)旅客自助值机业务:旅客购买电子票后,通过登录相关网站,输入身份ID和航班信息,便可以自行选择座位,自助办理登记手续完成后,旅客只需用手机在特定的自助设备上进行二维码扫描就可以换取实体的登机牌,这样一来,能够更好的使旅客体验查询、订票、登机一站式所带来的便捷。
(7)电子导诊业务:用户可以通过使用手机来进行预约挂号,凭借二维码电子凭证在预约的时间内前往医院进行取号,如此一来可以大大消减排队挂号、候诊所需的时间,为用户提供了一种新型的就医模式。
(8)电子考勤业务:主要用于通知登记会议、展览和活动,以及登记企业的参观安排等。
1.3论文结构安排
今过与导师的讨论现将本论文分成七个部分:(1)绪论部分,包括课题背景和发展现状;(2)开发坏境部分,包含Android的系统架构、开发环境、关键技术和关键问题;(3)系统需求分析,包含对系统需求的描述、分析和说明以及可行性分析;(4)系统设计,包括系统框架,二维码识别设计;(5)编码与实现,主要实现的是二维码的识别体系;(6)系统的演示,包含系统的演示说明以及在模拟器和Android手机上的运行情况;(7)总结与展望。
第二章 开发环境及关键技术
二维码生成与扫描识别基于Android平台,且利用了Java语言和Eclipse编程工具对程序进行编写,这里用到的Android系统的关键技术主要包含Android的Activity和Intent等主要的组件。
2.1 Android系统架构
由于本课题是基于Android平台开发实现的,那么在此就对Android平台的主要架构进行简单的介绍。如下图2-1所示:
图2-1 Android软件框图
这是Android的软件框图,其层次结构自下而上共分成了四个层次:
(1)操作系统层(OS);
(2)各种库(Libraries)和Android运行环境(Android Runtime);
(3)应用程序框架(Application Framework);
(4)应用程序(Application)。
2.2 开发环境
本系统主要由两大体系组成:二维码的生成体系和二维码的识别体系。两者都是基于Android平台来开发,具体是运用Android SDK和Eclipse共同开发,但是环境需要搭建。
2.2.1 Eclipse简介
Eclipse是世界著名的能够实现跨平台的自由集成开发环境,最初是由OTI和IBM 两家公司的IDE产品开发组于1999年的4月共同创建,最初主要用于对Java语言的开发。如今除了可以用作Java 的集成开发环境来使用外,Eclipse还因为其自身包含插件开发环境,使其可以扩展 Eclipse 的软件开发,从而成功拓展为其他计算机语言的开发工具。
Eclipse主要是由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目所组成,主要包含四大组成部分即Eclipse Platform、JDT、CDT和PDE。其中JDT是对Java开发的支持、CDT是C语言开发的支持、PDE是插件开发的支持,而Eclipse Platform则是一个开放的可扩展的IDE,用来为开发者提供一个通用的开发平台。
2.2.2 ADT插件和Android SDK简介
ADT插件:现如今Android系统所用的开发工具主要是Eclipse,而在Eclipse的编译环境中,安装的ADT能为Android系统开发工具提供升级或变更的功能,而ADT拥有的扩展Eclipse的功能,则能让开发者快速创立新的Android系统开发项目。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/2504.html

好棒文