ImageVerifierCode 换一换
格式:DOCX , 页数:56 ,大小:1.05MB ,
资源ID:16234052      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16234052.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Android平台条码识别技术的图书查询系统设计与实现.docx)为本站会员(b****7)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于Android平台条码识别技术的图书查询系统设计与实现.docx

1、基于Android平台条码识别技术的图书查询系统设计与实现摘 要随着智能手机一步步走进普通人的生活,它已成为人们获取信息的主要设备,因此手机的应用服务将会有很大的发展空间,条形码搜索应用就是其中一项。Android操作系统是近几年较为流行的手机操作系统,它具有良好的开放性和平台的快捷性等特点,采用Android操作系统的手机越来越受到人们的青睐。商品条形码的编码遵循唯一性原则,以保证商品条形码在全世界范围内不重复,即一个商品项目只能有一个代码,或者说一个代码只能标识一种商品项目。系统客户端采用运用了Android的API以及Google提供的开源组件Zxing,实现对图书条码的拍照及识别功能。

2、服务器采用Java和Servlet技术,根据客户端所识别的图书条码,利用Html解析技术实现图书信息的网络采集功能。系统通过Http协议实现了手机客户端与服务器间通信。本论文详细的提出了系统的架构,分析了系统在实际应用和技术上的可行性,概述了系统实现的具体过程。在论文的第五、六章详细的介绍了客户端和服务器实现的具体方案和关键技术,最后对系统进行了测试。经测试,本系统界面友好,功能完善,操作简单,具有一定的应用价值。关键词:智能手机,Android,条形码 AbstractAs smart phone becomes an important device for people to get i

3、nformation in the Internet, the application for smart phones will have very big development space, and the search service based on bar-code is one of these applications. Android is a popular mobile phone operating system appeared in the last few years, due to its good character such as openness and

4、promptness, Android is accepted by more and more people. Bar-code of commodity can ensure uniqueness worldwide, namely a commodity can only have one bar-code, or a bar-code can only be appointed to one commodity.This client of system is based on Android technology, by using the Android API and open

5、source components Zxing of , the user can take the bar-code picture of a book and identify the bar-code by a smart phone. Java and Servlet technology are adopted in the server, by using Html parsing technology,the server can search the information of the book according to the bar-code given by the c

6、lient. The communication between client and server is realized by. Http protocol.This thesis proposed the details of the system architecture, analyzed the system in the actual application and technical feasibility, summarizes the concrete process of system implementation. In the thesis of the fifth,

7、 sixth chapter introduces the client and server details realize concrete plan and key technology, in the end, system was tested. By test, this system has friendly interface, perfect function, simple operation, and has a certain practical value.Key words: smart phone, android, bar-code第一章 绪论1.1 课题研究的

8、背景及意义随着移动通信技术的发展,在3G技术的背景下,使得智能手机成为拥有更快的传输速率,更强大使用功能的网络终端,更炫的操作界面,并且成为现阶段手机发展的一个热点。智能手机较之传统手机之所以有如此强大的功能,在于其安装了操作系统1。智能手机上的操作系统功能类似于普通的pc机,能对自身的软硬件进行管理,易于拓展,使得智能手机不再仅仅是通讯网络的终端,还将成为移动互联网的终端,智能手机的发展还推动了手机操作系统的发展。目前智能手机上的主流操作系统主要有Symbian OS,Windows CE,Mac OS X以及后起之秀Android等。智能手机正一步步的走进普通人的生活,这意味着智能手机将会

9、成为人们获取信息的主要设备。因此,手机的应用服务将会有很大的发展空间,本课题主要研究的是基于Android平台下的条形码识别与图书搜索。Android操作系统是Google于2007年11月发布,它是基于Linux的开源操作系统平台,开放性好,功能扩展性强,硬件选择丰富,并且能无缝隙的使用Google的应用2。用户使用手机进行普通搜索时,如果在输入过程中关键字表述不清或商品名称不准确,搜索引擎会自动采用模糊搜索,导致搜索结果异常或出错等一系列不符合用户需求的情况。条形码与条形码识别技术的出现可以很好的解决用户检索中出现的问题。条形码(bar code)是将宽度不等的多个黑条和空白,按照一定的编

10、码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到了广泛的应用。条形码具有唯一性,即同种规格同种产品对应同一个产品代码,同种产品不同规格应对应不同的产品代码。根据产品的不同性质,如:重量、包装、规格、气味、颜色、形状等等,赋予不同的商品代码。除此之外条形码还有永久性,即产品代码一经分配,就不再更改,并且是终身的,当此种产品不再生产时,其对应的产品代码只能搁置起

11、来,不得重复起用再分配给其它的商品。商品条形码的诞生极大地方便了商品流通,现代社会已离不开商品条形码,据统计目前我国已有50万种产品使用了国际通用的商品条形码。我国加人世贸组织后,企业在国际舞台上必将赢得更多的活动空间,要与国际惯例接轨,适应国际经贸的需要,企业更不能慢待商品条形码。 因此开发一个基于Android平台下的条形码识别与图书搜索系统是势在必行的。它能精确地检索,方便快捷,具有较强的应用价值。1.2 国内外应用现状分析Google于2007年11月5日宣布开发出基于Linux平台的开源手机操作系统Android,该平台由操作系统、中间件、用户界面和应用软件组成,而且号称Androi

12、d是首个为移动终端打造的真正开放和完整的移动软件。它的核心系统服务依赖于 Linux2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型,这些都由一个任务管理器来控制,既方便又很实用。在我国,Android的应用前景是十分广阔的。首先是其具有广大的消费群体,很多追求时尚的消费者都通过各自的渠道开始使用Android手机,Android系统以其强大功能征服了一批又一批的消费者。同时国内的关于Android的社区也十分红火,这些社区为Android在中国的普及做了很好的推广作用。其次国内的厂商和运营商业纷纷加入Android阵营,包括OPPO,中国移动,中国联通,华为通讯,联想等大企业。

13、华为Pulse,联想乐Phone,中国移动的Ophone,中国联通的Uphone,以及中国电信等企业的悄然跟进,国内的一些大型企业全都致力于Android系统的研发。由于中国巨大的市场潜力诱因与中国营运商们的强力支持,Android平台已经得到中国手机产业链的广泛关注和支持。中国的Android手机正处在高速发展阶段。Android将成为中国智能手机的重要发展方向。我们可以预见Android也将会被广泛应用在国产智能上网设备上,将进一步扩大Android系统的应用范围。在国外,2010年l月5日,Google正式发布首款自有品牌手机 NexusOne,该机采用Androld2.1操作系统,全球

14、第三大手机制造商LG电子也发布声明,在今年20部新手机的研发计划中,将有超过半数采用 Google Android手机操作系统,进一步减少 Windows Mobile的比重。Acer亦做出类似的声明。目前,三星、LG、京瓷和索爱等原本使用 Windows Mobile系统来运行其尖端智能手机的厂商都己开始生产Android手机,摩托罗拉则在2010年已完全舍弃了 Windows Mobile并转向Android。随着3G在世界上特别在我国的不断发展,Android在网络方面的特殊优势将会使其在全世界有美好的未来3。1.3 系统设计的目标系统设计的目标是为广大的校师生提供一个平台,借助Andr

15、oid手机平台,可以根据条形码快速的检索出自己的需求的图书信息(当当网、淘宝网),然后根据获取的图书信息查询图书馆该图书的在馆信息,可根据自我的需求决定是否去图书馆借阅或者去手机淘宝网购买,同时在查询返回的结果页面中提供了一个登陆界面,输入读者证号和密码,即可查阅校图书馆的借阅信息。 整个系统达到下面的要求:(1) 界面友好本系统界面简单、大方,功能较完善,使用方法一目了然,易于用户操作。(2) 功能全面本系统提供了条形码搜索、图片搜索和语音搜索,用于可以随意选择更加方便的途径获取信息。(3) 操作简单手机客户端用户打开软件之后可直接根据主界面的提示进行操作,同时主菜单中增加了一个“提示”按钮

16、,用户可以通过单击此按钮之后获取更加详细的操作帮助。第二章 课题相关技术2.1 Android手机操作系统概述Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由原名为“Android”的公司开发,Google在2005年进行收购“Android.Inc”。Google继续进行对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分,底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式推出三年的操作系统Andr

17、oid已经超越称霸十年的塞班系统,采用Android系统主要厂商包括美国摩托罗拉(MOTOROLA)、韩国的三星(SAMSUNG)、英国索尼爱立信(Sony Ericsson),另外还有中国厂商如:中国台湾HTC、联想、华为、中兴等,使之跃居全球最受欢迎的智能手机平台,Android系统不但应用于智能手机,也在平板电脑市场急速扩张3。2.1.1 Android的主要特点Android平台是全球的第一个完整的完全开放的手机平台,其所有的核心功能都是可以通过标准的接口,为应用提供标准的接口可以调用。所以,Android的开发者使用Android应用程序可以调用标准接口来启动任何一个功能。Andro

18、id 整个平台都是开源的。从最底层的内核到上层的核心的 Runtime和最核心的服务每个环节都是开源的,所有的开发文档和开发环境都是能在网上下载的,开发环境包含设备模拟器、工具、调试器、内存和性能分析工具,以及Eclipse集成开发环境插件,这跟所有Google的产品一样,整个开发系统和平台都是免费的。所以开发者能够按照自己所爱在Android上裁剪和添加功能并且能为其开源节省成本,让更多人能享受到价位更加合理功能更加强大的智能手机。Android是完全平等的平台。对于所有的第三方应用软件,甚至是功能组件都完全平等,开发人员可以更换手机的主屏幕、核心应用软件,如条形码识别,手机拍照拍照,语音搜

19、索等其他开源代码的组件。所有的组件都是独立的,而且可以完全自由的兑换。Android可以将整个手机和互联网都是无缝结合的。Android上的数据,如语音搜索的数据,都是跟Google的云计算服务器绑定的,手机和服务器通过网络互连,如手机端输入语音内容,就可以同时搜索出互联网和手机里的搜索结果3。2.1.2 Android的整体架构分析Android平台是一组面向移动设备的软件包,它的系统架构和其操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层。如图2-1即为Android的整体架构图5:图2-1

20、Android整体架构(1) 应用层Android会将同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。(2) 应用程序框架开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用,任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(必须遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。(3) 系统运行库(a) 程序库Android 包含一些C/C+库,这些库能被Android系统中不

21、同的组件使用,它们通过 Android 应用程序框架为开发者提供服务。 (b) Android 运行库Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都由JAVA编译器编译,然后通过SDK中 的 “dx” 工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于Linux内核的

22、一些功能,比如线程机制和底层内存管理机制。(4) Linux 内核Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。2.1.3 Android的功能(1) 应用程序架构:已提供多种不同的基础软件元素,为开发其它程序提供方便,节省时间精力。(2) DALVIK虚拟机:Google专为手机而开发的节省资料,高效率的多任力的虚拟机,运行手机程序。(3) Android 浏览器:是Google以WEBKIT的浏览引擎为基础开发的,局部缩放,触摸屏。(4) Android 绘图:支持

23、2D(SGL),3D(OPENGL ES)绘图函数库。(5) SQLITE数据库:是一种开放性的源代码关系数据库。(6) 多媒体支持:支持多种不同的媒体格式。(7) GSM驱动模块:Android专门提供了GSM驱动模块。(8) 提供了无线网络:BLUETOOTH,EDGE,3G,WI-FI。(9) 相机,GPS,电子指南针,加速感觉器功能。(10) Android SDK 提供了完善的程序开发环境:模拟器emulator,调查试工具debug bridge,程序所用内存,性能方面的评估功能。2.2 ServletServlet是一种服务器的Java应用程序,具有独立于平台和协议的特性,可以生

24、成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。2.2.1 Servlet生命周期Servlet的生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求、提供服务。Servlet的生命周期如图2-2所示:图2-2 Servlet的生命周期(1) Servlet的初始化init方法

25、被调用,其格式为:public void init(ServletConfig config) throws ServletExceptionsuper.init();(2) Servlet的执行Service方法可以用于实现事务逻辑,是处理请求的地方。在服务器装载初始化Servlet后,Servlet就能够处理客户端的请求,可以用service方法来实现,并且每个客户端请求有它自己service方法。这些方法接收客户端请求,并且发回相应的响应,Servlet能同时运行多个service。这样,service方法可以按一个thread-safe样式编写。如service方法更新Servlet对

26、象中的一个字段field,这个字段是可以同时存取的。假如某个服务器不能同时并发运行service方法,也可以用SingleThreadModel接口,这个接口保证不会有两个以上的线程(threads)并发运行。在Servlet执行期间最多的应用是处理客户端的请求并产生一个网页4。(3) Servlet的结束当服务器卸载一个Servlet,它将调用Servlet的destroy方法。这个destroy方法是与初始化方法相反,同时从内存中释放Servlet。Destroy的格式为:public void destroy() 用户调用destroy实际上不会卸载Servlet,只有Servlet引擎

27、才可以实现此功能。2.2.2 Servlet的优点(1) 功能强大。在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。(2) 执行效率高。在传统的CGI中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。而在Servlet中,每个请求由一个次要的Java线程处理,不需要反复启动,这也叫“一次加载多次使用”。在传统CGI中,如果有N个并发的进程对同一CGI程序发出请求,则该CGI程序的代码在内存中重复装载了N次,而对于Servl

28、et,处理请求的是N个线程,只需加载一次Servlet类代码。从而可以提高处理速度。(3) 开发难度低。相对于传统的CGI,Servlet有很多例程,可以完成许多功能,如网络缓存、Cookies、还有会话跟踪,自动读取Http表头等功能。开发者在这些功能完备的例程的基础上,轻松地开发功能复杂的Web应用程序。(4) 可移植性好。Servlet是使用Java编写的,所以很好地继承了Java的跨平台性特点。由于Servlet API的规范很完备,所以几乎所有的主流Web服务器,如Apache Tomcat、Microsoft IIS或者WebStar等,都直接或者通过插件支持Servlet。(5)

29、 性能更强。Servlet比CGI有着更多的选择,比如缓冲以前的计算结果,保持数据库连接的活动等等2.2.3 Servlet配置Servlet使用Tomcat6.0的安装路径下根目录webapps ROOTWEB-INF这个目录下面的web.xml文件进行注册,打开这个web.xml文件,以使用HelloWorld.java文件,在里面加入: HelloWorld HelloWorld HelloWorld /servlet/HelloWorld 2.3 HTML解析Html解析采用的是html parser。html parser是一个纯的java写的html解析的库,它不依赖于其它的jav

30、a库文件,主要用于改造或提取html。它能超高速解析html,而且不会出错。2.3.1 HTML PARSER的核心内容(1) org.htmlparser 定义了htmlparser的一些基础类。其中最为重要的是Parser类。 Parser是htmlparser的最核心的类,其构造函数提供了如下:Parser.createParser (String html, String charset)、 Parser ()、Parser (Lexer lexer, ParserFeedback fb)、Parser (URLConnection connection, ParserFeedback

31、 fb)、Parser (String resource, ParserFeedback feedback)、 Parser (String resource) 。(2) rg.htmlparser.beans 对Visitor和Filter的方法进行了封装,定义了针对一些常用html元素操作的bean,简化对常用元素的提取操作。 包括:FilterBean、HTMLLinkBean、HTMLTextBean、LinkBean、StringBean、BeanyBaby等。 (3) org.htmlparser.nodes 定义了基础的node,包括:AbstractNode、RemarkNode、TagNode、TextNode等。 (4) org.htmlparser.tags 定义了htmlparser的各种tag。 (5) org.htmlparser.filters 定义了htmlparser所提供的各种filter,主要通过extractAllNodesThatMatch (NodeFilter filter)来对html页面指定类型的元素进行过滤,包括:AndFilter、CssSe

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2