收藏 分销(赏)

Android课程设计论文.doc

上传人:pc****0 文档编号:6639265 上传时间:2024-12-18 格式:DOC 页数:11 大小:1.25MB
下载 相关 举报
Android课程设计论文.doc_第1页
第1页 / 共11页
Android课程设计论文.doc_第2页
第2页 / 共11页
Android课程设计论文.doc_第3页
第3页 / 共11页
Android课程设计论文.doc_第4页
第4页 / 共11页
Android课程设计论文.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、湖北民族学院2015年秋季考查课试卷A或B A 卷课 程移动互联网开发使用班级0313401-04制卷份数姓名彭佳豪命题人张华试卷审核人单位审核人答题纸数班级0313403题 号一二三四五六七八九十合计学号031340308评 分分数阅卷人考查形式为论文撰写,要求如下:一、 内容:以一个实际Android系统为核心,从系统产生背景、问题提出、问题分析、系统分析、系统设计、系统实现等方面进行阐述。二、 具体要求:、题名要求简明扼要,能反映论文主题;摘要必须说明研究目的、方法、结果、结论,字数200字左右为宜,忌与引言及结论中的内容雷同; 2、 字数30005000 字3、 论文参考架构 (请注意

2、各级内容的字体格式,以示区分) 论文标题 (三号黑体) 班级、学号、姓名 (五号宋) 摘 要(五号黑): 内容(五号宋)关键字(五号黑): 内容(五号宋)1引言 2 系统设计(小三黑)2.1 设计原则 (四号黑) 正文(五号宋) 2.2 功能模块划分3 系统实现3.1 实现技术3.2 具体实现3.3 性能优化(如果有的话) 4结束语基于android平台的二维码识别软件的设计与实现 目录1.绪论21.1 研究背景以及意义21.2 Android平台特点21.3 Eclipse简介31.4 Android SDK简介31.5 ADT简介32软件设计32.1 系统概要设计32.2 系统功能模块42

3、.2.1 系统总体功能模块42.2.2 拍照解码功能模块52.3 系统流程图52.3.2 界面设计63 软件实现63.1 代码编写63.2 主界面Activity布局73.3 Activity组件的编写83.4 验证程序读取的二维码信息10总结与展望1211.绪论1.1 研究背景以及意义随着科学技术的发展,物联网已成为当今信息技术当中一门炙手可热的话题。物联网是指通过各种信息传感设备实时采集各种需要的信息并与互联网结合形成的一个大型网络。物联网的目的在于实现物与物、物与人以及所有的物品与网络的连接,以方便识别、管理和控制。物联网由感知层、网络层和应用层三层组成。感知层由各种传感器以及传感器网关

4、构成,其作用在于识别物体和采集信息。条形码技术是集条码理论、光电技术、计算机技术、通信技术等技术于一体的综合性技术。它具有输入速度快、可靠性高、采集信息量大、成本低等特点,近年来发展十分迅速,在国际上广泛应用于商品流通、物流仓储、信息服务等各个领域,极大地提高了生产效率。从寻呼机到目前3G手机的面市,中国人已经习惯了手中的移动手机不停地更新变化。也正是由于这些现实因素,本课题以理论为基础,方便人们生活,提高工作效率为目的而选择本课题。1.2 Android平台特点Android是一个专门针对移动设备的软件集,它包括一个底层Linux操作系统,中间层的中间件和上层的java应用程序。Androi

5、d平台的开发特点如下:(1)应用程序框架支持组件的重用与替换。这在之前的手机操作系统当中是很难想象的。这意味着我们可以把系统中不喜欢的应用程序替换掉,安装我们喜欢的应用程序。(2)Dalvik虚拟机专门为移动设备做了优化。Android应用程序将由java编写、编译的类文件通过DX工具转换成一种后缀名为.dex的文件来执行。Dalvik虚拟机是基于寄存器的,相对于java虚拟机要快很多。(3)内部集成浏览器基于开源的WebKit引擎。有了内置的浏览器,这将意味着WAP应用的时代即将结束,真正的移动互联网时代已经来临,手机就是一台“小电脑”,可以在网上随意遨游。(4)优化了图形库包括2D和3D图

6、形库,3D图形库基于OpenGL ES1.0。强大的图形库给游戏开发带来福音。(5)SQList用作结构化的数据存储。(6)多媒体支持包括常用的音频、视频和静态印象文件格式(如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF)。(7)GSM电话(8)蓝牙,EDGE,3G,WIFI。(9)照相机,GPS,指南针和加速计。(10)丰富的开发环境包括设备模拟器、调试工具,内存及性能分析图表和Eclipse集成开发环境插件。1.3 Eclipse简介Eclipse是一个综合开发环境(Integrated Development Environment)IDE,它是一个功能完整且

7、成熟的软件,由IBM公司于2001年首次推出。大家可以在其官方网站http:/www.eclipse.org免费下载该软件的打包文件,释放到文件夹即可使用。Eclipse是一个开放源代码、基于Java的可扩展开发平台。开放源代码的意思是让使用者能够取得软件的原始码,部分地有权去修改和传播这个软件。有人非常形象地将Eclipse比喻成软件开发者的“打铁铺”,它一开始备有火炉、铁砧与铁锤。就像铁匠会用现有的工具打造新的工具一样,程序员也能用Eclipse打造新工具来开发软件这些新工具可扩充Eclipse的功能。1.4 Android SDK简介Android SDK(software develo

8、pment kit,SDK) Tool软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,是Android专属的软件开发工具包。1.5 ADT简介目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。2软件设计2.1 系统概要设计概要设计的主要任务是设计软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。

9、数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。总体设计包括系统模块结构设计和计算机物理系统的配置方案设计。Android二维码扫描识别系统需要调用我们Android手机的照相机,通过onPictureTaken函数二维码图片处理成位图,而且将位图在imageview中显示出来,然后再对位图进行译码,按照QRCODE二维码生成的方式解码成字符型,QRCODE遵循OMIA规范,如果二维码隐藏信息是一个网址那么调用浏览器访问该网站,如果二维码隐藏的信息是一个电话号码,那么调用手机拨打电话功能,如果该二维码隐藏的信息是普通

10、的文本信息,那么显示出文本信息即可,若不是QRCODE二维码不做任何操作。2.2 系统功能模块系统总体功能有以下几个方面:(1)相机预览功能;(2)关闭相机功能;(3)拍照解码:1)调用浏览器:如果二维码信息隐藏的是以“http:/”开头的网址,那么手机便调用默认浏览器浏览该网址。2)调用拨打电话功能:如果二维码信息隐藏的事以“TEL:”或者是“wtai:”开头的电话号码,那么手机直接调用拨打电话功能。3)显示文本信息:如果二维码信息只是包含一些文本信息,那么直接显示。2.2.1 系统总体功能模块通过上面的对系统的总体功能模块的分析,便可以得出系统总体功能模块图。系统总体功能模块图如图4.1所

11、示。 图4.1 系统总体功能模块图2.2.2 拍照解码功能模块在整个系统模块中最重要的模块是拍照解码功能,因此把这个模块单独分析,将它的功能进行分析如图4.2所示。 图4.2 拍照解码功能模块图2.3 系统流程图系统流程图(System Flowchart)是描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况。本系统流程图如图4.3所示。 图4.3 系统流程图2.3.2 界面设计界面设计是人与机器之间传递和交换信息的媒介,一个好的界面是很重要的。它主要是站在用户角度考虑,因此界面的设计

12、要人性化、简洁、清楚,还要有安全性和灵活性。此系统功能整体上可以分为三个部分。第一部分是相机预览显示部分,这部分用一个surfaceview来实现;第二部分是整个系统操作部分,分为两个按钮,第一个按钮为重扫,第二个按钮为关闭;第三部分是显示拍照截取的二维码图片,在这儿我们用imageview视图来显示。3 软件实现3.1 代码编写在已经搭建好的Android应用程序开发平台:Java JDK SE+Eclipse+GoogleAndroid SDK+ADT中建立Android应用程序程序项目,如图5.1所示。图5.1 建立Android应用程序项目3.2 主界面Activity布局在整个界面的

13、背景,用Surface 整个底层界面用来显示照相机拍摄到的图像。在界面的顶部放置TextView用来存放解码后显示的信息。在界面的中间部分,FrontView 用来把显示到的图像周围都涂成半透明的白色,中间的空白区域用来扫描二维码,ImageView 用来显示扫描二维码成功后截取到的图像。在操作界面的地步,TextView 用来简单介绍本软件可以扫描的范围,Button 用来关闭软件和重新扫描。主界面的Activity的布局是由layout下的main.xml确定的: 3.3 Activity组件的编写相机预览,用于开启手机照相机。我们用一个按钮实现该功能,添加一个按钮并且设置并绑定监听器。在

14、监听器里面我用一个Camera.PreviewCallback()函数实现,函数调用相机的OPEN方法即可实现预览功能同时将变量bIfPreview设置为true。当然我们要取得二维码,因此我们要不活图片,我们需要设置图片的格式和一些参数。private Camera.PreviewCallback previewcallback = new Camera.PreviewCallback() public void onPreviewFrame(byte data, Camera arg1) / 取得指定范围的帧的数据Log.e(tag, previewcallback);PlanarYUVL

15、uminanceSource source = new PlanarYUVLuminanceSource(data, 800, 480, dsLeft, dstop, dswidth, dsheight); mbitmap = source.renderCroppedGreyscaleBitmap();/ 显示灰度图Matrix matrix = new Matrix();matrix.setRotate(90);mbitmap = Bitmap.createBitmap(mbitmap, 0, 0, 400, 350, matrix, true);通过google提供的二维码识别方法getT

16、ext()得到二维码所包含的的字符串信息储存在字符串strQR2中,如果二维码信息隐藏的是以“http:/”开头的网址,那么手机便调用浏览器浏览该网站;如果二维码信息隐藏的是以“wait:/”开头的电话号码,那么手机直接调用拨打电话功能;如果二维码信息隐藏的是以“TEL:”开头的电话号码,那么手机直接调用拨打电话功能;若仅是普通文字,则将文本显示出来即可。try Result result = reader.decode(bitmap);String strQR2= result.getText();String strResult = BarcodeFormat:+ result.getBa

17、rcodeFormat().toString() + text:+ result.getText();if (strQR2 != ) if (URLUtil.isNetworkUrl(strQR2) /* 如果二维码信息隐藏的是以“http:/”开头的网址,那么手机便调用浏览器浏览该网站 */mMakeTextToast(strQR2, true);Uri mUri = Uri.parse(strQR2);Intent intent = new Intent(Intent.ACTION_VIEW, mUri);startActivity(intent); else if (eregi(wtai

18、:/, strQR2) /* 如果二维码信息隐藏的是以“wait:/”开头的电话号码,那么手机直接调用拨打电话功能 */String aryTemp01 = strQR2.split(wtai:/);Intent myIntentDial = new Intent(Android.intent.action.DIAL, Uri.parse(tel:+ aryTemp011);startActivity(myIntentDial); else if (eregi(TEL:, strQR2) /* 如果二维码信息隐藏的是以“TEL:”开头的电话号码,那么手机直接调用拨打电话功能 */String

19、aryTemp01 = strQR2.split(TEL:);Intent myIntentDial = new Intent(Android.intent.action.DIAL, Uri.parse(tel:+ aryTemp011);startActivity(myIntentDial); else /* 若仅是普通文字,则将文本显示出来即可 */mMakeTextToast(strQR2, true);3.4 验证程序读取的二维码信息测试是为了发现程序中的错误而执行程序的过程,测试的目的就是在软件投入生产运行之前,尽可能的发现软件中的错误并能及时改正。当我们把整个项目的完成之后,将其S

20、urfaceViewTest.apk文件拷贝到手机上, 在Android手机上进行安装,能够成功安装软件。为了确定二维码的解析是否正确,通过在线二维码生成器生成包含特定信息的二维码对程序的识别准确率进行测试。(1) 当二维码中包含特定网址信息时,用Android手机对准二维码扫描成功后就会自动调用浏览器,访问特定网址信息,如图3.3所示; 图3.3 网址信息扫描识别成功(2) 当二维码中包含特定电话号码信息时,用Android手机对准二维码扫描成功后会自动调用系统拨号程序,并自动完成特定电话号码输入,如图3.4所示; 图3.4 电话号码扫描识别成功总结与展望在互联网和移动通信不断发展的今天,以

21、手机为代表的移动终端技术及产品得到了极大的推广,Android手机应用程序也是花样翻新层出不穷。通过这次毕业设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。Android二维码的扫描识别系统设计的基本目的,在于通过理论与实际的结合进一步提高思想觉悟,将以前学习的知识串联起来并进一步巩固。在本次毕业设计的Android软件开发过程中,也学习到了很多软件工程领域的规范化的开发方法、建模方法、同时也锻炼了自己查找资料和文档撰写的能力。在需求分析阶段,我根据所学软件工程理论知识,特别是需求分析、总体设计、详细设计部分的知识,和其中的分析和建模的方法,设计了需要实现的基本功能。提出本项目所要实现的目标,系统性能、安全性、可靠性方面的要求等。在系统设计阶段,我们又仔细复习教材中关于概要设计中应用的相关方法、应注意的几个问题和概要设计阶段的目标,在需求分析的基础上有提出了更具体的可行性分析和实现方案。通过这次毕业设计使自己对知识的运用能力得到提升;而且还锻炼了我的自学能力;更重要的是培养了观察、分析和解决问题的实际工作能力,对以后的工作将会起到请不要在框外答卷,第 11 页 共 11 页

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信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 

客服