基于Android的二维码生成与识别APP设计与实现

 2022-01-17 23:27:15

论文总字数:15688字

目 录

1 绪论 1

1.1 本课题背景 1

1.1.1二维码简介 1

1.1.2 二维码在国内外的发展情况 1

1.2 本课题的目的与意义 1

2 关键技术和开发环境 2

2.1 Android系统的架构 2

2.2开发环境 2

2.2.1 开发平台和工具 2

2.2.2 调试环境 2

2.3关键技术 3

2.3.1 Android开发的四大组件 3

2.3.2 关键技术 3

2.4 可能遇到的问题 4

3需求分析 4

3.1系统需求描述 4

3.2系统需求分析 4

3.3系统需求说明 5

3.4系统可行性分析 5

3.4.1 技术可行性 5

3.4.2 经济可行性 5

4 QRCode编码译码 6

4.1 QRCode基本结构 6

4.2 QRCode编码过程 6

4.3 QRCode译码 9

5系统设计 9

5.1系统框架分析 9

5.2 二维码的生成设计 11

5.2.1二维码生成子界面设计 11

5.3二维码的识别设计 13

5.3.1二维码识别的界面设计 13

6系统的编码与实现 14

6.1二维码生成模块的功能实现 14

6.2二维码识别模块的功能实现 15

7演示与运行 16

7.1系统演示与说明 16

7.2在模拟器端的运行 16

7.3在Android移动设备端的运行 17

8总结与展望 19

8.1总结 19

8.2展望 19

参考文献 20

致 谢 21

基于Android的二维码生成与识别APP设计与实现

施文彬

, China

Abstract:With the popular use of smart mobile phone and the grow of QRCode , the way to obtain information has great change and people have new choice now. Smart mobile phone has affected and changed our lives gradually, such as mobile banking, payment with QRCode. Now the wide use of QRCode makes works more simple, more convenient that means it improves the work efficiency in many areas such as data management aspects, applications or services.In this thesis, a QRCode generation and recognition system based on Android platform is recommended.The requirement analysis of the system has been made firstly.Then,the overall functions are designed in several aspects such as the system development environment, the system frame, and the system function. Finally, the system of QRCode generation and recognition occurred with the use of Java language,including a QRCode generation function module and a QRCode recognition function module. According to the tests of the system functions, results show that the system has a nice interface, a whole set of function, and also has a huge potential user group and a wider application.

Keywords: Android; QRCode generation and recognition; JAVA

1 绪论

1.1 本课题背景

1.1.1二维码简介

二维码,又称为二维条码,常见二维码为QRCode,QR全称为Quick Response。二维码起源于日本,它是以某种特定的几何图形并按一定规律在平面上分布的黑白相间的图形,用来记录数据符号信息的。二维码存储信息容量大,可加密,可以电子图片的形式储存。实际应用中可以把一本书的内容储存在一张A4纸上,当然我们是不能直接阅读的,必须通过一些专业的软件工具和设备进行解析后才能阅读,而一张A4纸上可以储存约30万字的信息。而它的可加密性则是可以把机密的信息保存在一个二维码中,例如我们平时网页端登陆微信只要扫网页上的二维码就可以登陆的功能或者电脑端qq的扫码登陆功能。同时因为它可以保存为电子图片,所以可以通过wap、彩信等方式传播。利用这个特点,它被应用到制作电子凭证,像电子优惠券、电子车票、电子兑换券、电子签到证等。

1.1.2 二维码在国内外的发展情况

国外对二维码技术研究始于20世纪80年代末,目前很多公司将二维码应用于航天、海关等需要应用证件管理的方向,有唯一性的特性。而现在国外的技术已经普遍很成熟了。我国对二维码的研究开始则较晚,开始于90年代,目前尚不成熟,但是国内的需求量很大,与日剧增,所以对二维码的研究也是迫切的。

1.2 本课题的目的与意义

现在几乎每个人都拥有一台属于自己的智能手机,而且智能手机上很多应用也带有扫描二维码和生成二维码的功能。但是很少有专门为二维码而写的应用软件,方便用户管理自己的二维码信息。二维码的应用在日常生活中都必须由一个手机app来充当媒介。因此我想通过本次课题来编写一个能够生成二维码和解读二维码的手机app软件,并在该软件上实现一些我们日常生活中常用到的获取信息的功能。

系统主要两部分组成:二维码识别模块与二维码生成模块

(1)二维码识别模块:用户打开应用点击识别二维码按钮,点击扫描后将手机摄像头对准二维码并自动对焦,抓取二维码后进行分析解码,解码完成后系统得出分析结果并在手机屏幕上显示出来。

(2)二维码生成模块:该模块由几个小的模块组成,为用户提供几个所需的二维码类型。例如:名片、书签、电子邮件等等。为用户提供一个特定的格式结构以填写要生成的信息,然后点击生成按钮就可以生成相应得二维码。生成后根据用户需要,提供了一个可保存为二维码图片的功能。

本课题是对二维码技术的探索与应用。相信随着时间和技术的发展,这方面的应用功能会越来越人性化,二维码应用会成为人们生活中更加简单实用、安全可靠的工具。

2 关键技术和开发环境

2.1 Android系统的架构

由于本系统是基于Android的开发,因此必须先了解Android的系统架构,和安卓操作系统一样,Android架构分为四个层,从下往上依次是linux核心库层、系统运行库层、应用程序框架层和应用程序层,如图2-1所示。

图2-1 Android系统架构图

2.2开发环境

2.2.1 开发平台和工具

本次设计是基于Android的应用开发,开发环境则是选择windows操作系统,而二维码的扫描需要调用摄像头,二维码的解析需要调用开源架构等,基于这些考虑,选择android studio作为本次开发的工具。

Android studio是一款非常实用的安卓集成开发工具,对于其他工具来说有着它自身的优点,例如代码提示非常方便,搜索功能强大,开发过程中许多布局和代码中可以实时预览,同时自带的一系列插件也免去了开发者不少的麻烦。Android studio是基于gradle的构建支持,

加上更加丰富的模板代码,这让此次设计开发中程序的编写更加的简单。自带的提示工具对于一些版本兼容问题能够有效的捕捉,方便解决问题。界面设计中控件可以直接通过编辑器拖放,并且可以实时预览。最关键的是eclipse中缺失的插件,基本都可以找到。

2.2.2 调试环境

由于是二维码安卓应用,编译调试自然需要在安卓平台,本次设计选择海马玩模拟器作为调试工具。模拟器Android版本为4.2.2

2.3关键技术

2.3.1 Android开发的四大组件

核心应用程序使用的是API框架,开发人员是可以直接访问的。该架构的设计能够简化组件的重用;并且每一个应用程序都能发布它自己的功能块,同样其他应用程序也可以使用该程序发布的功能块。同样的,用户也可以使用应用程序的重用机制来替换其他的程序组件。

Android四大组件:activity、service、content provider、broadcast receiver。

Activity(活动):用于表现功能的窗口。

(1)Android程序中,Activity就是与用户交互的窗口。

(2)Activity中可以添加button等一系列控件。

(3)一个程序包含多个Activity,它们一起工作但是相互独立。

Service(服务):后台运行服务,界面不提供展现。

(1)service后台进行的服务,可以和其他组件进行交互。开启service分为两种方式:

(a)调用startService()方法启动服务时,service未启动,会先调用oncreate(),然后onstart();service已运行,就直接调用onstart(),因此,onstart()可以多次调用。

(b)调用bindService()方法绑定到服务时,service从oncreate()到onbind(),onbind再将IBind接口实例返回给客户端。

剩余内容已隐藏,请支付后下载全文,论文总字数:15688字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;