【Android论文栏目提醒】:本文主要为网学会员提供“基于Android平台的图书馆服务系统设计与实现 - 期刊论文”,希望对需要基于Android平台的图书馆服务系统设计与实现 - 期刊论文网友有所帮助,学习一下!
总第 206 期 2011 年 第6 期 应用实践基于
Android 平台的图书馆服务系统设计与实现夏帮贵( 西华大学继续教育学院 成都 610039)【摘要】针对现有图书馆手机服务系统的成本高、数据流量大、响应速度慢等缺点,提出基于
Android 平台的图书馆服务系统的体系结构设计和解决方案。
阐述基于
Android 平台的图书馆服务系统的设计思想、开发模型、主要功能模块以及关键技术。
【关键词】图书馆服务 手机图书馆 Java
Android【分类号】G250. 7Design and Implementation of Library Service System Based on
Android Xia Banggui ( School of Continuation Education,Xihua University,Chengdu 610039,China)【Abstract】Current mobile phone library service systems have the defects of high cost,large data flow,slow response andso on. Aiming at this, solution of system structure about library service system is proposed, a which is based on
Android.The design thoughts,development framework,design and implementation of main function modules and key technology ofthe library system are expatiated in this paper.【Keywords】Library service Mobile phone library Java
Android1 引 言 〔1, 2 〕 图书馆的数字化,是为了将各种资源、工具和服务集成到用户系统,为用户提供桌面或浏览器服务 。
手机服务已成为图书馆主要的远程服务方式。
针对现有图书馆手机服务系统成本高、数据流量大、响应速度慢等缺点,本文采用 Java 和 Socket 技术,设计实现了基于
Android 平台的图书馆服务系统。
该系统可解决以上问题,并可轻松实现集成与扩展。
2 需求分析及技术思路2. 1 手机图书馆服务系统现状分析 图书馆手机服务主要包括图书信息查询、借阅记录查询、图书续借、图书预约、电子图书下载、读者证件挂失、 〔3〕图书馆服务公告等,系统主要采用短信或 WAP 技术实现 。
采用短信技术,需要图书馆建立短信服务器,并与服务提供商( Service Provider,SP) 协商,其建设、运行和维护 收稿日期: 2011 - 04 - 06 收修改稿日期: 2011 - 05 - 29 XIANDAI TUSHU QINGBAO JISHU 85 应用实践成本高; 手机用户以短信方式访问服务,交互性差。
采 如图 1 所示:用 WAP 技术,服务系统实现为 WAP 网站,建设成本较低; 内置 WAP 浏览器的手机用户登录网站访问各种服务,数据流量大、响应缓慢、用户体验差。
2. 2 技术思路
Android 平台是 Google 推 出 的 基 于 Linux 内 核 的嵌入式操作系统平台,不仅应用于智能手机,还广泛应 〔4〕 图1 图书馆服务系统架构用于平板电脑以及其他便携式设备 。
基于
Android 平台的图书馆服务系统由服务器端 客户端服务接口程序负责将服务请求提交给服务接口和客户端系统组成。
服务器端接口封装服务请求 器,接收到服务器响应时,解析响应数据包,将处理结处理和后台数据库访问操作。
客户端系统提供系统服 果呈现给用户。
服务器端的服务接口负责接收客户端务功能, 行 于
Android 平 台。
表 1 对 短 信、 运 WAP 和 服务请求,将数据库操作请求提交给后台数据库,并将
Android 技术进行了对比分析。
数据库处理结果封装为数据包返回客户端。
表1 短信、WAP 和
Android 技术对比分析 3. 2 系统开发框架 对此项 短信 WAP
Android 根据系统体系架构,系统开发框架如图 2 所示: 短 PC、 信 网 关、无 硬件 PC PC 线 Modem服务 包含全部系统功能 包含全部系统功能 服务系统接口,Java器端 软件 的短信收发管理系 的 WAP 网站, 部 WAP 编 程, 署 为 Web 统, 命令编程 AT 网页制作 应用程序
Android 手 机 或 其 硬件 普通手机 智能手机 他设备客户端 包含全部客户服务 手机 WAP 浏览器, 软件 无编程 功能的系统客户 无编程 端, 编程 Java 图2 系统开发框架 数据流量 ≤140B ≤50KB ≤5B( 查询≤1KB) 数据访问接口类,使用 JDBC 实现数据库的更新2. 3 系统特点 ( 添加、删除和修改) 和查询操作。
请求处理类为 Java 基于
Android 平台的图书馆服务系统有以下主要 Servlet,接收客户端服务请求,返回处理结果。
特点: 客户端 接 口 请 求 处 理 类 调 用 HttpURLConnection ( 1) 建 设 成 本 低: 系 统 服 务 器 接 口 直 接 部 署 到 〔6〕 类,访问服务器端请求处理类的 URL , URL 参数 在Web 服务器,对软、硬件平台无特殊要求。
中提供服务识别码和相关参数。
服务识别代码和参数 ( 2) 数据流量小,响应速度快: 客户端运行于 An- 如表 2 所示。
结果解析类调用 SAX API 解析从服务器droid 设备,与服务器的通信采用 Socket HTTP 协议,通 〔6〕 返回的 XML 结果 。
用户界面使用
Android Activity信数据以文本或 XML 格式封装,通信量通常为几个字 和视图组件实现。
节( 查询时不超过 1KB) 。
( 3) 集成方便: 系统直接访问图书馆系统后台数 表2 服务识别代码 服务识别代码 服务类型 服务操作参数据库,与现有图书馆管理系统无关。
1 图书书目信息查询 查询关键字 〔5〕 ( 4) 系统便于扩展、移植和集成 : 客户端和服务 2 读者借阅记录查询 读者借阅证号 3 图书预约 读者借阅证号、图书号器端接口均封装为 Java 类,可直接在 Java 应用程序中 4 图书续借 读者借阅证号、图书号复用,具有跨平台、开源等特点。
5 证件挂失 读者借阅证号 6 图书馆公告3 系统设计3. 1 系统体系架构设计 3. 3 系统功能模块分析 根据系统需求,系统功能模块如图 3 所示。
根据用户需求,系统采用客户 / 服务器体系架构, 86 现代图书情报技术 总第 206 期 2011 年 第6 期 String qr toXml( rs) ; / / 将结果转换为 XML 文本 return qr; / / 返回结果 } 数据访问类 doSqlDb 可部署到 JRE 的 Lib ext 目 录,供服务器的所有 Java 应用程序( 包括 Web 应用程 序) 访问; 或者部署到 Web 应用程序的 web - inf clas- 供 ses 目录, Web 应用程序独立访问。
图3 图书馆服务系统功能模块 ( 2) 服务器端请求处理类实现 服务器端请求处理类 doServlet 扩展自 HttpServlet 系统功能模块运行于客户端,为用户提供各种图 类, processRequest( ) 方法处理客户端请求。
首先从 其书馆服务。
其中系统设置功能用于设置访问图书馆服 客户端请求信息中获得服务识别代码和服务操作相关务使用的个人账号和服务器 IP 地址。
系统通过数据 参数,然后生成相应的数据库操作 SQL 命令,再调用访问类直接访问现有图书馆系统的各种数据库,数据 最 doSqlDb 对象执行 SQL 命令完成数据库操作, 后将库的管理 由 现 有 图 书 馆 系 统 ( 如 本 校 使 用 的 汇 文 系 处理结果返回客户端。
统) 完成,因而系统不需要设置数据库管理功能。
服务器端请求处理类 doServlet 关键代码如下: String sid request. getParameter ( quot sid quot ) ; / / 获 取 服 务 器 识 别4 系统实现 代码 基于系统设计,使用 SQL Server 数据库模拟图书 String readerid request. getParameter( quot readeridquot ) ; / / 获取读者馆数据库,实现系统的服务器端接口、客户端接口和图 证件号 String bookid request. getParameter( quot bookidquot ) ; / / 获取图书号3 中的部分功能。
String key request. getParameter( quot keyquot ) ; / / 获取查询关键字4. 1 服务器端接口实现 String sql getSQL( sid,readerid,bookid,key) ; / / 生成服务操作 服务器端接口开发工具包括: Eclipse、JDK、Tomcat 对应的 SQL 命令和 SQL Server。
doSqlDb db new doSqlDb( ) ; / / 创建数据库操作对象 ( 1) 数据访问类实现 if ( sid. equals( quot 1quot ) sid. equals( quot 2quot ) sid. equals( quot 6quot ) ) { 数据访问类 doSqlDb 成员如表 3 所示: result db. doQuery( sql) ; } if ( sid. equals( quot 3quot ) sid. equals( quot 4quot ) sid. equals( quot 5quot ) ) { 表3 数据访问类 doSqlDb 成员 result db. doUpdate( sql) ; } 成员 功能 out. print( result) ; / / 向客户端返回服务请求处理结果 doSqlDb( ) 方法 创建数据库连接和 Statement 对象 调用 Statement 对象的 executeUpdate( ) 方法完成图书 服务器端请求处理类在图书馆 Web 服务器中配 doUpdate( ) 方法 预约、续借和证件挂失等操作 置为 Web 应用程序,客户端通过其 URL 进行访问。
调用 Statement 对象的 executeQuery( ) 方法完成馆藏 doQuery( ) 方法 书目、新书信息和借阅记录查询操作 4. 2 客户端接口实现 Con 字段 Connection 对象,用于建立和管理数据库连接 客户端 开 发 工 具 包 括 Eclipse、JDK、ADT 和 An- St 字段 Statement 对象,用于执行 SQL 命令,完成数据库操作 droid SDK。
数据访问类 doSqlDb 的关键代码如下: ( 1) 客户端服务接口实现 public String doUpdate( String sql) throws Exception { 客户端接口定义为 Java 类,用户界面模块调用该 / / 执行SQL Insert、Update 命令实现图书预约、续借和证件 类完成 与 服 务 器 的 通 信。
客 户 端 服 务 接 口 由 Clien- 挂失等操作 tRequest( 请求处理类) 和 myHandler( 结果解析类) 两 String qr toXml ( St. executeUpdate ( sql) ) ; / / 执 行 SQL 命 个类组成。
令,将结果转换为 XML 文本 return qr; / / 返回结果 } ClientRequest 类主要成员如表 4 所示。
public String doQuery( String sql) throws Exception { ClientRequest 类关键代码如下: / / 执行SQL Select 完成馆藏书目、新书信息和借阅记录查 public void getDataAt( String urlString) throws Exception { 询操作 URL url new URL( urlString) ; / / 生成标准 URL ResultSet rs this. St. executeQuery( sql) ; URLConnection conn url. openConnection( ) ; / / 请求 URL 连接 XIANDAI TUSHU QINGBAO JISHU 87 应用实践 表4 ClientRequest 类主要成员 qName,Attributes attributes) { 成员 功能 tagName localName; / / 保存当前元素名称 getDataAt( ) 方法 调用 URLConnection 类与服务器通信,提 if( tagName. equals( quot recordquot ) ) queryRecordCount ; / / 统 交请求、返回结果 计记录条数 } queryResultXML 字段 .