首页 基于Android平台的移动图书馆客户端设计与实现

基于Android平台的移动图书馆客户端设计与实现

举报
开通vip

基于Android平台的移动图书馆客户端设计与实现 第 1卷 第 4期 2011年 l2月 智 能 计 算 机 与 应 用 INTELLIGENT COMPUTER AND APPLICATIONS Vo1.1 No.4 Dec.2011 基于Android平台的移动图书馆客户端设计与实现 王艺璇 (吉林大学珠海学院 计算机科学与技术系,广东 珠海 519041) 摘 要:在智能手机软件不断发展的今天,很多传统Pc机上的应用正在向智能手机客户端转移。基于Android平台和智能手机的移动图 书馆系统实现了客户端与服务器的通讯,使得用户...

基于Android平台的移动图书馆客户端设计与实现
第 1卷 第 4期 2011年 l2月 智 能 计 算 机 与 应 用 INTELLIGENT COMPUTER AND APPLICATIONS Vo1.1 No.4 Dec.2011 基于Android平台的移动图书馆客户端设计与实现 王艺璇 (吉林大学珠海学院 计算机科学与技术系,广东 珠海 519041) 摘 要:在智能手机软件不断发展的今天,很多传统Pc机上的应用正在向智能手机客户端转移。基于Android平台和智能手机的移动图 书馆系统实现了客户端与服务器的通讯,使得用户可以通过手机客户端访问和查询各类图书信息。设计了系统框架及功能模块,描述通过无 线通信实现客户端与服务器问的通讯的方法,并列出主要模块的实现算法。 关键词:Android;图书馆;客户端 中图分类号:TP39 文献 标识 采样口标识规范化 下载危险废物标识 下载医疗器械外包装标识图下载科目一标识图大全免费下载产品包装标识下载 码: A 文章编号:2095—2163(201 1]04—0028—04 Design and Implementation of Android Mobile Library Client WANG Yixuan (Computer Science and Technology Department,Zhuhai College of Jilin University,Zhuhai Guangdong 519041,China) Abstract: With the development ofsmart phone,many traditional PC applications are being deployed to phone as clients.Based on Android and smart phone,mobile library system implements communication between client and server to provide users’query and request.This article designs the system architecture and functional module,describes how to implement communication betw een server and client,and lists algorithms ofkey modules Key words:Android;Library;Client 0 引言 科技的发展改变了人们的生活方式,使人们的生活日 趋方便和快捷。伴随着3G网络的日益发展和智能手机的日 趋普及,传统的基于Pc机的很多应用,例如社交网络,网上 购物,在线音乐等,已经逐渐向手机客户端转移。手机终端 正在改变人们的生活与沟通方式,而多种多样智能手机软 件的大量使用则可以满足不同群体的个性化需求。在上述 环境背景下并基于个陆化、智能化的设计目标,本文开发了 基于Android平台和智能手机的移动图书馆系统。 1 Android与无线网 Android是 由谷歌 (Google)和开放手机 联盟 (Open Handset Alliance)所支持的一个手机软件开发平台。目前, 联盟成员数量已经达到了34家,其中包括手机制造商、手 机芯片厂商和移动运营商等几类。完全开源的特性不仅赢 得了广大开发人员的青睐,也为 Android系统赢得了全球智 能手机市场的主导地位。 Android支持多种无线网络连接方式,如GPRS、WiFi、 蓝牙等。通过这些方式,Android手机可以方便地通过无线 网络通信,访问Internet和各种网络上的服务器。同时,An— droid框架提供了对HTFP等通讯协议的支持。 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 协议的 使用,使得客户端与服务器之间的通讯变得简洁又高效。 2 系统设计 2.1 系统框架的设计 移动图书馆系统主要由三个部分组成: (1)前台客户端。负责与用户的交互,将用户的请求发 送给后台服务器; 出响应,发送至客户端; (3)数据库。作为数据存储的介质,只能被服务器访问。 框架设计如图1所示。这种设计有如下优点: 首先,客户端不需要进行大量的计算和数据存储,降低 了客户端的实现难度和对硬件的要求; 其次,采取统一的通信协议和文件格式,可以实现与不 同平台的客户端对接; 最后,服务器端直接与数据库连接,保证了数据的安全 性和一致性。 这种设计模式在现代客户端中被广泛应用,其实用性 和可行性已经得到很好的证实。但这种实现方式也存在一 定的问题,就是对网络的严重依赖 ,如果失去了网络环境, 客户端将变成一个孤岛,失去所有与外界的联系,无法获得 任何数据。但是 ,随着我国网络基础设施的不断完善,一个 稳定高速的网络环境对于现今的智能手机用户将不难成为 现实。 图 1 系统框架设计 2.2 功能模块的设计 设计的第一个阶段,系统主要包含6个功能模块,如图 2所示。这6个功能模块分别是: (1)新书推介和活动通知模块使广大读者可以随时获 得最新咨询,如新到图书,本周推荐,最新活动等; (2)后台服务器端。负责接收客户端的请求并对请求作 (2)馆藏图书查询模块方便读者随时随地查询馆藏图 收稿日期 2011-10—31 作者简介:王艺璇(1985一),女,吉林长春人,硕士,助教,主要研究方向:嵌入式应用软件开发、智能手机应用程序。 第4期 王艺璇:基于Android平台的移动图书馆客户端设计与实现 书、图书的馆藏地以及是否可借等信息; (3)图书定位模块是通过对图书条形码的扫描获知其 位置信息,如本书应该放置在A馆F架第 4排。这个功能 不但方便读者定位已知条形码的图书,更便于管理人员对 散落的图书重新上架归位; (4)身份验证主要提供图书馆的会员身份的验证,在必 要时亦可以代替图书证使用,只有通过身份验证的读者才 可以通过客户端查看我的图书馆中的相关信息; (5)我的图书馆模块提供了用户个人信息的查询,包括 已借图书、图书是不是超期以及自助续借功能; (6)电子资源阅览模块使得读者不需要进入到电子阅 览室,在自己的手机上就可以访问图书馆提供的电子资源。 l \ ///1 星喜 新书推介 活动通知 移动 图书馆 电子资源阅览 图2 系统功能模块设计 3 通信协议 3.1 通信原理 任何一部提供了上网功能的手机都可以通过 GPRS或 者 WiFi连接到网络。下面以GPRS为例,说明客户端与服 务器之间的通讯原理。GPRS是移动运营商提供的手机网络 业务。此业务主要通过手机的SIM卡发信号到运营商设立 的信号接收发射塔,接入到网络,网络回传信号同样通过信 号接收发射塔发回至手机。简单来说,其原理就是在原有的 GSM网络的音频脉冲信号上进行改进,使其采用电磁信号 进行传输,并且扩大了网络带宽。无论使用何种方式,当客 户端连接到网络后就可以使用 HTrP协议进行与服务器的 通信了。即,客户端通过 HrrIP协议向服务器发送get请求, 服务器接收后同样使用 H1TI1P返回用户端请求的数据。 整个系统的通信协议由两部分构成,分别是底层的 H,ITI1P网络协议和上层的自定义通信协议。其中,通信协议 定义了服务器与客户端的交互方式,客户端按照请求协议 进行请求报文的组织,服务器端则按照响应协议进行相应 报文的组织。正是因为有了统一的通信协议,客户端与服务 器的会话得以进行,也使客户端跨平台成为可能。 3.2 底层网络协议 客户端采用HTrP协议与应用服务器进行通信,把私 有通信协议封装在HTFP报文的数据段之中。 (1)客户端发出的H1TIP请求报文格式 POST/OSSServer HTI'P/I.I一 一 一CUS通过 POST 方法提交数据 Connection:close ⋯ 一 一连接断开:close User-agent:CA Client/1.0 一 __客户端种类 Accept:text/plain ⋯ 一 接受文件的格式 Accept—language:en 、 Content—Length:200 Content-Type:text/plain 一 - 一 一 一 接受语言 一 ~ 一 数据段长度 一 ~ 一 数据段的格式 ⋯ _ - _ 一 这有一个换行 一 一 一 数据段(封装私 有协议通信数据) (2)Server返回的 HTTP回应报文格式 HTFP/1.1 200 OK 一 __-一状态行 Connection:close ⋯ ---一连接断开 :close Date:Thu,13 Oct 2006 05:33:47 GMT一 一 一时l司 Server:CA Server/2.2 一 ⋯ 一服务器 Last-Modified:Thu.1 3 0et 2006 02:32:47 GMT 一 ⋯ 上次修改时间 Content—Length:200 一 ___一数据段长度 Content—Type:text/plain 一 ~ 一数据段的格式 一 _ _ _ 一 这有一个换行 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ~ 一 数据段(封装私 有协议通信数据) 3.3 通信协议形式 通信协议的通信数据格式使用JSON,JSON是一种轻 量级的数据交换格式。这种格式利于阅读和编写,同时也易 于机器解析和生成。协议以数据类的形式定义。以下是请求 类和响应类的定义。 (1)请求类的定义 / @Description:客户端请求数据模型 水/ public class RequestData{ private String protocol;//协议版本 private int command;//命令Id,用来标识不同的请求 private String userId;//用户 Id-图书证号 private String clientVersion;//客户端版本 private String clientModel;//客户端机型 //扩展字段 private Map extra = new HashMap< String,String>(); } . 说明:clientVersion字段的内容形如“v1.0”,表示准备发 布的正式版本号。 (2)响应类的定义 / 水 串 @Description:服务器响应数据模型 母/ public class ResponseData{ private String protocol;//协议版本 private int command;//命令 Id private boolean hasUpdate;//是否有更新 ,false表示 智 能 计 算 机 与 应 用 第1卷 无,true表示有更新 private String message;// 提示 春节期间物业温馨提示小区春节期间温馨提示物业小区春节温馨提示春节物业温馨提示物业春节期间温馨提示 信息 private int errorCode;//错误代码,详细定义参考 协议定义 // 展字段 private Map extra = new HashMap< String,String>(); } 以上两个类定义了请求和响应的公共字段,而扩展字段 则根据请求的不同,详见不同事务的相应定义。例如用户登 陆请求command值为 1。请求扩展字段中包含userPassword, 表示用户登陆的密码;相应的响应扩展字段包含 userlnfo,表 示用户基本信息,同时也是JSON字符串,对应用户信息的数 据类定义。通信的具体操作流程如图3所示。 f 客户端根据请求内容创建RequestData类对象 l l 客户端将对象转化为JSON字符串 I 客户端通过H1TI1P协议传送至服务器相应的端121 I 服务器端把 JSON字符串转化为对象 l l 服务器端根据对象内容进行响应 ‘ l 服务器端根据响应内容创建ResponseData对象 l 服务器端将对象转化为 JSON字符串 I 畏务器端将 JSON字符串通过 H1r【1P协议回传至客户端 l 客户端收到响应并把响应结果展现给用户 图3 通信流程图 4 系统主要模块的实现 4.1 图书定位功能的实现 图书定位实现了通过扫描图书条形码信息获得图书具 体存放位置信息。硬件方面,需要摄像头作为扫描设备。根据 目前的市场调查,智能手机都配有百万像素的摄像头,而且大 多数都配备了前后两个摄像头,其拍照速度和清晰度甚至可 以与数码相机相媲美。因而完全可以通过摄像头去扫描条形 码,实时捕捉摄像头当前所获得的图像,并对其进行处理。软 件方面,需要对图片进行快速识别,通过条形码检测(当前图 片是否有条码存在,如果有,则获得条码的具体坐标)和条码 识别(确定条码所包含的数值信息)把图片转换为数值信息。 条码识别的原理描述如下:通过对实时图片的分析获取 黑条与白条的宽度,对整个条形码按照码型的编码规则进行 分割,再依次找寻每个条形码字符的逻辑值在数据库中的匹 配字符来输出⋯。条码信息确定后,使用网络模块向服务器发 送查询图书位置的请求。服务器接到后,根据图书的条码数 据,在数据库中找到该书所对应的条目,提取该书的位置信 息后,返回给客户端。客户端则把返回的位置信息在屏幕上 显示给用户。 现在,使用摄像头扫描条形码并将其转换为数据的技术 已经相当成熟,不单有很多诸如此类的应用问世,更有一些 稳定的第三方库提供了详细的解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。在本系统中对开源 的第三方包ZXing进行了剪裁,从而实现从摄像头图片到条 码信息的转换。Android虽然没有应用程序级别的区分,资源 对所有的应用程序都是开放的,但对于需要使用的资源却必 须在 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 的Manifest.xm!文件中进行注册。本工程通过在 Manifest.xml文件中加人</uses>来获得摄像头资源的 使用权限。 4.2 客户端 UI的设计 作为一款手机软件产品,最直接被用户感知的就是用户 界面,因此友好、美观的用户界面一直是手机操作系统以及 软件开发商的角逐热点。移动图书馆客户端参考了目前市场 上主流的uI设计,采取九宫格的主页面,主色调简洁、明快, 力求在有限的页面上展示读者最关注的信息。图4是主页面 和图书查询效果图。 鬣 鞠骢 缓黼 豳 豳黼鞲 巨 运匿二二 j _ ■ ⋯ 一 |i|。 l 图4 系统 UI设计效果图 4-3 系统安全问题的解决方案 一 款合格的产品必须要重视安全和隐私问题。为保证在 数据传输的过程中用户信息不外泄,因此在系统设计之初就 需着重考虑个人信息存储方式。 在本地数据存储方面,所有从服务器返回的私人数据都 是即时显示,并不在本地保存任何副本。用户在退出当前页 面后,页面显示的信息也就不复存在;如果用户还需要访问 这个页面,则需要重新发送请求。 在数据传输过程中同样也采取了先压缩后加密的方式 来确保数据在传输过程中的安全。其中压缩算法使用GZIP, 这是一款基于LZ77与哈弗曼编码[21的自由压缩软件;而受到 客户端计算能力的限制,加密算法则使用简单的异或操作, 其优势在于实现简单、执行效率高。 5 结束语 本文提出了一个移动图书馆系统,并在Android系统J 得以实现。系统的主要功能集成了传统的馆藏图书查询等功 能,新增了个人图书馆、新书推介、图书定位等多种新功能。 客户端注重用户体验和个性化需求,较好地满足了人们随时 F转第 33页) 第4期 孟令健,等:一种基于硬件的U盘隔离方法的设计与实现 ·33· 操作。对于图2中的主要函数,说明如下 读取设备端批 量传输断点 果设备 到数据2 垄i 解析收到数据 ,根据 CBWCB包 中的 RBC 命 令 码 :Switch(RBC 命令码)进行不同处理 RBC命令 码=0x28 RBC命令 码=0x2a RBC命令 码=0x23 其他 RBC 命令码 执行处理读命令函 数 :ProREAD10(); 执行处理写命令西 数:ProWRITE10(); 执行处理读格式化 容 量命令 函数 : ProREAD — FORMAT CAPACITIES(); 执行处理其余 RBC 命令函数:ProOther- SCSI(); 图 2 隔离器在批量传输过程中的分析、过滤和处理流程 (1)PmREAD10():处理 RBC读操作命令。在该操作中, 需要判断读取数据所在的扇区,如果发现Pc读取 autorun. inf所在扇区的数据,则隔离器将禁止该 CBW命令包发向 u盘,并伪造一个正常的automn.inf数据,通过其 USB设备 端发向主机。其他情况下直接将该 CBW命令包转发给 u 盘,并将 u盘返回的所有数据和CSW状态信息转发给主 机。 (2)ProwRITE10():处理 RBC写操作命令。如果通过隔 离器上的按键关闭了Pc对u盘的只读功能,隔离器向u 盘转发本次的CBW命令和随后来自PC的写入数据,并返 回来自u盘的CSW状态信息。如果通过隔离器上的按键开 启了PC对 U盘的只读功能,隔离器停止向u盘转发此次 CBW命令包,同时过滤掉来自主机的、跟随此 CBW命令包 的所有写数据,最后向主机伪造 13B的CSW状态信息以欺 骗主机,使主机认为已成功完成了写数据操作,如此即可实 现防止PC数据通过 u盘泄密,防止PC病毒感染 u盘的功 能。 4 测试结果 经过实际测试,隔离器能兼容高速、全速和低速传输速 度的u盘。隔离器的病毒隔离测试通过分析 BusHound软 件抓取到的u盘与Pc之间的底层数据、借助Pc上的杀毒 软件和观察 u盘中的数据这三种方法相结合来进行验证 的,结果如下: (1)隔离器能彻底隔离 u盘中的Autorun病毒。 (2)如果通过隔离器上的按键开启了Pc对 u盘的只 读功能,则隔离器能隔离 Autorun病毒、防止 Pc的数据通 过.u盘泄密,防止Pc中的病毒感染到u盘。在此情况下, PC不能向u盘写人数据。 (3)如果通过隔离器上的按键关闭了Pc对 U盘的只 读功能,则隔离器只能隔离Autorun病毒。但在此模式下, PC可以向u盘写入数据。使用隔离器后,主机访问u盘的 数据时,速度会降低。在没有使用U盘隔离器时,主机读取 u盘的速度约为 96Mbps,写数据到 U盘的速度约为 48Mbps;在使用隔离器后 ,主机读取 U盘的速度约为 24Mbps,隔离器在关闭只读功能时,写数据到 u盘的速度 约为 18Mbps,开启只读功能时,写数据到 u盘的速度会比 没有隔离器时更快,速度约为 120Mbps,因为此时 Pc向U 盘写入的数据被隔离器的USB设备端截获,并没有真正写 入到 U盘。 隔离器具备高速 USB桥的功能,仅在U盘和Pc进行 USB枚举过程中,隔离器实现透明传输,因此在Pc上无需 再安装任何驱动即可完成Pc对 u盘的识别,提高了其通 用性、易用性。 5 结束语 本文设计的隔离器没有采用任何操作系统,相对于当 前已有的采用嵌入式操作系统的u盘病毒隔离器,具有更 小的软件负荷和更低的成本。由于隔离器采用高速 USB桥 的设计思想,使用时无需再在Pc上安装任何驱动即可完成 Pc对u盘的识别。而目前已有的u盘病毒隔离器需要在 Pc上安装特定的驱动和软件,因此本次设计具有使用更方 便、通用性更好的特点。使用 u盘隔离器后,主机访问U盘 的数据会降低。虽然速度有所降低,但是 24Mbps的访问速 度是可以接受的,速度的牺牲换回三大安全隐患的解除: (1)Autorun病毒的绝对隔离 ; (2)开启隔离器的只读功能后,隔离器能彻底防止PC 中的数据通过 U盘泄密; (3)开启隔离器的只读功能后,隔离器能彻底防止PC 中的病毒感染到 U盘。因此,本文设计的U盘病毒隔离器 在一些行业或部门具有一定的使用和推广价值。 参考文献: [1]刘宁,赵建华.移动U盘病毒工作原理、清除与防范【J].长春大 学学报,2009(4). 【2]柳志强.浅谈安全使用U盘应注意的几个问题fJ】.莱钢科技, 2006(1). 【3]吴思仪,陈波.U盘病毒及其免疫程序[J].电脑编程技巧与维 护 ,2008(3). [4]杨正彬.基于计算机u盘病毒防范的应用研究[J1'才智,2009 (17). (上接第 3O页) 随地访问图书馆的需要。但是,整个系统还处于初期阶段,仍 存在一些不足和有待改善之处,如界面设计不够专业,缺少互 动以及社交功能等,这些也是移动图书馆系统下~步的工作。 参考文献: [1】战荫伟.128条码的编码分析和识别算法Ⅲ.计算机工程与科 学,2002.24(1):74—76. [2]徐成俊,舒毅,等.文本压缩算法的比较研究lJ1.甘肃科技,2006. [3]师晓青,谢军红.基于3G的智能手机移动图书馆创新研究【J1_ 图书馆研究,2O09. [4】杨丰盛.Android应用开发揭秘 】.北京:机械工业出版社,2— 010:220—276. [5】孙卫琴.Tomcat与Java Web开发技术详解【M】.第2版.北京 电子工业出版社,2009:50—157.
本文档为【基于Android平台的移动图书馆客户端设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_397210
暂无简介~
格式:pdf
大小:364KB
软件:PDF阅读器
页数:4
分类:互联网
上传时间:2012-06-22
浏览量:43