基于Android的二维码生成与识别系统的设计与实现.doc

上传人:文库蛋蛋多 文档编号:2394044 上传时间:2023-02-17 格式:DOC 页数:30 大小:122.50KB
返回 下载 相关 举报
基于Android的二维码生成与识别系统的设计与实现.doc_第1页
第1页 / 共30页
基于Android的二维码生成与识别系统的设计与实现.doc_第2页
第2页 / 共30页
基于Android的二维码生成与识别系统的设计与实现.doc_第3页
第3页 / 共30页
基于Android的二维码生成与识别系统的设计与实现.doc_第4页
第4页 / 共30页
基于Android的二维码生成与识别系统的设计与实现.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《基于Android的二维码生成与识别系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Android的二维码生成与识别系统的设计与实现.doc(30页珍藏版)》请在三一办公上搜索。

1、基于Android的二维码生成与识别系统的设计与实现 XXXXX本科生毕业设计论文需全套源程序代码 695132052 各专业都有学院系: XX专 业:XX学 生: X 指导教师:X 完成日期 年 月XXXX本科生毕业设计(论文)基于Android的二维码的生成与识别系统的设计与实现The Design and Realization of the QR CodeGeneration and Recognition System总 计:毕业设计论文 28页表 格: 2个图 片: 24个XXXX 本 科 毕 业 设 计论文基于Android的二维码的生成与识别系统的设计与实现The Design

2、 and Realization of the QR CodeGeneration and Recognition System学 院系: X专 业:X 学 生 姓 名: X学 号:X指导教师职称:X评 阅 教 师:完 成 日 期:Xy基于Android的二维码的生成与识别系统的设计与实现软件工程 XXX 随着二维码的广泛应用和Android智能手机的进一步普及,在本文中介绍了一个通过Android平台下的摄像和绘图功能,利用二维码的编码和解码原理,通过Android手机对二维码的数据进行解析和编码,实现对二维码识别和生成的系统。 Android平台;二维码;二维码生成;二维码识别The De

3、sign and Realization of the QR CodeGeneration and Recognition SystemSoftware Engineering MajorXXX 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 workbench. Using of the two dimensional

4、barcode encoding and decoding principle, through the Android mobile phone resolve and code planar barcode to realize the dimensional barcode identification and generate system. The Android Platform;QR Code;The generation of QRCode;The recognition of QRCode目 录1. 绪论11.1 本课题的背景11.1.1 二维码的诞生11.1.2 二维码在国

5、外的发展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 二维码的识别105. 编码与实现125.1 识别模块的实现125.1.1 二维码识别的功能实现125.

6、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致谢28绪论本章通过对二维码的诞生和其发展前景的介绍,主要结合二维码的背景与自己所选该课题,对课题的意义进行阐述和分析。本课题的背景二维码的诞生一维条码自出现以来,得到了人们的普遍的关注,

7、发展速度十分迅速。它的使用,极大的提高了数据采集和信息处理的速度,提高了工作效率,并为管理的科学化和现在化做出了巨大的贡献。由于受信息容量的限制,一维条码仅仅是对“物品”的标识,而不是对“物品”的描述,故一堆条码的实用,不得不依赖数据库的存在。在没有数据库和不联网的地方,一维条码的使用受到了较大的限制,有时甚至变的毫无意义。另外,要用一维条码表示汉字的场合,显得十分的不方便,且效率低下。现代高新技术的发展,迫切要求用条码在有限的几何空间内表示更多的信息,从而满足千变万化的信息表示需要。二维码正是为了解一维条码无法解决的问题而产生。因而它具有高密度、高可靠性等特点,所以可以用它表示数据文件(包括

8、汉字文件)、图像等。二维码是大容量、高可靠性信息实现存储、携带并自动适读的最理想的方法。二维码在国外的发展 手机二维码的业务类型主要有两种:一是识读,就是借助应用软件直接读出码上信息,它可以衍生出上网浏览、电子购物等多种应用;二是被读,就是由商家向手机用户发送二维码信息,通过设备识读,可作身份识别、电子凭证等之用。 根据网上资料显示二维码在日本和韩国的商用分别始于2002年和2003年。短短几年的发展,截至2006年,日本使用手机二维码的用户已有6000万,二维码广告、二维码名片、二维码票券就像短信那样常见;韩国市面上约有1500万部手机支持韩国第一大手机二维码提供商Iconlab的条码业务,

9、超市里售卖的蔬菜上也贴有二维码,消费者拍摄解码后,就可以获知产品的产地等信息。由于使用二维码,给商家带来的收入非常可观,资料显示,2005年,日本的手机识别二维码应用已获得近千万美元的收入15。二维码在国内的发展 相关资料显示,手机二维码在国内的应用也开始崭露头角:用二维码为“超女”投票、易初莲花超市印有二维码的购物袋、卓越网的二维码手机移动书店网舟咨询预测,今年手机二维码用户量将超过1000万,市场普及率将达到2%,到2008年用户数将近5000万,普及率达到9%,到2009年,用户量将达到1.1亿,普及率达到28%,到2010年,用户量将突破2亿,增长率稳定在200%左右,市场普及率达到5

10、3%。网舟咨询对该业务的收入增长作出预测,今年的收入规模可达2亿元,到2008年,收入规模达到4.8亿元,2009年将进入高速增长期,2010年收入规模预计超过16亿元15。本课题的目的和意义二维码的使用已经是很普及的事情了,中国移动的广告里面有一个场景,就是买苹果的场景,一个人买苹果,拿出自己的手机,对苹果上面的二维码进行扫描,便能够知道苹果的产地和摘取过程等信息。国内二维码的应用主要出现在电子凭证、防伪溯源、平面杂志以及数字出版等领域,技术服务方面可由易拍酷二维码服务平台提供。应用案例非常广泛,各大会议活动中不断出现二维码签到,杭州,成都、北京公交站牌上的二维码指引市民方便出行;二维码火车

11、票、飞机票等均属于二维码电子凭证类别。对于二维码应用,我们不仅仅应该只是处于在广告中实现的地步,本系统结合了二维码的广泛应用和Android智能手机的普及,实现了Android手机对二维码的解析和生成,可以使那买苹果的场面不仅仅是在广告中看到。开发环境及关键技术二维码识别与生成基于Android平台,使用到了Android系统的关键技术有Android的Activity、Intent等主要组件,以下内容将进行Android平台以及相应的关键技术进行介绍。Android系统架构由于该课题主要是基于Android平台,所以在此就简单的介绍下Android平台的主要架构。如图2?1就是Google公

12、司提出的一个架构图。图2?1 Android平台架构图14开发环境本系统主要分为两个大的模块:二维码的生成和二维码的识别。二维码的生成主要就是基于Winnows上的开发工具Netbeans开发,用Java语言来实现,而同时又开发一个在Android平台下的二维码生成。而二维码的识别主要就是基于Android平台来开发,主要就是运用Android SDK和Eclipse共同开发,但是环境需要搭建。ADT插件Eclipse ADT插件:Android开发工具(ADT)是一个为Eclipse IDE的,旨在为您提供一个强大的,集成的环境中构建Android应用程序的插件。 ADT的扩展Eclipse

13、的功能,让您快速建立新的Android项目,创建一个应用程序的用户界面,添加基于Android框架API的包,使用Android SDK工具调试你的应用程序,甚至出口签署(或符号) .apk文件为了分发您的应用程序。引导项目设置与提供,以及工具的集成,自定义的XML编辑器,调试输出窗格,ADT的为您提供了令人难以置信的提高,在开发Android应用程序。二维码的识别与生成开发环境二维码的生成主要设计的是在电脑上运行的桌面程序。通过在电脑上开发一个Java程序来生成二维码。其开发环境主要如下表:表2?1 Windows平台上开发使用的环境 需求名称平台及工具 开发工具Net beans 优化工具

14、Photoshop 开发语言Java 运行环境Windows XP+JDK 测试环境Windows XP+JDK 二维码的识别和生成是在Android平台上的开发的,并使用Eclipse IDE工具进行开发的。Eclipse IDE安装ADT插件搭建了很好的Android开发平台,方便与编程。至于识别的功能要用到摄像头,虚拟机上面是没有摄像头的,这就需要有真机进行二维码的识别测试。Android平台开发环境如下表:表2?2 Android平台开发使用的环境 需求名称平台及工具 开发工具Eclipse、Android SDK、测试机 优化工具Photoshop 开发语言Java 运行环境Andr

15、oid平台 测试环境Android平台关键技术Android五大部件1、活动(Activities)一个活动表示一个可视化的用户界面,关注一个用户从事的事件。例如,一个活动可能表示一个用户可选择的菜单项列表,或者可能显示照片连同它的标题。一个文本短信应用程序可能有一个活动,显示联系人的名单发送信息;第二个活动,写信息给选定的联系人;其他活动,重新查看旧信息或更改设置。虽然他们一起工作形成一个整体的用户界面,但是每个活动是独立于其他活动的。每一个都是作为Activity基类的一个子类的实现。2、服务(Services)一个服务没有一个可视化用户界面,而是在后台无期限地运行。例如一个服务可能是播放

16、背景音乐而用户做其他一些事情,或者它可能从网络获取数据,或计算一些东西并提供结果给需要的活动(activities)。每个服务都继承自Service基类。3、广播接收者(Broadcast receivers) 一个广播接收者是这样一个组件,它不做什么事,仅是接受广播公告并作出相应的反应。许多广播源自于系统代码,例如公告时区的改变、电池电量低、已采取图片、用户改变了语言偏好。应用程序也可以发起广播,例如为了他其他程序知道某些数据已经下载到设备且他们可以使用这些数据。4、内容提供者(Content providers)内容提供者(content provider)使一个应用程序的指定数据集提供给

17、其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式。内容提供者继承自ContentProvider 基类并实现了一个标准的方法集,使得其他应用程序可以检索和存储数据。然而,应用程序并不直接调用这些方法。相反,替代的是它们使用一个ContentResolver对象并调用它的方法。ContentResolver能与任何内容提供者通信,它与提供者合作来管理参与进来的进程间的通信。5、连接组件的纽带(Intent)以上4种基本组件中,除了Content Provider 是通过Content Resolver激活外,其他 3 种组件Activity 、Serv

18、ice 和 Broadcast Receiver 都是由Intent异步消息激活的。 Intent在不同的组件之间传递消息,将一个组件的请求意图传给另一个组件。因此, Intent是包含具体请求信息的对象。针对不同的组件,Intent所包含的消息内容有所不同,且不同组件的激活方式也不同, 且不同类型组件有传递 Intent的不同方式。Intent 是一种运行时绑定(runtime binding)机制,它能够在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表到某种请求或者意愿,Android 会根据意愿的内容选择适当的组件来处理请求。系统的实现的关键技术1、

19、摄像头操作,识别功能主要应用技术就是对摄像头的调用,能够使用摄像头来自动对焦,使用多线程来对摄像头捕获到的图像进行提交是关键的技术。2、多线程的调用,使用多线程来对摄像头捕获到的图像进行提交给二维码解析器,是使识别时间降低的主要机制,运用多线程的提交,能够在更快的时间内识别用户需要识别的二维码。3、绘画的调用,在二维码的生成功能里面使用到了Android的绘图功能,是用相应的功能包将要转换的字符串转换成二维码字符串,对输出的二维数组进行解析,按照排码规范使用Android的绘图功能,将二维码绘画出来。可能遇到的问题基于Android平台下的二维码的识别与生成软件可能遇到的问题如下:1、界面问题

20、对于手机上的应用,布局的合理与开发的人性化使得软件的欢迎度有很大的区别,一个漂亮的布局会吸引多数用户,前提是功能的实现,在功能相同的情况下当然是界面好看的会受到大家的欢迎。2、摄像头调用问题软件的识别要进行摄像头的调用,要对摄像头部分进行相应的了解,另外应对与用户的需求来说,时间观念要充实,应该启用多线程来进行识别的摄像头的调用,摄像头自动对焦问题,还有识别后预览的图像传递的问题。3、数据量大小问题二维码的容量是有限的,如果书写的内容过多的话,就会产生生成错误的二维码的错误流,对于二维码方面的生成容量问题应该好好的解决。同时Android平台的资源是有限的,解析时需要将摄像头扫描到的大量图像数

21、据向后台进行传输,这会消耗很多资源。4、生成和识别中的若干问题二维码的生成是将字符串转换成图像,这个过程要通过二维码的编码原理来进行转换,其中的转换可能会存在未知问题。识别的时候使用解析后台进行图像的解析,数据量会比较大,解析过程的时间复杂度比较大,可能会出现不可预知到问题。 本章中提到关键技术是Android的核心技术,我会在编码和实现之前对以上提出的关键技术进行学习了解,工欲善其事必先利其器,先将自己充实起来。通过对Android的学习,增加了我对上节提出来可能遇到的问题解决的信心,我相信在后面的编码和实现中,我会通过很好的利用网络资源和自己学习的积累对克服存在的问题的。需求分析经过前面章

22、节内容的介绍,在本章中将对二维码的生成和识别的需求分析进行阐述。主要包括系统需求概述、系统需求分析、系统的可行性分析。系统需求描述现在二维码是越来越流行,当然人们对二维码也越来越感兴趣。出于对二维码的好奇,很多人都开始研究二维码。人们不断的提问,二维码到底是怎么生成和识别的呢?我想很多的人都不知其中的原理。而在本论文中主要介绍的就是二维码的生成和识别。对于二维码的生成与识别提出如下需求:1、二维码的生成要能够生成包含一定信息的二维码,生成后的二维码能够被二维码的识别软件很好的识别出来。同时二维码的生成能够支持多种功能信息的生成。2、二维码的识别要能够很好的识别出来一些二维码的中多包含的信息,在

23、识别的过程中能够对各种二维码进行识别,也包括条形码。系统需求分析系统总体需求如下图所示:图3?1系统总体需求图本论文是基于Android平台,设计开发一款识别与生成二维码的软件(能兼容的识别条形码),很重要的一点就是本系统是基于Android手机上面的摄像头来对二维码的识别的,所以要使用二维码的识别功能便需要Android手机或者是平板,带有摄像头。系统总体功能业务可以描述为以下几点:1、一个友好的欢迎界面2、功能的选择(识别功能,生成功能)3、能对二维码(包括条形码)识别解析4、能够生成用户所需的二维码系统需求说明根据系统的主要需求进行分析,总结功能需求做如下说明:1、实现对二维码的生成功能

24、。主要就是能够正确的生成客户需要的二维码,就是说能够正确无误的将用户的输入信息转换成二维码。经过分析,要实现最常用的功能,即名片的生成、短信的生成、文本的生成、电子邮件的生成、网络书签的生成。2、实现对二维码的是识别功能。主要就是系统要能够识别二维码(包括条形码),并能够对二维码(包括条形码)进行正确的解析。然后把所解析出来的信息以文字的信息输出来。3、生成和识别的过程中,速度要快。不能是用户等待很久才生成和识别出来,这样一方面说明该系统是失败的,另一方面会对浪费用户的时间,造成不可估量的后果。系统的可行性分析以前我们进入超市买东西,都知道商品上面是有条形码的,我们也知道,条形码的识别机器是像

25、红外线的东西,我们在信息的时代下,手机的发展越来越广阔,我们中国人平均一个人就有一个半手机,随着智能手机的流行,手机更是发展红火,特别是Android系列的智能手机发展更为广阔,随着Android手机的流行到现在,Android手机已经很普遍了,据调查显示Android手机的市场占有率达到60%以上,二维码的流行的到来,是人们特别的感兴趣,那么结合Android手机和二维码的流行,应该有一个方便与二者之间的软件来使之得到双赢,手机上面有摄像头,是不是能够通过摄像头来进行二维码的识别呢?答案是肯定的,所以,基于Android系统的二维码的识别与生成软件系统是可行的,并且是很有市场需求的。经过上述

26、需求的分析和现在手机上的一些二维码扫描的出现,本论文中提到的各项系统功能的实现是可行的,在后续章节中将于一一介绍。系统设计根据上面章节中系统的需求描述,本章将进行系统的设计。系统设计主要从提供的整体到各个功能部分的设计入手,本节中将分为:系统框架设计 、二维码生成设计、二维码识别生成。系统框架设计本系统框架结构主要分成生成和识别两大部分,针对二维码的生成部分,我感觉不仅仅要局限于Android手机,也可以编写一个可以在电脑上生成二维码的软件,这样大家使用起来会更加的方便,至于识别方面,在电脑上也完全可以实现,可以调用系统的摄像头进行识别。而本课题主要是基于Android平台,所以在Androi

27、d平台上二维码的识别主要就是调用Android的摄像头模块,对摄像头进行对焦,回传图像信息,对图像信息进行识别等。生成模块主要是应用了Android的绘图功能,将二维码进行绘制。其中识别的判断是系统自动完成的,而生成的判断是根据用户的选择会进行相应的显示和生成功能。系统功能结构如下图所示:图4?1系统功能模块图该系统的识别模块方面主要是通过Android手持设备上的摄像头进行图像采集,经过系统的分析识别,来进行二维码(包括条形码)的辨别功能。生成方面的内容相对多,包括名片的生成,短信的生成,文本的生成,电子邮件的生成,网络书签的生成。生成功能主要就是对二维码的生成。而生成这个功能可以在电脑上运

28、行生成,也可以在手机上运行生成。二维码的生成主要支持名片、短信、文本、电子邮件及网络书签的生成。当用户选择好多要生成的对象时,就会把用户输入的信息送到后台,通过调用解析包,来生成还有相应信息的二维码。识别功能主要就是对二维码和条形码的识别。主要就是通过手机的摄像头对二维码或者是条形码进行扫描,然后把把扫描到的二维码或者是条形码送到后台进行解析,如果解析成功后,就不再进行扫描。如果解析不成功,就会在进行扫描采集图像,在传到后台解析,直到能够识别图像为止。二维码生成二维码的生成,支持多种形式内容的二维码生成。所以用户要先进行选择要生成的类型,当选择类型以后,系统将转入到多选该类型的生成界面给用户,

29、用户将相应的信息填写完成,点击生成二维码,会跳转到生成界面,显示生成的二维码。二维码生成详细流程设计如下图所示:图4?2二维码生成功能流程图二维码的识别 二维码生成主要是通过对摄像头的调用,启用多线程,对摄像头进行快速的回调应用,当一次回调的图像没有识别出来就进行下一次的回调,直到识别出二维码为止。同时由于对与二维码的大小不同,显示的模糊度不同等等原因,会使摄像头不能很好的采集图像,在这里要使摄像头能够进行自动对焦,从而使识别更快的实现。当识别完成以后就对用户进行提醒,对手机进行震动和播放声音,播放完成,显示识别出来的结果。二维码生成部分的功能流程图详细如下图所示:图4?3二维码识别功能流程图

30、到此系统的基本设计已经完成,下一步将进行系统的代码的书写。编码与实现打开软件显示软件的logo和版本版权信息。然后就是功能的选择界面,包括生成和识别两个功能,选择识别功能系统便会进入识别状态,将手机摄像头对准要识别的二维码或者是条形码,手机便开始识别,当识别结束,手机会发出声音和震动提示。生成方面,选择相应的生成选项填充内容,点击生成按钮,系统便能生成相应的二维码,当输入字符过长超过二维码的容量时会显示一个超出容量的图片。系统流程设计如下:图5?1系统总体流程图根据上一章中的设计,本章中将进行系统的编码和实现,主要分为三大部分,识别功能的实现、生成功能的实现、系统总体的实现,下面将对其逐一进行

31、介绍。识别模块的实现二维码的识别功能主要体现在后台的处理,调用摄像头,打开摄像头进行扫描。将摄像头扫描的数据传给后台,然后后台对扫描来的图像进行处理,进行识别。识别成功就将识别出来的内容显示出来,识别不成功就继续识别。二维码识别的功能实现系统在手机上实现图像的采集是重要的一步,在Android 平台上,是使用Camera 类来完成摄像头的调用和图像采集 使用 Camera mCamera Camer-a. open 获得Camera 的实例,然后使用 Camer-a.Parameters 来设置获得图像的大小,最后通过实现Camera. Preview-Callback 的接口 onPrevi

32、ewFrame byte data, Camera camera 来获得摄像头的图像数据data。为能够较快地获得清晰的图像,提高识别速度,文中使用了自动对焦技术。另外还应该对对焦进行定时操作,这就需要设置一个定时器对自动对焦进行定时调用。后台对摄像头传过来的图像数据data进行解码处理,如果能够解析出来,则上面的对焦调用,摄像头回传图像数据调用等将暂停。如果解析不成功,则继续轮回调用。节约解析的时间。主要实现代码如下:public void handleMessageMessage message switch message.what case /.o_focus:/ 当一个自动对焦传递结

33、束后,开始另一个。这是最接近/ 连续自动对焦。它似乎打猎了一点,但我不知道还能做什么。if state State.PREVIEW /.uestAutoFocusthis, /.o_focus;break;case /.tart_preview:Log.dTAG, Got restart preview message;restartPreviewAndDecode;break;case /.ode_succeeded:Log.dTAG, Got decode succeeded message;state State.SUCCESS;Bundle bundle message.getData

34、;Bitmap barcode bundle nullnull : Bitmap bundlegetParcelableDecodeThread.BARCODE_BITMAP;try activity.handleDecodeResult message.obj, barcode;catch Exception e e.printStackTrace;break;case /.ode_failed:/ 我们尽可能快的解码,所以当一个解码失败,开始另一个state State.PREVIEW;/.uestPreviewFramedecodeThread.getHandler,/.ode;brea

35、k;case /.urn_scan_result:Log.dTAG, Got return scan result message;/.ULT_OK, Intent message.obj;activity.finish;break;case /.nch_product_query:Log.dTAG, Got product query message;String url String message.obj;Intent intent new IntentIntent.ACTION_VIEW, Uri.parseurl;/.G_ACTIVITY_CLEAR_WHEN_TASK_RESET;

36、activity.startActivityintent;break;二维码识别的界面设计二维码的识别界面主要是有一个TextView和一个自定义的扫描框。二维码的识别功能界面设计如下图所示:图5?2二维码识别界面示意图生成的实现 二维码的生成主要是靠官方相应的编码包,将用户输入字符转换成二维数组,然后根据二维码的编码规范,使用绘图功能将二维码进行绘制,主要实现如下:二维码生成功能的实现二维码的生成根据第四章的系统框架设计,生成主要分为名片、短信、文本、电子邮件、网络书签的生成。需要有相应的框架使程序与用户进行交互,使用户有选择自己想要生成的类型,然后就是用户将自己想编辑的信息输入到系统内,系

37、统应该提供相应的交互界面给用户输入。主要生成代码如下:/ 自定义QRCode函数public void AndroidQREncodeString strEncoding, int qrcodeVersion try / 构建QRCode编码对象/.l.Qrcode testQrcode new /.l.Qrcode;testQrcode.setQrcodeErrorCorrectM;testQrcode.setQrcodeEncodeModeB;testQrcode.setQrcodeVersionqrcodeVersion;byte bytesEncoding strEncoding.ge

38、tBytesutf-8;if bytesEncoding.length 0 boolean bEncoding testQrcode.calQrcodebytesEncoding;drawQRCodebEncoding, /.wable.black;catch Exception e e.printStackTrace;/ 在SurfaceView上绘制QRCode条形码private void drawQRCodeboolean bRect, int colorFill /* test Canvas */int intPadding 20;/ 绘图前先锁定SurfaceholderCanva

39、s mCanvas01 mSurfaceHolder01.lockCanvas;mCanvas01./.wable.white;Paint mPaint01 new Paint;mPaint01./.L;mPaint01.setColorcolorFill;mPaint01.setStrokeWidth1.0F;/ 逐一加载boolean数组for int i 0; i bRect.length; i+ for int j 0; j bRect.length; j+ if bRectji / 绘出条形码方块mCanvas01.drawRectnew RectintPadding + j * 3

40、 + 2,intPadding + i * 3 + 2, intPadding + j * 3 + 2 + 3,intPadding + i * 3 + 2 + 3, mPaint01;mSurfaceHolder01.unlockCanvasAndPostmCanvas01;二维码生成选择界面设计生成二维码有很多的选择,包括名片,短信,邮件等选择,进入到二维码生成功能首先就是二维码生成类型的选择设计效果如下主要是按钮,点击相应的按钮,系统会进入到相应的用户输入界面,设计如下图所示:图5?3二维码生成类型选择系统为用户提供相应的选择,让用户选择自己想要生成二维码的类型,然后进入相应的交互页面。

41、该界面设计如下图所示:图5?4二维码名片生成示意图如果用户选择了名片,系统将显示如上图所示界面,供用户输入自己想要的名片信息。该界面设计如下图所示:图5?5二维码短信生成示意图如果用户选择了短信,则系统就会转到如上界面,供用户进行输入信息内容。该界面设计如下图所示:图5?6二维码文本生成示意图如果用户选择了文本,系统跳转到文本页面,用户可以输入自己的文本内容。该界面设计如下图所示:图5?7二维码邮件生成示意图用户选择邮件,系统跳转到邮件页面,用户便可输入邮件的内容。系统包含有两大模块,二维码的识别和生成模块。系统应该结合两大模块,实现两大模块的组合,形成系统。系统演示与运行经过了长时间的编码设

42、计,完成了第一个版本的开发,以下是对系统进行演示与运行。进行简单的运行测试。系统的演示说明在对编码的工作完成以后,该系统基本上就算完成了,现在就是展示自己的称过的时候了。在这里,我们主要分在Android的模拟器上的运行和在手机上的运行。当然,我们主要的还是在模拟器上演示。在模拟器上的演示主要包括二维码的生成演示和二维码的扫描演示,通过界面的演示效果可以更好的体现该系统的功能。在手机上运行,一方面可以看看该系统在手机上的兼容性,另一方面可以看看在手机上的效果。因为我们的系统主要是在手机上运行,所以要保证在手机上的视觉效果。在Android模拟器端的运行众所周知,Android SDK提供给我们

43、一个手机模拟器。这个手机模拟器的功能也是相当的强大。在上面我们可以进行很多的操作。比如通过浏览器上网、安装一些程序、发送短信、手机的设置等等。当然虚拟器的屏幕支持鼠标的点击触屏。这一点的设计上很是新颖,总体的感觉就是在操作手机一样。模拟器的演示如下图:图6?1 Android模拟器的效果图该系统的欢迎界面与主功能界面欢迎界面该界面主要就是显示该系统的主题和一些相关的信息。主要就是该系统的题目、作者等等。欢迎界面的演示如下图所示:图6?2欢迎界面主功能界面这是该系统的主要功能界面,就是对二维码生成和扫描功能的选择界面。通过选择相应的功能跳到相应的功能界面。主功能界面的演示如下图所示:图6?3主功

44、能界面二维码的生成演示与运行二维码的生成主要就是在输入相应的文字信息时,该系统能够自动生成相应的二维码。该系统主要提供五个方面的文字的生成,即名片、短信、文本、电子邮件、网络书签。二维码生成的功能选择演示如下图所示:图6?4二维码生成主界面 然后分别选择相应的功能会跳到各个功能界面。名片功能界面让用户输入相应的姓名、职业电话等生成二维码。该界面的演示如下图所示:图6?5名片生成主界面 短信功能界面主要就是让用户输入收件人和正文来生成二维码。该界面的演示如下图所示:图6?6短信生成界面 文本功能界面主要就是让用户输入标题和正文来生成二维码。该界面的效果如下图所示:图6?7文本生成界面 电子邮件功

45、能界面主要就是让用户输入收件人、主题和正文等信息来生成二维码。该界面的演示如下图所示:图6?8电子邮件生成界面 网址书签功能界面主要就是让用户输入标题、网址等信息来生成二维码。该界面的演示如下图所示:图6?9网址书签生成界面 用户输入完成,选择点击生成QRCode按钮,系统便会进入生成的界面,生成相应的二维码。 网址书签生成二维码的演示如下图所示:图6?10网址书签的生成的效果图二维码的识别演示与运行二维码的扫描主要就是通过移动设备上的额摄像头来扫描二维码,然后进行系统分析,最后显示出来结果。二维码的识别界面的设计如下图所示:图6?11识别界面效果图在Android移动设备端的运行Androi

46、d SDK提供的模拟器的功能已经相当的全面,但是还是不能够完全的替代手机。因为一些问题在模拟器的那种环境下不能很好的测试出来。比如在导入到手机上安装是可能会遇到一些问题。在这里可能遇到的版本的问题或者是兼容等些问题。不过在安装到手机以后,这些问题并没有真正的出现。所以总体来说,该系统已经基本上实现了在手机上的运行。程序导入手机的两种方法:1、把程序安装文件(.apk文件)导入到手机内存或者是SD卡中,然后到手机上安装即可。2、将手机与PC机通过数据线连接,然后再PC机上安装配套的手机设备驱动,然后在Eclipse中进行游戏的运行配置,选择从手机设备运行,这样游戏就会自动部署到手机端并运行。小结

47、基于Android的二维码生成与识别系统的基本的功能已经实现,当然也有许多不完美的地方。但是其基本的生成与识别功能都得以实现。在此,还是对自己的这次毕业设计做个总结和展望。毕业设计总结:这次毕业设计主要就是针对Google推出的Android平台来进行对二维码的生成与识别。当然该系统不需要数据库,主要就是对调用一些接口。起初由于对二维码的知识了解的很少,所以根本就不知道怎么下手,但是后来通过上网查询一些资料和有关Android的API,自己才算基本上有了思路。当然在网上也看到了一些关于二维码识别的代码,通过学习,了解了在Android平台下对二维码的识别的实现,但是当初设计程序对移动设备的摄像头的调用,就是调不出来,后来在网上查询得知

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号