ZXing条形码扫描技术在移动数字图书馆中的应用

2016-12-15 20:11孔贝贝
电脑知识与技术 2016年27期
关键词:条形码安卓

孔贝贝

摘要:该文通过把条形码扫描技术同移动端网络交互技术进行融合,给出了条形码技术在数字图书馆中使用的通用技术方案。通过对条形码技术及ZXing使用技术进行分析及把ZXing条形码扫描技术用于中科院文献情报中心安卓移动端应用,给开发者们进行数字图书馆及其他移动应用建设提供了思路。通过对ZXing由理论分析到最终的技术使用,详细说明了ZXing在数字图书馆应用中的使用场景与使用方法,为条形码扫描技术在移动端数字图书馆中的应用提供了好的服务范例。Zxing条形码扫描识别技术在移动数字图书馆应用中将发挥更多的作用。

关键词:条形码;移动数字图书馆;ZXing;安卓

分类号:TP391.1 文献标识码:A 文章编号:1009-3044(2016)27-0196-03

1 条形码技术

条形码(barcode)[1]是采用宽度不等的黑条和空白按照一定的编码规则排列用于表达信息的图形识别符,是一组计算机可读数据[11],该数据是信息数据自动识别、输入的重要方法[4],条形码的展示形态有一维码和二维码,展示样例如图1所示。

条形码的使用范围很广,包括动物、植物、医疗、图书馆等方面。图书馆同条形码结合最紧密的就是图书信息,印本图书后面的条形码属于最早被使用的一维码图案,条形码具体全球唯一性,已经在传统的图书借阅业务中担当了十分重要的角色。从最早的表示图书ISBN号的一维码,到现在可以方便表示图书链接信息等信息的二维码,条形码技术的使用可极大的方便用户随时随地的进行图书馆资源的获取。

1.1 条形码扫描技术在移动应用中的使用

条形码扫描技术在移动应用中已经作为被普遍接受的技术,腾讯公司 “QQ浏览器”、优视科技有限公司开发的“UC浏览器”这些主流的手机浏览器软件都融入了条形码扫描技术,可以进行网页的登录、图书的网购等操作。

把移动终端进行条形码扫描技术应用于移动数字图书馆应用中,扩展传统的图书馆业务会成为未来图书馆业务发展的一个趋势。ZXing条形码识别技术[2]对一维码、二维码的扫描都提供了良好的扫描支持,可被应用于安卓平台、IOS平台的移动终端。

1.2 ZXing条形码技术背景介绍

ZXing[2]是由Google提供的一个开源软件,主要用于条形码的生成和扫描,支持众多条形码格式,支持的开发语言也常广泛,包括:Java、C++、C#、Objective-C、ActionScript、Ruby,它所支持的手机平台也非常的广泛,包括目前最为流行的Android(安卓)、IOS(苹果)手机操作系统。目前,ZXing条形码扫描技术在移动端(手机、PAD等)占了条形码扫描的多数市场,ZXing条形码技术的不断成熟也为该技术应用于移动端数字图书馆提供了良好的技术支持。

ZXing所支持扫描的条形码格式如表1所示,包括了基本上所有的条形码。印本图书的ISBN号采用的是一维码格式EAN-13来显示,印本图书的书皮后面的条形码就是该种类型的条形码;图书网站上一般采用的是PDF417格式的二维码。

Zxing条形码识别技术可以快速、良好的在无网络连接的条件下识别这两种条形码的内容,这对开发各种类型的移动端应用提供了良好的支持。条码扫描技术可方便的融入到采访、编目、流通子系统中去。图书的ISSN号都有自己的查重机制,不再对图书进行重新编码,直接采用ISSN号对图上进行归类,可大量减少图书整理归档操作。在图书的借阅、归档中采用ISSN号进行整理,

1.3 ZXing条形码扫描技术方法介绍

Android是由google开发的移动端软件系统,目前在世界上有190多个国家已经使用该平台基础上开发的手机,由于它的开源性,最近几年得到了非常迅猛的发展。本文中着重对ZXing条形码在Android端[3]移动应用的原理及使用进行分析与介绍。

Android采用Java技术为上层应用开发的语言,ZXing也有提供基于该语言类型的版本支持。直接从官网上下载ZXing.jar包做为开发的支撑包采用ZXing中提供的函数,就可以协助完成二维码的扫描,开发者根据扫描结果如图2的ISBN结合图书馆的相应接口完成图书的信息获取。

2 ZXing条形码扫描技术与Android移动数字图书馆应用的结合

中科院文献情报中心在条形码扫描技术成熟以及移动数字图书馆业务兴起之时加入到了移动数字图书馆应用开发的行列中来,条形码扫描技术作为其中的一项服务内容,也被纳入到了中科院文献情况中心作为应用的一个重要模块来开发。中科院文献情报中心采用条形码获取技术,结合资源集成服务系统及借还书系统,提供图书信息的查看,借阅、续借等服务。

2.1 ZXing条形码扫描技术与移动数字图书馆应用的结合的处理流程

条形码扫描与移动端应用结合所采用到的技术方案的处理流程,开发者在进行开发的时候需要把从网站上下载的zxing.jar包引入到工程中,整个技术方案的流程如图4所示。程序中的详细使用流程如下:

第一步,打开手机的摄像头,完成摄像头的初始化操作。移动端设备的摄像头会被当成一个扫描仪来使用。android中手机摄像头的控制类是android.hardware.Camera,其中包括摄像头的打开、闪光灯的控制等函数,加入权限控制:android.permission.CAMERA,并且申请使用摄像头硬件的特性:android.hardware.camera以及自动对焦特性android.hardware.camera.autofocus。

第二步,是进行条形码的扫描工作。扫描前ZXing库需初始化加载不同的条形码样式,ZXing代码中把条形码样式分成了四大类:产品类、一维码类、qr code二级码类、data matrix类。在加载不同条形码类型成功后,移动端应用开始采用手机摄像头进行对焦操作,完成对焦能获取到清晰的图像后,把捕获的图像当成一个二进制的图像进行处理,获取到条形码识别的文字信息即印本图书的ISBN号。

第三步,根据ISBN号获取图书的相应服务。通过中科院文献情报中心资源集成发现系统提供的查询接口根据ISBN号进行图书信息及相应服务信息的获取。移动终端通过使用HTTP协议同服务器终端提供的接口进行交互从而提供相应的服务数据[5-6],以适合移动端的显示方式展示给用户相关的服务信息。

通过以上三步,完成了从扫码到获取服务的整个过程,该过程是一个通用处理流程,开发者可根据不同的应用场景为用户提供丰富的服务内容。

2.2 采用ZXing条形码扫描技术进行数字图书馆的借阅

中科院文献情报中心的移动文献服务平台应用安卓版提供了基于ZXing条形码扫描技术的二维码功能模块。该应用程序的开发工具是集成了Google的Android开发包SDK的Eclipse,并在代码中引入了Zxing二维码扫描技术所提供的开发包zxing.jar,针对二维码扫描结果的处理,依托于http://beta.las.ac.cn以及http://opac.las.ac.cn/所提供的接口内容,通过结合方案,最终可给用户提供该本图书的基本信息(标题、作者、摘要等信息),以及服务链接(在架状态、在线链接、原文传递等服务),方便的给用户提供了便捷的数字化图书馆服务。以下是中科院文献情报中心的移动文献服务平台提供服务的过程及内容。

一、本文试图书是Google Android SDK开发范例大全(第2版),通过ZXing条形码扫描技术,我们得到该图书的ISBN号为:9787115229649。

二、通过该ISBN号,采用http://beta.las.ac.cn提供的图书查询接口,可以得到中科院文献情报中心提供的关于该图书的详细信息介绍及服务信息(如图4)。

三、结合OPAC所的服务接口http://opac.las.ac.cn/,采用ISBN号进行图书馆藏情况的查询,可以得到该本图书在图书馆中的一些介绍信息以及在架位置、索书号以及在架状态(在架、出借、编目中等)等信息。

通过以上操作,还可以延伸出许多非常有用的功能,如进行图书信息的分享,直接分享图书信息给QQ好友、微信等等社交软件中去,方便用户记录,结合图书的ISBN号,利用网上提供的开源接口信息,如豆瓣的开源接口http://book.douban.com/isbn/isbn号/进行图书内容的简单查询以及用户的评价信息的获取。

3 结束语

本文介绍了条形码扫描技术及其应用场景,并且分析了ZXing条形码扫描技术库包的结构及其使用方式,并提供了条形码扫描技术同移动数字图书馆结合的技术流程,在该流程的基础上开发出了中科院文献情报中心的移动文献服务平台安卓版应用。未来有人提出用二维码替换条形码,其实是指用二维码替换一维码,不管采用哪种编码方式,ZXing都可以正确得到存储信息,都可以提供正确的服务。ZXing条形码扫描技术作为一个支持多移动平台的扫描技术,可为数字化图书馆应用提供良好的技术支持。

参考文献:

[1] 维基百科. 二维条形码[EB/OL]. [2014-10-06]. http://zh.wikipedia.org/wiki/%E4%BA%8C%E7%BB%B4%E7%A0%81.

[2] Cocoa China. 如何在IOS中使用ZXing库[EB/OL]. [2013-01-04]. http://www.cocoachina.com/applenews/devnews/2013/0104/5462.html.

[3] Android Developers. Android Developers[EB/OL]. [2014-10-06]. http://developer.android.com/index.html.

[4] 陈丹晖. 条形码技术与应用[M]. 北京: 化学工业出版社, 2011: 11-12

[5] 王家林. Android 4.0网络编程详解[M]. 北京: 电子工业出版社, 2012: 421-511.

[6] 余志龙, 陈昱勋, 郑名杰, 等. Google Android SDK开发范例大全[M]. 2版.北京: 人民邮电出版社, 2010: 103-191.

猜你喜欢
条形码安卓
创意条形码
MIPS安卓平台上ARM二进制翻译系统
文物表情包
从条形码到二维码
从条形码到二维码
安卓系统或成智能汽车标配
有趣的条形码
条形码大变身
一种基于安卓系统的手机侧抓包分析方法
安卓L未至安卓M来了!安卓首泄漏M系统