收藏 分销(赏)

本科毕业设计论文--基于安卓的二维码扫描识别系统设计论文.doc

上传人:丰**** 文档编号:4944699 上传时间:2024-10-20 格式:DOC 页数:35 大小:1.62MB
下载 相关 举报
本科毕业设计论文--基于安卓的二维码扫描识别系统设计论文.doc_第1页
第1页 / 共35页
本科毕业设计论文--基于安卓的二维码扫描识别系统设计论文.doc_第2页
第2页 / 共35页
本科毕业设计论文--基于安卓的二维码扫描识别系统设计论文.doc_第3页
第3页 / 共35页
本科毕业设计论文--基于安卓的二维码扫描识别系统设计论文.doc_第4页
第4页 / 共35页
本科毕业设计论文--基于安卓的二维码扫描识别系统设计论文.doc_第5页
第5页 / 共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 系统需求描述现在二维码是越来越流行,当然人们对二维码也越来越感兴趣。出于对二维码的好奇,很多人都开始研究二维码。人们不断的提问,二维码到底是怎么生成和识别的呢?我想很多的人都不知其中的原理。而在本论文中主要介绍的就是二维码的生成和识别。对于二维码的生成与识别提出如下需求:

23、1、二维码的生成要能够生成包含一定信息的二维码,生成后的二维码能够被二维码的识别软件很好的识别出来。同时二维码的生成能够支持多种功能信息的生成。2、二维码的识别要能够很好的识别出来一些二维码的中多包含的信息,在识别的过程中能够对各种二维码进行识别,也包括条形码。3.2 系统需求分析系统总体需求如下图所示:图31系统总体需求图本论文是基于Android平台,设计开发一款识别与生成二维码的软件(能兼容的识别条形码),很重要的一点就是本系统是基于Android手机上面的摄像头来对二维码的识别的,所以要使用二维码的识别功能便需要Android手机或者是平板,带有摄像头。系统总体功能业务可以描述为以下几

24、点:1、一个友好的欢迎界面2、功能的选择(识别功能,生成功能)3、能对二维码(包括条形码)识别解析4、能够生成用户所需的二维码3.3 系统需求说明根据系统的主要需求进行分析,总结功能需求做如下说明:1、实现对二维码的生成功能。主要就是能够正确的生成客户需要的二维码,就是说能够正确无误的将用户的输入信息转换成二维码。经过分析,要实现最常用的功能,即名片的生成、短信的生成、文本的生成、电子邮件的生成、网络书签的生成。2、实现对二维码的是识别功能。主要就是系统要能够识别二维码(包括条形码),并能够对二维码(包括条形码)进行正确的解析。然后把所解析出来的信息以文字的信息输出来。3、生成和识别的过程中,

25、速度要快。不能是用户等待很久才生成和识别出来,这样一方面说明该系统是失败的,另一方面会对浪费用户的时间,造成不可估量的后果。3.4 系统的可行性分析以前我们进入超市买东西,都知道商品上面是有条形码的,我们也知道,条形码的识别机器是像红外线的东西,我们在信息的时代下,手机的发展越来越广阔,我们中国人平均一个人就有一个半手机,随着智能手机的流行,手机更是发展红火,特别是Android系列的智能手机发展更为广阔,随着Android手机的流行到现在,Android手机已经很普遍了,据调查显示Android手机的市场占有率达到60%以上,二维码的流行的到来,是人们特别的感兴趣,那么结合Android手机

26、和二维码的流行,应该有一个方便与二者之间的软件来使之得到双赢,手机上面有摄像头,是不是能够通过摄像头来进行二维码的识别呢?答案是肯定的,所以,基于Android系统的二维码的识别与生成软件系统是可行的,并且是很有市场需求的。经过上述需求的分析和现在手机上的一些二维码扫描的出现,本论文中提到的各项系统功能的实现是可行的,在后续章节中将于一一介绍。4. 系统设计根据上面章节中系统的需求描述,本章将进行系统的设计。系统设计主要从提供的整体到各个功能部分的设计入手,本节中将分为:系统框架设计 、二维码生成设计、二维码识别生成。4.1 系统框架设计本系统框架结构主要分成生成和识别两大部分,针对二维码的生

27、成部分,我感觉不仅仅要局限于Android手机,也可以编写一个可以在电脑上生成二维码的软件,这样大家使用起来会更加的方便,至于识别方面,在电脑上也完全可以实现,可以调用系统的摄像头进行识别。而本课题主要是基于Android平台,所以在Android平台上二维码的识别主要就是调用Android的摄像头模块,对摄像头进行对焦,回传图像信息,对图像信息进行识别等。生成模块主要是应用了Android的绘图功能,将二维码进行绘制。其中识别的判断是系统自动完成的,而生成的判断是根据用户的选择会进行相应的显示和生成功能。系统功能结构如下图所示:图41系统功能模块图该系统的识别模块方面主要是通过Android

28、手持设备上的摄像头进行图像采集,经过系统的分析识别,来进行二维码(包括条形码)的辨别功能。生成方面的内容相对多,包括名片的生成,短信的生成,文本的生成,电子邮件的生成,网络书签的生成。生成功能主要就是对二维码的生成。而生成这个功能可以在电脑上运行生成,也可以在手机上运行生成。二维码的生成主要支持名片、短信、文本、电子邮件及网络书签的生成。当用户选择好多要生成的对象时,就会把用户输入的信息送到后台,通过调用解析包,来生成还有相应信息的二维码。识别功能主要就是对二维码和条形码的识别。主要就是通过手机的摄像头对二维码或者是条形码进行扫描,然后把把扫描到的二维码或者是条形码送到后台进行解析,如果解析成

29、功后,就不再进行扫描。如果解析不成功,就会在进行扫描采集图像,在传到后台解析,直到能够识别图像为止。4.2 二维码生成二维码的生成,支持多种形式内容的二维码生成。所以用户要先进行选择要生成的类型,当选择类型以后,系统将转入到多选该类型的生成界面给用户,用户将相应的信息填写完成,点击生成二维码,会跳转到生成界面,显示生成的二维码。二维码生成详细流程设计如下图所示:图42二维码生成功能流程图4.3 二维码的识别二维码生成主要是通过对摄像头的调用,启用多线程,对摄像头进行快速的回调应用,当一次回调的图像没有识别出来就进行下一次的回调,直到识别出二维码为止。同时由于对与二维码的大小不同,显示的模糊度不

30、同等等原因,会使摄像头不能很好的采集图像,在这里要使摄像头能够进行自动对焦,从而使识别更快的实现。当识别完成以后就对用户进行提醒,对手机进行震动和播放声音,播放完成,显示识别出来的结果。二维码生成部分的功能流程图详细如下图所示:图43二维码识别功能流程图到此系统的基本设计已经完成,下一步将进行系统的代码的书写。5. 编码与实现打开软件显示软件的logo和版本版权信息。然后就是功能的选择界面,包括生成和识别两个功能,选择识别功能系统便会进入识别状态,将手机摄像头对准要识别的二维码或者是条形码,手机便开始识别,当识别结束,手机会发出声音和震动提示。生成方面,选择相应的生成选项填充内容,点击生成按钮

31、,系统便能生成相应的二维码,当输入字符过长超过二维码的容量时会显示一个超出容量的图片。系统流程设计如下:图51系统总体流程图根据上一章中的设计,本章中将进行系统的编码和实现,主要分为三大部分,识别功能的实现、生成功能的实现、系统总体的实现,下面将对其逐一进行介绍。5.1 识别模块的实现二维码的识别功能主要体现在后台的处理,调用摄像头,打开摄像头进行扫描。将摄像头扫描的数据传给后台,然后后台对扫描来的图像进行处理,进行识别。识别成功就将识别出来的内容显示出来,识别不成功就继续识别。5.1.1 二维码识别的功能实现系统在手机上实现图像的采集是重要的一步,在Android 平台上,是使用Camera

32、 类来完成摄像头的调用和图像采集 使用 Camera mCamera = Camer-a. open () 获得Camera 的实例,然后使用 Camer-a.Parameters 来设置获得图像的大小,最后通过实现Camera. PreviewCallback 的接口 onPreviewFrame( byte data, Camera camera) 来获得摄像头的图像数据data。为能够较快地获得清晰的图像,提高识别速度,文中使用了自动对焦技术。另外还应该对对焦进行定时操作,这就需要设置一个定时器对自动对焦进行定时调用。后台对摄像头传过来的图像数据data进行解码处理,如果能够解析出来,则

33、上面的对焦调用,摄像头回传图像数据调用等将暂停。如果解析不成功,则继续轮回调用。节约解析的时间。主要实现代码如下:public void handleMessage(Message message) switch (message.what) case R.id.auto_focus:/ 当一个自动对焦传递结束后,开始另一个。这是最接近/ 连续自动对焦。它似乎打猎了一点,但我不知道还能做什么。if (state = State.PREVIEW) CameraManager.get().requestAutoFocus(this, R.id.auto_focus);break;case R.id

34、.restart_preview:Log.d(TAG, Got restart preview message);restartPreviewAndDecode();break;case R.id.decode_succeeded:Log.d(TAG, Got decode succeeded message);state = State.SUCCESS;Bundle bundle = message.getData();Bitmap barcode = bundle = null ? null : (Bitmap) bundle.getParcelable(DecodeThread.BARC

35、ODE_BITMAP);try activity.handleDecode(Result) message.obj, barcode); catch (Exception e) e.printStackTrace();break;case R.id.decode_failed:/ 我们尽可能快的解码,所以当一个解码失败,开始另一个.state = State.PREVIEW;CameraManager.get().requestPreviewFrame(decodeThread.getHandler(),R.id.decode);break;case R.id.return_scan_resu

36、lt:Log.d(TAG, Got return scan result message);activity.setResult(Activity.RESULT_OK, (Intent) message.obj);activity.finish();break;case R.id.launch_product_query:Log.d(TAG, Got product query message);String url = (String) message.obj;Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url);inte

37、nt.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);activity.startActivity(intent);break;5.1.2 二维码识别的界面设计二维码的识别界面主要是有一个TextView和一个自定义的扫描框。二维码的识别功能界面设计如下图所示:图52二维码识别界面示意图5.2 生成的实现二维码的生成主要是靠官方相应的编码包,将用户输入字符转换成二维数组,然后根据二维码的编码规范,使用绘图功能将二维码进行绘制,主要实现如下:5.2.1 二维码生成功能的实现二维码的生成根据第四章的系统框架设计,生成主要分为名片、短信、文本

38、、电子邮件、网络书签的生成。需要有相应的框架使程序与用户进行交互,使用户有选择自己想要生成的类型,然后就是用户将自己想编辑的信息输入到系统内,系统应该提供相应的交互界面给用户输入。主要生成代码如下:/ 自定义QRCode函数public void AndroidQREncode(String strEncoding, int qrcodeVersion) try / 构建QRCode编码对象com.swetake.util.Qrcode testQrcode = new com.swetake.util.Qrcode();testQrcode.setQrcodeErrorCorrect(M);

39、testQrcode.setQrcodeEncodeMode(B);testQrcode.setQrcodeVersion(qrcodeVersion);byte bytesEncoding = strEncoding.getBytes(utf-8);if (bytesEncoding.length 0) boolean bEncoding = testQrcode.calQrcode(bytesEncoding);drawQRCode(bEncoding, getResources().getColor(R.drawable.black); catch (Exception e) e.pri

40、ntStackTrace();/ 在SurfaceView上绘制QRCode条形码private void drawQRCode(boolean bRect, int colorFill) /* test Canvas */int intPadding = 20;/ 绘图前先锁定SurfaceholderCanvas mCanvas01 = mSurfaceHolder01.lockCanvas();mCanvas01.drawColor(getResources().getColor(R.drawable.white);Paint mPaint01 = new Paint();mPaint0

41、1.setStyle(Paint.Style.FILL);mPaint01.setColor(colorFill);mPaint01.setStrokeWidth(1.0F);/ 逐一加载boolean数组for (int i = 0; i bRect.length; i+) for (int j = 0; j bRect.length; j+) if (bRectji) / 绘出条形码方块mCanvas01.drawRect(new Rect(intPadding + j * 3 + 2,intPadding + i * 3 + 2, intPadding + j * 3 + 2 + 3,i

42、ntPadding + i * 3 + 2 + 3), mPaint01);mSurfaceHolder01.unlockCanvasAndPost(mCanvas01);5.2.2 二维码生成选择界面设计生成二维码有很多的选择,包括名片,短信,邮件等选择,进入到二维码生成功能首先就是二维码生成类型的选择设计效果如下主要是按钮,点击相应的按钮,系统会进入到相应的用户输入界面,设计如下图所示:图53二维码生成类型选择系统为用户提供相应的选择,让用户选择自己想要生成二维码的类型,然后进入相应的交互页面。该界面设计如下图所示:图54二维码名片生成示意图如果用户选择了名片,系统将显示如上图所示界面,供

43、用户输入自己想要的名片信息。该界面设计如下图所示:图55二维码短信生成示意图如果用户选择了短信,则系统就会转到如上界面,供用户进行输入信息内容。该界面设计如下图所示:图56二维码文本生成示意图如果用户选择了文本,系统跳转到文本页面,用户可以输入自己的文本内容。该界面设计如下图所示:图57二维码邮件生成示意图用户选择邮件,系统跳转到邮件页面,用户便可输入邮件的内容。系统包含有两大模块,二维码的识别和生成模块。系统应该结合两大模块,实现两大模块的组合,形成系统。6. 系统演示与运行经过了长时间的编码设计,完成了第一个版本的开发,以下是对系统进行演示与运行。进行简单的运行测试。6.1 系统的演示说明

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

45、比如通过浏览器上网、安装一些程序、发送短信、手机的设置等等。当然虚拟器的屏幕支持鼠标的点击触屏。这一点的设计上很是新颖,总体的感觉就是在操作手机一样。模拟器的演示如下图:图61 Android模拟器的效果图6.2.1 该系统的欢迎界面与主功能界面l 欢迎界面该界面主要就是显示该系统的主题和一些相关的信息。主要就是该系统的题目、作者等等。欢迎界面的演示如下图所示:图62欢迎界面l 主功能界面这是该系统的主要功能界面,就是对二维码生成和扫描功能的选择界面。通过选择相应的功能跳到相应的功能界面。主功能界面的演示如下图所示:图63主功能界面6.2.2 二维码的生成演示与运行二维码的生成主要就是在输入相应的文字信息时,该系统能够自动生成相应的二维码。该系统主要提供五个方面的文字的

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服