收藏 分享(赏)

基于Android的二维码识别系统的研究.doc

上传人:wo7103235 文档编号:6144613 上传时间:2019-03-30 格式:DOC 页数:39 大小:1.16MB
下载 相关 举报
基于Android的二维码识别系统的研究.doc_第1页
第1页 / 共39页
基于Android的二维码识别系统的研究.doc_第2页
第2页 / 共39页
基于Android的二维码识别系统的研究.doc_第3页
第3页 / 共39页
基于Android的二维码识别系统的研究.doc_第4页
第4页 / 共39页
基于Android的二维码识别系统的研究.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、XXXX本科生毕业设计(论文)学院(系): XX 专 业: XX 学 生: XX 指导教师: XX XX 完成日期 年 月XXX 本科生毕业设计(论文)基于 Android的二维码识别系统的研究与实现Research and Implementation of QRcode Recognition System Based on Android总 计:毕业设计(论文) 31 页表 格: 5 个图 片: 20 个XXXXX 本 科 毕 业 设 计(论文)基于 Android的二维码识别系统的研究与实现Research and Implementation of QRcode Recognitio

2、n System Based on Android学 院(系): XXX 专 业: XXX 学 生 姓 名: XXX 学 号: XXX指导教师(职称) : XXX 指导教师(职称) : XXX 评 阅 教 师: XXX 完 成 日 期: 基于 Android 的二维码识别系统的研究与实现软件工程 XXX摘 要 一维条码在生产和生活的各个方面得到了广泛的应用,极大的提高了生产率,但是一维条码本身的缺点:信息量小、依赖数据库等也日益的现露出来。二维条码本身具有高容量、高密度、纠错能力强、安全强度高等特点,使得二维条码作为信息的载体在信息自动化领域发挥着越来越重要的作用。QR 码作为快速响应二维码,

3、以其独特的优势,在汉语国家发展迅速。目前,国内 QR 码的识别大多是基于 PC 的,而且对于光照不均、背景较复杂的二维码图像,其识别速度和准确度也有待提高。另外,Android 平台上当前流行的二维码识别软件普遍存在着扫描速度慢,需要精确对焦等缺点,而且大都是由国外开发。鉴于此,深入研究 QRCode 码的准确与快速识别算法及其在 Android 手机平台上的软件实现具有十分重要的意义。本课题分析研究 QRCode二维码编解码原理与图像预处理算法,根据 Android 嵌入式平台的特点,设计出一种嵌入式设备中的 QRCode 二维码别软件,具有很强的实用性。本文首先分析研究了 QR码结构的基本

4、特征、编解码理论、RS 纠错算法和二维码图像预处理算法,然后在当前预处理算法的基础上,基于 QR 码图像的特点,进行程序的编写。课题利用 Android 平台,设计出一套 QR 码的识别系统,系统首先在模拟器中运行,然后下载到手机中进行测试。最后论文给出了测试结果。关键词 Android;条码;二维码;识别Research and Implementation of QRcode Recognition System Based on AndroidSoftware Engineering Major XXXAbstract: One-dimension barcode is widely u

5、sed recent years in all aspect of life, which greatly improved the productivity. However, the faults of 1-D barcode have become increasingly apparent, the information storage of it is so little, and also it must be rely on database. Two-dimension barcode has the characteristics of high capacity, hig

6、h density, high security and good error correction ability, which make it play more and more important role in information and automation field. QRCode(Quick Response Code), as a 2-D barcode, develops rapidly in Chinese speaking countries with its unique advantages. At present, in our nation, recogn

7、ition of QRCode mostly bases on PC, and especially for QR image with uneven illumination or complicated background, the recognition speed and accuracy are not so good. Moreover, the popular barcode recognition software on android platform has some shortcomings prevalently, such as slow speed of reco

8、gnition, etc. This article studies the QRCode codec theory and barcode image preprocessing algorithms, and then puts forward some optimization algorithms based on embedded android mobile phone system, and designs a QRCode recognition system. At first, this thesis makes a deep research on QRCode feat

9、ures, codec theory, RS error correction algorithm and 2-D barcode image preprocessing algorithms. And then in the current pretreatment algorithm, and on the basis of the characteristics of the QR code based on image, the writing of the program. Then, a QRCode recognition system is implemented on And

10、roid platform. This system firstly is tested on emulator and then downloaded on HTC mobile phone. At last, thesis gives the test results.Key words:Android;Barcode;Two-dimension code;Recognition目 录1 Android 系统开发背景与意义 .11.1 Android 系统平台的出现 .11.2 Android 系统的发展 .11.3 Android 系统架构的介绍 .11.4 Android 开放系统 .

11、31.5 Android 系统的特点 .32 二维码识别系统背景介绍.32.1 二维码识别系统背景 32.1.1 二维码技术产生的背景 32.1.2 二维码分类及其特点 42.1.3 二维码技术国内外的发展 52.2 二维码技术研究的意义和应用 62.2.1 二维码技术的应用 62.2.2 二维码研究的意义 73 需求分析.83.1 系统需求分析 83.1.1 课题可行性分析 83.1.2 课题功能需求分析 93.1.3 课题功能需求分析说明 93.1.4 系统界面需求 93.1.5 系统性能需求 93.1.6 运行环境需求 93.2 系统需要解决的问题 93.3 系统关键技术分析 103.4

12、 本章总结 104 系统设计.104.1 课题需要解决的问题 104.1.1 界面布局 104.1.2 条形码二维码解码功能 104.2 系统总体设计 114.2.1 课题功能框架 114.2.2 课题总体流程图 124.2.3 数据库的概念结构设计 134.3 系统详细设计 134.3.1 系统模块设计 134.3.2 系统界面详细设计 164.3.3 数据库详细设计 164.4 本章小结 175 编码与实现.175.1 开发环境搭配 175.1.1 软件下载安装 175.1.2 配置环境变量 175.2 二维码识别系统功能实现 175.2.1 二维码识别系统界面设计 175.2.2 二维码

13、功能的设计与实现 195.2.3 查看扫描历史记录功能实现 215.2.4 分享功能实现 225.3 本章小结 226 系统测试与运行.226.1 测试目的 226.2 测试环境 236.3 测试的流程和测试 236.3.1 基于 Android 模拟器的运行测试 .236.3.2 基于 Android 移动设备的运行测试 .246.4 本章小结 27结束语.28参考文献.29附录.30致谢.3111 Android系统开发背景与意义1.1 Android系统平台的出现Android 操作系统最初是由 Andy Rubin 开发,最初主要支持手机。2005 年由Google 收购注资。并组建开

14、放手机联盟开发改良,后来 Google 公司进军移动领域,逐渐扩展到平板电脑及其他领域上。直到 2007 年 11 月 5 日,谷歌公司正式向外界展示了这款名为 Android 的操作系统,并且在这天谷歌宣布建立一个全球性的联盟组织,该组织由 34 家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成。这一联盟将支持谷歌发布的手机操作系统以及应用软件,并共同开发 Android 系统的开放源代码。这一开放平台后来被人们称之为“Android 工程”。第一款搭载 Android 系统的手机是 2008 年 9 月由 T-Mobile 发布的 G1,它拥有 GPS 功能,3.1M 摄像头,以

15、及一系列的 Google 应用。G1 的面市,正式拉开了 Google 以及整个移动业界激动人心的大冒险的序幕,Android 系统这才真正进入智能手机舞台。1.2 Android系统的发展随着 Android 平台的推出到现在的普遍推广,其发展的速度可以称之为神速。从最初的平台的发布,许多的手机巨头都看到了 Android 的巨大前景并纷纷加入 Android平台的研究与开发。后来随着 Android 各版本的相继发布及其开放性,Android 越来越受欢迎。随着 Android2.0 智能手机操作系统的正式发布,Android 已经相当的火热。随后Google 相继宣布与雅虎、亚马逊等知名

16、公司合作。截止到 2012 年,Google 相继发布了 android 系统的一系列版本,每个新的版本不但向下兼容,而且也提供了新的功能,系统更加稳定。到 2011 年第一季度,Android 在全球的市场份额首次最超越塞班系统,跃居全球第一。2012 年 2 月数据,Android 占据全球的智能手机操作系统市场的 52.5%的份额,中国占有率为 68.4%1。1.3 Android系统架构的介绍Android 操作系统是一个开源的软件平台,基于 Linux 内核,定义并实现了一套系统服务框架和图形用户接口。Android 操作系统组成如图 1-1 所示:2图 1-1 Android系统架

17、构从软件的角度来看,Android 平台由 Linux 内核、系统库、Android 运行时、应用程序框架以及应用程序共 5 部分构成。(1) Linux 内核(Linux Kernel),主要也就是操作系统的内核框架和硬件驱动。这也是 Android 平台的开放性、安全性的基础。所示就是 Linux 内核层为我们在软件层和硬件层建立的抽象层,如下图 1-2 所示:图 1-2 Android系统内核(2)Android 的系统库(Libraries),主要采用 C/C+语言编写,为 Android 系统服务提供一些底层实现和一些函数库。(3)Android 运行时(Android Runtim

18、e),主要就是提供一个 Android 虚拟机和虚拟机运行的一些类库。(4)应用程序框架(Application Framework),主要实现 Android 的系统框架和 GUI。应用程序框架层包含了视图系统、内容提供器、窗口管理器、活动管理器、通知管理器、位置管理器、资源管理器、电话管理器和包管理器 9 大部分,如图 1-3 所示:3图 1-3 Android应用框架(5)应用程序(Applications),主要就是包含 Android 的一些常用的应用程序。这些应用程序包括邮件、短信、日历、地图、浏览器、联系人管理程序等,而这些程序也是基于 Java 程序语言编写的。1.4 Andr

19、oid开放系统我们可以从上面内容中可以发现 Android 是一个包括操作系统、中间件和关键应用的移动设备软件堆。Google 的 Android 系统是一个完全开放的系统,也是一个完整的生态系统,分成了三个有机个体。(1) 源代码工程 Open Source Project(2) 开发应用 Developer(3) 市场 Market1.5 Android系统的特点由于 android 系统的这三个有机个体的综合应用,Android 系统具有 5 大特点:(1)开放性(2)应用程序无界性(3)平等条件创建应用程序(4)轻松嵌入网络(5)并行运行正是由于 Android 系统的这些特点,才使得

20、 Android 系统有了如今的发展 2。2 二维码识别系统背景介绍2.1 二维码识别系统背景2.1.1 二维码技术产生的背景条码技术自 20 世纪 70 年代初问世以来,发展十分迅速,仅仅 20 年时间,它已广泛应用于商业流通、仓储、医疗卫生、图书情报、邮政、铁路、交通运输、生产自动化管理等领域。条码技术的应用极大地提高了数据采集和信息处理的速度,改善了人4们的工作和生活环境,提高了工作效率,并为管理的科学化和现代化做出了重要贡献。二维条码技术是在一维条码无法满足实际应用需求的前提下产生的。由于受信息容量的限制,一维条码通常是对物品的标识,而不是对物品的描述。所谓对物品的标识,就是给某物品分

21、配一个代码,代码以条码的形式标识在物品上,用来标识该物品以便自动扫描设备的识读,代码或一维条码本身不表示该产品的描述性信息。因此,在通用商品条码的应用系统中,对商品信息,如生产日期、价格等的描述必须依赖数据库的支持。在没有预先建立商品数据库或不便联网的地方,一维条码表示汉字和图像信息几乎是不可能的,即使可以表示,也显得十分不便且效率很低。随着现代高新技术的发展,迫切需要用条码在有限的几何空间内表示更多的信息,以满足千变万化的信息表示的需要 3。2.1.2 二维码分类及其特点二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码。堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成;矩阵式二

22、维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1”, 用“空”表示二进制“0”,由“点”和“空”的排列组成代码。(1) 堆叠式/行排式二维码堆叠式/行排式二维条码(又称堆积式二维条码或层排式二维条码),其编码原理是建立在一维条码基础之上,按需要堆积成二行或多行。它在编码设计、校验原理、识读方式等方面继承了一维条码的一些特点,识读设备与条码印刷与一维条码技术兼容。但由于行数的增加,需要对行进行判定,其译码算法与软件也不完全相同于一维条码。有代表性的行排式二维条码有:Code 16K、Code 49、PDF417 等。其中的CODE49,是 1987 年由 David Allai

23、r 博士研制,Intermec 公司推出的第一个二维码。(2) 矩阵式二维码短阵式二维条码(又称棋盘式二维条码)它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。矩阵式二维条码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。具有代表性的矩阵式二维条码有:Code One、Maxi Code、QR Code、Data Matrix 等。除了这些常见的二维码之外,还有 Vericode 条码、CP 条码、

24、Codablock F 条码、田字码、 Ultracode 条码,Aztec条码。下图列举了国内外二维码制及符号。下图 2-1 列举了国内外二维码制及符号。5图 2-1二维码分类2.1.3 二维码技术国内外的发展国外对二维码技术的研究始于 20 世纪 80 年代末,已研制出多种码制,全球现有的一维码、二维码多达 250 种以上,到目前二维码已经是一项非常成熟的技术,其中常见的有 PDF417,QRCode,Code49,Code16K,CodeOne 等 20 余种,并有许多国家开始应用这项技术。二维码技术标准在全球范围得到了应用和推广。美国讯宝科技公司(Symbol)和日本电装公司(Dens

25、o)都是二维码技术的佼佼者。在当今生活中我们经常见到一维条码,二维条码的应用还刚刚起步,随着带摄像头的智能手机普及,二维条码的应用渐渐来到我们的日常生活中。手机二维码的技术是指以二维码标准为核心,将手机作为载体,而展开的码制编码、译码、识别、被识别相结合的综合性技术。在众多的二维码技术标准中,QR(Quickly Response)码与DM(Data Matrix)码应用最为广泛。DM 码产生于 1989 年,包括 NASA、USDoD 两种标准。DM 码主要采用了复杂的纠错码技术,使得该编码具有超强的抗污染能力。目前 DM 码在韩国市场上属于手机二维码的主流技术。QR 码是由日本 Denso

26、 公司于 1994 年研制的一种矩阵二维码符号,该二维码已经成为日本主流的手机二维码技术标准,它的最大特点就是可高效地表示汉字。日本是最早开始使用二维码的国家。目前市场上已有很成熟的 QR 手机二维码市场应用,QR 条形码在日本得到相当规模的应用,日本的海报、游览手册、传单、折扣券、电子票证,甚至连树上都贴着二维码,成为日本手机用户登录网站以及获得广告商品信息的非常便捷的方式。近几年来,日本二维码手机市场的占有率在逐年上升,从 2002 年的 0.8%上升到了 2005 年的 52.6%,2006 年日本二维码手机市场占有率达到 70%左右。日本手6机二维码的运营模式是开放的,二维码扫描是手机

27、上的一项功能,而不是运营商提供的一种服务。二维码的技术商将解码软件提供给运营商后,按手机的装机量收取版权费,运营商则将软件的解码完全公开,用户可以进行任意编码 4。在我国,GM 二维码网格矩阵码(GM)SJ/T11349-2006 和 CM二维码紧密矩阵码(CM)SJ/T11350-2006 标准是由原国家信息产业部于 2006 年 5 月 25 日所颁布的两项国产行业推荐标准。此两项标准于 2006 年 5 月 30 日起实施。GM 码其全称为网格码(Grid Matrix Code)是一种正方形的二维码码制,该码制的码图由正方形宏模块组成,每个宏模块由 6 乘 6 个正方形单元模块组成。网

28、格码可以编码存储一定量的数据并提供 5 个用户可选的纠错等级。CM 码意为“紧密矩阵”,是英文 Compact Matrix 的缩写。码图采用齿孔定位技术和图像分段技术,通过分析齿孔定位信息和分段信息可快速完成二维码图像的识别和处理。当前,我国二维码产业还处于成长期,总体来看,我国的条码标准体系尚显单薄,具有自主知识产权的二维码核心技术不多,二维码技术标准的应用和推广也存在一些困难。但是,各方面条件的逐渐成熟,正推动整个产业的发展提速。目前,几方面有利因素是我国二维码产业发展的重要驱动力:首先,二维码自身的优势和价值使将其在全球范围内得到更广泛更深入的应用。其次,作为物联网产业的重要技术,二维

29、码将成为优先受益市场,背景行业的发展将对二维码产业的发展起到推波助澜的作用。另外,二维码与手机的结合,将开辟二维码的更广阔的市场空间。经过了近几年的技术、应用推广和产业链的不断壮大,我国二维码市场日渐繁荣,未来 2-3 年将保持高速的成长态势 5。2.2 二维码技术研究的意义和应用2.2.1 二维码技术的应用二维码可以被广泛应用于各个行业,如,物流业、生产制造业、交通、安防、票证等行业,由于各行业特性不同,二维码被应用于不同行业的不同工作流程中。目前,二维码在应用比较广泛的几个行业的具体应用如下:1.物流行业应用二维码在物流行业的应用主要包括四个环节。第一,入库管理:入库时识读商品上的二维码标

30、签,同时录入商品的存放信息,将商品的特性信息及存放信息一同存入数据库,存储时进行检查,看是否是重复录入。第二,出库管理:产品出库时,要扫描商品上的二维码,对出库商品的信息进行确认,同时更改其库存状态。第三,仓库内部管理:在库存管理中,一方面二维码可用于存货盘点,另一方面二维码可用于出库备货。第四,货物配送:配送前将配送商品资料和客户订单资料下载到移动终端中,7到达配送客户后,打开移动终端,调出客户相应的订单,然后根据订单情况挑选货物并验证其条码标签,确认配送完一个客户的货物后,移动终端会自动校验配送情况,并做出相应的提示。2.生产制造业以食品的生产为例,二维码在食品的生产与流通过程中的应用主要

31、在三个环节。第一,原材料信息录入与核实:原材料供应商在向食品厂家提供原材料时,将原材料的原始生产数据制造日起、食用期限、原产地、生产者、遗传基因组合的有无、使用的药剂等信息录入到二维码中并打印带有二维码的标签,粘贴在包装箱上后交与食品厂家。第二,生产配方信息录入与核实:在根据配方进行分包的原材料上粘贴带有二维码的标签,其中含有原材料名称、重量、投入顺序、原材料号码等信息。第三,成品信息录入与查询:在原材料投入后的各个检验工序,使用数据采集器录入检验数据;将数据采集器中记录的数据上传到电脑中,生成生产原始数据,使用该数据库,在互联网上向消费者公布产品的原材料信息。3.安防类应用由于二维码具有可读

32、而不可改写的特性,也被广泛应用于证卡的管理。将持证人的姓名、单位、证件号码、血型、照片、指纹等重要信息进行编码,并且通过多种加密方式对数据进行加密,可有效地解决证件的自动录入及防伪问题。此外,证件的机器识读能力和防伪能力是新一代证件的标志。4.交通管理应用二维码在交通管理中的应用主要应用环节有:行车证驾驶证管理、车辆的年审文件、车辆的随车信息、车辆违章处罚、车辆监控网络。行车证驾驶证管理:采用印制有二维码行车证,将有关车辆上的基本信息,包括车驾号、发动机号、车型、颜色等车辆的基本信息转化保存在二维码中,信息的数字化和网络化便于管理部门的实时监控与管理。车辆的年审文件:在自动检测年审文件的过程中

33、实现通过确认采用二维码自动记录的方式,保证通过每个检验程序的信息输入自动化。车辆的随车信息:在随车的年检等标志上将车辆的有关信息,包括通过年检时的技术性能参数,年检时间,年检机构、年检审核人员等信息印制在标志的二维码上,以便随时查验核实。车辆违章处罚:交警可通过二维码掌上识读设备对违章驾驶员的证件上的二维码进行识读,系统自动将其码中的相关资料和违章情况记录到掌上设备的数据库中,再进一步通过联网,实现违章信息与中心数据库信息的交换,实现全网的监控与管理。82.2.2 二维码研究的意义维码目前主要是在行业或企业中应用,对于消费者也许我们没有注意它,但二维码与手机结合拓展了二维码的应用空间,最显著的

34、特征,使得二维码离消费者越来越近。技术正应用到我们的生活中,二维码不再向是一个黑白条块/方快,它将成为新的信息沟通平台,为企业和个人带来更多的应用价值。(1)促进跨媒体营销发展手 机二维码促进了媒体、通信和互联网的融合,带来一个全新的跨媒体营销平台。使得平面媒体、移动运营商可以充分发挥各自的媒体优势,为企业开辟新营销服务; 对于平面媒体延伸了媒体空间、带来新的广告形式,对于广大企业,利用该平台,开创新的营销模式、增进与客户的互动、提升客户服务。二维码作为一种全新的沟 通方式,在时间、空间、媒介三个维度上实现企业与消费者的沟通。比如一个简单的商品广告,消费者通过扫描旁边的二维码就可以获得产品详细

35、介绍、经销商名 录、成功案例、其他产品系列等信息,甚至通过二维码登录广告商的 WAP 网站。(2)促进社会和企业资源的节约,提升社会和经济效益。手机二维码在应用到电子票务降低票据制作成本、减少配送成本、提升票务防伪和检验能力;提升客户服务质量、有利于开展针对性的营销;手机二维码在应用到电子折扣上,提升促销效果、增进与客户的互动、降低折扣券制作成本等;手机二维码用在防伪盗版上,可以有效打击防伪盗版,保护消费者利益,为企业创造效益。手 机二维码用于交通违章处理上,可以大大提高工作效率。(3)为手机用户带来精彩体验手机二维码的发展简化手机用户信息输入,提升用户获取信息的能力、拓展手机上网入口,带给我

36、们更多精彩体验 6。3 需求分析3.1 系统需求分析3.1.1 课题可行性分析随着 Android 的快速发展和不断完善,Android 的应用是越发的广泛。所以基于Android 平台的手机小程序也是越来越多、越来越受欢迎。Java 是一种跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。XML(Extensible Markup Language)即可扩展标记语言,它与 HTML 一样,都是 SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml 是 Internet 环境

37、中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言 XML 是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立。9随着 Android 移动设备大部分都带有自动调焦作用,这就对 Android 二维码系统的应用带来了更广阔的市场。又各国对二维码的发展和研究,也产生了很多稳定和安全的二维码系统,并且 Google 根据每种条形码二维码的标准开发了开源项目 Zxing。根据 Zxing 核心库的基础,该系统可以根据核心库提供的二维码标准,依据编码解码原理实该项目的条码、二维码识别。这对二维码的开发和研究带来了更多发展前景 7。3.1.

38、2 课题功能需求分析本次的毕业设计主要就是在基于 Android 平台下设计并开发一个条码二维码识别系统。运用当前 Google 提供的 Android SDK 来以及开源项目 Zxing 核心库编码解码原理为基础,来实现二位码识别系统。本课题的总体的功能业务可以主要描述为以下几点:(1) 主界面上显示出主要的功能(2) 进行一维条行码的识别(3) 进行二维 QR 码的识别(4) 进行二维 DM 矩阵码识别(5) 对二维码进行分享(6) 软件使用帮助3.1.3 课题功能需求分析说明根据对本课题的主要需求的分析做如下说明:(1) 主界面上主要就是显示该系统所能够进行的动作和所能实现的功能,也是用

39、户进行软件操作的主要界面。(2) 本软件最强大的功能是实现当前主流的条码、QR 码和 DM 矩阵码的识别功能。(3) 可以分享二维码。(4) 对扫描历史进行查看。(5) 对软件使用提供帮助。3.1.4 系统界面需求本系统的界面需要布局合理、美观,需要体现系统的友好性。3.1.5 系统性能需求本系统需要扫描速度快、安全性高、处理结果速度快,尽可能为用户节省时间。3.1.6 运行环境需求系统运行环境:基于 Android 操作系统移动设备系统支持版本:Android 1.5 及以上版本10开发环境:Eclipse 3.5 ADT16-16.0.1 JDK-7u3-windows-i5863.2 系

40、统需要解决的问题 开发基于 Android 二维码识别系统需要解决一下几个问题:(1)数据库问题本系统需要用到 SQLite 轻量级数据库。用 SQLite 数据库来实现历史记录数据的存放。(2)布局问题在 Android 平台下开发该应用软件,一个非常重要问题的是要解决布局问题。android 平台中采用的是 xml 文件来设置布局。SDK 提供了包括图片、文字显示、以及xml 文件的设计方法。该系统需要用到 FrameLayout 布局来调用摄像头。3.3 系统关键技术分析(1)SQLite 轻量级数据库的使用。该系统需要使用到 Android 自身的数据库系统,使用 SQLite 数据创

41、建存放扫描结果的历史记录表。(2)移动设备 Camera 摄像头的调用。该系统要是使用摄像头才能进行二维码的扫描和处理,通过摄像头来进行二维码图片数据的输入。3.4 本章总结通过对 Android 平台的架构的分析和对毕业设计课题的需求的分析,我们基本可以了解到该课题的主要功能。为下一阶段的设计的研究打下好的基础。4 系统设计4.1 课题需要解决的问题4.1.1 界面布局一个 Android 软件的好坏很大程度上并不是功能如何强大,而是友好易操作的界面的好坏。一个友好的界面不仅让用户更容易操作和使用软件,也让用户感觉到很舒服的感觉。Android 系统正是考虑到这一点,为开发人员提供了强大的布

42、局实现,并提供了很多布局方式包括:LinearLayout 水平布局、FrameLayout 框架布局、RelativeLayout 相对布局、TableLayout 表单布局和 TAbWidget 切换卡、AbsoluteLayout 绝对布局。本软件需要用调用 Camera 来实现扫描功能,需要用到框架布局 FrameLayout 能重叠控件,实现“范围框”的效果。114.1.2 条形码二维码解码功能本系统是根据 Google 研究开源项目 Zxing 核心库为基础,通过二维码发布的标准,就是为了实现二维码扫描功能,当前最流行条形码,日韩所使用最多的 QR 码和美国的DM 矩阵码。Zxin

43、g 不仅对最主要的二维码扫描功能做了详细的分析,同时也实现了国际化的操作,针对不同国家,使用不同的语言,由于 QRcode 二维码的广泛应用且QRcode 支持中文,所以在此我们主要使用 QRcode 二维码识别,语言为简体中文 9。系统用例图如图 4-1 所示:图 4-1 系统功能用例图4.2 系统总体设计4.2.1 课题功能框架基于 Android 二维码系统功能主要包括:一位条码扫描、二位 QR 码扫描、DM 矩阵码扫描和分享二维码扫描。功能框架如图 4-2 所示:12图 4-2 系统功能模块图4.2.2 课题总体流程图启动模拟器,软件会自动运行到主界面,界面会自动变为横屏全屏模式,直接

44、进行二维码扫描界面。当扫描完毕后,我们可以通过扫描的结果进行分享。本课题总体流程图如图 4-3 所示:13图 4-3 系统流程图上面主要讲解的是软件使用的流程,二维码识别系统通过摄像头来获取图片文件,然后通过图片预处理,然后进行解码,扫描解码流程图如图 4-4 所示:14图 4-4 解码过程图4.2.3 数据库的概念结构设计本课题需要创建一个存放扫描历史记录的数据库。数据库名称:barcode_scanner_history.db表名:history表中字段:ID_COL,TEXT_COL,FORMAT_COL,DISPLAY_COL,TIMESTAMP_COL说明:历史记录实体用来存放二维码

45、查询结果,记录 ID 是表的主键,唯一标示一条记录。FORMAT_COL 列是存放数据存储的格式。TIMESTAMP_COL 是用来存放扫描的时间。DISPLAY_COL 是用来存储解析值。TEXT_COL 用来存放文本信息。、扫描时间、解析显示 10。历史记录概念结构设计图如图 4-5 所示:图 4-5 历史记录实体属性图4.3 系统详细设计4.3.1 系统模块设计(1) 二维码识别功能模块15用户打开应用程序之后会进入主界面,然后就可以进行二维码扫描,将二维码的图片放于摄像头下面,摄像头会自动调焦,获取二维码图片,然后程序会进行图片解析,解析成功之后将结果显示在屏幕上。流程图如图 4-6

46、所示:图 4-6 二维码识别功能流程图(2) 分享功能模块当用户点击 menu 菜单之后就会显示分享功能选项,点击之后出现分享联系人、应用程序选项,根据用户不同的选项程序会生成相应的二维码图片,然后其他的用户可以通过二维码扫面的方式尽享分享。分享功能模块的流程图如图 4-7 所示。16图 4-7 分享功能流程图图 4-8 查看历史记录流程图(3) 历史记录功能模块17当用户扫面完二维码之后,程序会自动保存到历史记录表当中,用户可以通过点击 menu 菜单找到历史记录选项,点击查看历史记录按钮之后,程序会自动弹出历史记录对话框,上面会直接显示扫描过的历史记录。接下来可以进行清除历史记录,发送历史

47、记录操作。流程图如图 4-8 所示。4.3.2 系统界面详细设计(1) 主界面设计系统运行之后就会进入主界面,主界面直接进行扫面,在项目 res 文件中的layout 中的新建一个 capture.xml 文件,并在里面添加扫描所用到的抽象布局来实现二维码图片获取界面,并设置结果集布局不可见,当扫描后设置结果集布局可见,获取图片的布局设置为不可见,从而来实现二维码识别功能。(2) 分享界面设计分享界面的按钮实现是在 menu 菜单中添加的,在运行程序以后我们通过点击 menu菜单来实现分享功能,当点击分享按钮时,系统会调用分享功能的 Activity 来实现。(3) 历史记录界面设计查看历史记

48、录的界面按钮实现首先也是在 menu 菜单中添加的,在运行程序以后我们通过点击 menu 菜单中的查看历史记录选项,然后我们一 dialog 提示框的方式来显示历史记录的显示。(4) 功能设置界面设计功能设置界面可以进行系统功能的设置,在项目 res 文件夹下新建一个 xml 文件,并进行 preferences.xml 内容的添加,包括是否选择震动、有无提示音和是否复制到剪切板等功能。(5) 帮助界面设计在开源项目中下载二维码扫描帮助页面,并在项目中的 assets 资源文件中新建一个 html 文件来存放帮助界面,里面包含了如何正确扫面二维码的页面以及如何在网页上生成二维码等界面。4.3.

49、3 数据库详细设计本系统采用 Android 操作系统自带的内嵌小型数据库 sqlte3 作为后台数据库。历史记录表设计如表 4-1 所示:表 4-1历史记录表字段名称 字段类型 长度 是否为主键 说明Id_col integer 8 是 记录 id 号Text_col varchar 40 否 文本信息Format_col varchar 40 否 存储格式Display_col varchar 80 否 解析值Timastamp_col datetime 8 否 扫描时间184.4 本章小结本章主要根据系统分析,针对本课题进行了总体设计和详细设计,在完成以上总体设计和详细设计之后,至此系统设计阶段基本完成。5 编码与实现5.1 开发环境搭配5.1.1 软件下载安装(1) JDK 下载安装(2) Eclipse IDE 下载安装(3) Android SDK 下载安装(4) ADT 插件安装 注:开发 Android 应用程序,还需要用到 ADT Plugin for Eclipse 插件,也可以在Eclipse

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报