《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于安卓手机的图书馆管理系统设计与实现
基于安卓手机的图书馆管理系统设计与实现
2014年微型机与应用第10期
刘 一,卢 琰,徐小平
广东技术师范学院,广东 广州
摘要: 手机图书馆不仅可以使用户更便捷地访问图书馆,也可以在一定程度上提升图书馆的服务质量和水平[1-2]。图书检索、馆藏管理、借阅管理、个人图书馆等几乎所有的数字图书馆功能都将在手机平台上实现。目前国内基于安卓平台的图书馆管理系统客户端还不成熟,在整体的系统设计上,基本照搬计算机应用的模式,没有根据手机的特点进行针对性的设计。为此,本文设计了一套基于安卓手机的图书馆管理系统。该系统具有传统图书馆管理系统的全部功能,更有针对手机的实用功能设计。
Abstract:
Key words :

  摘  要: 根据智能手机的特点设计并实现了一种图书馆管理系统,该系统具有传统计算机图书馆管理系统的功能,更有针对手机的实用功能设计。读者无需携带实体借书证,可使用虚拟借书证进行借阅登记;无需借助条形码扫描仪器与电脑,管理员通过调用手机的摄像头与网络接口即可完成图书入库和图书的借出与归还登记。

  关键词手机图书馆条形码识别图书管理;虚拟借书证

  手机图书馆不仅可以使用户更便捷地访问图书馆,也可以在一定程度上提升图书馆的服务质量和水平[1-2]。图书检索、馆藏管理、借阅管理、个人图书馆等几乎所有的数字图书馆功能都将在手机平台上实现。目前国内基于安卓平台的图书馆管理系统客户端还不成熟,在整体的系统设计上,基本照搬计算机应用的模式,没有根据手机的特点进行针对性的设计。为此,本文设计了一套基于安卓手机的图书馆管理系统。该系统具有传统图书馆管理系统的全部功能,更有针对手机的实用功能设计。

  1 系统设计

  根据需求分析,功能设计如图1所示。客户端分为管理员界面和读者界面,管理员界面主要用于对图书的扫描识别和出入库、检索等;读者界面可以查看个人借阅信息和图书到期提醒、挂失、检索、虚拟借书证等。其中,图书录入模块通过手机摄像头扫描识别条形码,可以取代传统的条形码识别仪器;网络检索模块通过手机的网络接口检索图书信息,智能填充录入表单,可省去大量的人工输入操作;虚拟借书证模块将学生的学号生成可被识别的条形码图像,显示在客户端界面上,可以取代传统实体借书证进行借阅登记。

001.jpg

  整个系统分为前台客户端和后台服务器两部分,前台客户端提供友好的界面以实现用户注册、登录、查询图书等功能;后台服务器负责操作和管理后台数据库以实现前台客户端提供的大部分功能。用Microsoft SQL Server 2008建立一个数据库,在Servlet服务器程序中使用JDBC连接数据库实现对其中数据的一系列操作,然后将查询结果通过网络返回给客户端,客户端将相关信息呈现给用户。在客户端界面上,用户通过点击按钮选择相应要进行的操作,系统对用户输入进行有效判断,如果输入有效,则新建线程异步处理网络任务,获取到服务器端返回的信息后将数据更新到用户界面。

  2 服务器端的设计

  服务器端利用Java EE中的Servlet来提供服务,并将其部署在Tomcat下。服务器端程序采用MVC框架模式开发,主要包括:org.seven.books.dbc,MVC模式中的底层和数据库层,包中的类用来连接数据库和操作数据库;org.seven.books.dao,MVC模式中的Dao层,为service提供服务,封装对数据库操作的方法;org.seven.books.servlet包则存放服务器程序,通过复写doPost()和doGet()方法来响应客户端的请求。程序流程如图2所示。

002.jpg

  3 安卓手机客户端的设计

  3.1 设计方案

  安卓手机客户端的设计,使用Eclipse在Android SDK 4.1平台上进行开发。主要包括以下几个包:com.google.zxing包,是zxing开源项目的内容,主要用于调用设备摄像头获取条码图像和后台进行解码和编码操作;edu.gdin.booksmanager包,存放Android Activity文件;edu.gdin.booksmanager.adapter包,存放列表适配器,用于填充Activity中自定义的Listview;edu.gdin.booksmanager.utill包,存放网络通信的工具,用于联网获取信息、连接服务器、下载图书封面等;edu.gdin.booksmanager.view包,存放个性化设计的显示部件。程序流程如图3所示。

003.jpg

  3.2 关键技术

  条形码识别是实现书籍录入、出借、归还最关键的技术。条形码识别功能是通过手机的摄像头对条形码进行扫描,然后把扫描到的条形码送到后台进行解析,如果解析成功后,就不再进行扫描;如果解析不成功,则会再进行扫描采集图像,再传到后台解析,直到能够识别图像为止[3-4]。为能够较快地获得清晰的图像、提高识别速度,采用了自动对焦技术,并且定时执行这一对焦操作。后台对摄像头传过来的图像数据data进行解码处理,如果能够解析出来,播放声音对用户进行提醒;如果解析不成功,则继续轮回调用以节约解析的时间[5]。条形码的生成是实现虚拟借书证最关键的技术,主要是靠官方相应的编码包,将用户输入字符转换成一维数组,然后根据条形码的编码规范,使用绘图功能绘制条形码[6]。

  3.3 功能介绍

  (1)注册

  用户输入用户名、密码后,系统将账户信息封装成JSON格式发送到服务端请求登录验证。服务器程序连接数据库查询该账户信息,若存在,明确其账户类型,并将部分用户信息封装成JSON数据返回给客户端,客户端根据服务端返回的信息对系统进行相关的初始化操作,并根据用户类型跳转到指定的界面。

  (2)图书入库

  开源项目ZXing只需要调用设备摄像头取景即可完成对条形码的解码识别,并且具有识别速度快、准确率高的特点。对该项目进行精简和优化后作为一个模块并入本系统客户端。获取ISBN条码后,设计了信息检索模块,通过网络接口在互联网上检索ISBN条码,获取图书相关信息,再运用HTML解析技术过滤出系统需要的部分,智能填充到录入表单,确认信息无误后,只需点击按钮即可将表单提交到服务端,自动生成图书的检索书号和登录号,完成图书的录入操作,如图4所示。

004.jpg

  (3)图书借出与归还

  通过调用条形码识别模块,只需要依次将取景框对准图书登录号条码区域和借书证条码区域,即可识别正在操作的图书登录号和学生借书证号,封装好操作请求发送至服务端完成图书借出或归还的操作。

  (4)查看及检索书库

  管理员与读者均可查看图书馆新入库图书列表,也可以通过书名、作者、ISBN的关键字检索图书馆的馆藏。

  (5)个人图书馆

005.jpg

  读者一经登录系统即可看到个人的借阅记录,如图5所示。列表根据借阅时间的长短进行排序,将已经到期和3天内即将到期的图书用显眼的颜色标识,并调用系统通知栏通知用户。

  (6)虚拟借书证

006.jpg

  根据登录帐号生成一张可以被本系统识别的虚拟借书证,只需要将摄像头取景框对准借书证条码区域即可识别,如图6所示。多数学生并不会随身携带实体借书证,而绝大多数学生是随身携带手机的,只需要在手机上安装图书馆客户端,即可完成借书登记。

  本文设计的图书管理系统不仅具有传统计算机图书馆管理系统的功能,还有针对手机的实用功能。一方面可以利用手机的便携性协助图书管理员随时随地进行图书的管理操作,利用Android手机的摄像头和移动网络接口大大简化了图书管理员的录入、借书、还书操作,而无需借助电脑和条形码扫描设备;另一方面,虚拟借书证的使用可以极大地方便读者借阅图书。

  参考文献

  [1] 吴政.通用手机图书馆系统的设计与实现[J].现代图书情报技术,2009(1):98-104.

  [2] 陈素梅.手机图书馆开辟移动阅读的新时代[J].图书馆建设,2007(5):83-86.

  [3] 刘宁钟,杨静宇.基于傅里叶变换的二维条码识别[J].中国图象图形学报,2011,18(2):45-46.

  [4] 肖翔,刘晓明,王云柯.QR码图像的矫正与定位方法研究[J].计算机科学,2007,23(2):18-20.

  [5] 谷晓琳,黄明,戚海英.基于遗传算法的二维QR码图像识别[J].大连铁道学院学报,2005,12(3):35-38.

  [6] 王文豪,张亚红,全银,等.QRCode二维条码的图形识别技术[J].计算机技术与发展,2009,8(2):40-43.


此内容为AET网站原创,未经授权禁止转载。