吳英賓 范國(guó)渠
摘 要:在高速無(wú)線網(wǎng)絡(luò)日益成熟和智能手機(jī)大量普及的環(huán)境下,本文針對(duì)高職院校圖書(shū)資源應(yīng)用的實(shí)際需求,設(shè)計(jì)并實(shí)現(xiàn)了一款基于Android平臺(tái)的圖書(shū)資源推介系統(tǒng),系統(tǒng)分為服務(wù)器端和Android客戶端,服務(wù)器端通過(guò)互聯(lián)網(wǎng)提供服務(wù)接口,Android客戶端提供圖書(shū)資源推介信息查詢(xún)、收藏、管理、讀者互動(dòng)等功能。
關(guān)鍵詞:Android;圖書(shū)資源;高職教育;Web Service
中圖分類(lèi)號(hào): TP311.1 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展和智能手機(jī)的大量普及,手機(jī)終端正在改變?nèi)藗兊纳钆c溝通方式[1],根據(jù)中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)統(tǒng)計(jì),截止到2014年6月,手機(jī)端已超過(guò)PC端成為我國(guó)互聯(lián)網(wǎng)第一入口。同時(shí),國(guó)際數(shù)據(jù)公司(IDC)報(bào)告顯示,Android平臺(tái)在智能手機(jī)中的使用率達(dá)79.3%,占有絕對(duì)統(tǒng)治地位。在上述環(huán)境與背景下,本文結(jié)合高職院校圖書(shū)資源應(yīng)用需求的特點(diǎn),設(shè)計(jì)并實(shí)現(xiàn)了基于Android平臺(tái)的圖書(shū)資源推介系統(tǒng)。
2 需求分析(Requirement analysis)
高職教育宗旨在于,培養(yǎng)能夠適應(yīng)經(jīng)濟(jì)社會(huì)發(fā)展要求的技能型人才[2],其最重要的特征為其“職業(yè)”性,因此,高職院師生的閱讀需求也與行業(yè)企業(yè)、專(zhuān)業(yè)技術(shù)和職業(yè)崗位密切相關(guān),而目前很多高職院校的圖書(shū)資源推介工作仍以張貼海報(bào)、網(wǎng)站查詢(xún)等傳統(tǒng)方式為主,不僅更新慢、互動(dòng)性差,還忽視了大部分師生都采用智能手機(jī)進(jìn)行信息查詢(xún)這一客觀事實(shí),圖書(shū)資源推介效果不明顯。
基于Android平臺(tái)的高職圖書(shū)資源推介系統(tǒng),不僅可以適時(shí)推薦恰當(dāng)圖書(shū)[3],方便學(xué)生通過(guò)下載、安裝手機(jī)APP實(shí)時(shí)了解最新最熱的圖書(shū)資源推介信息,還能邀請(qǐng)知名行業(yè)、企業(yè)專(zhuān)家作為圖書(shū)資源推介者推介權(quán)威圖書(shū)信息,充分體現(xiàn)了推介圖書(shū)的專(zhuān)業(yè)性、職業(yè)性和實(shí)用性,最大限度滿足高職師生的閱讀資源需求。
3 系統(tǒng)設(shè)計(jì)(Architecture design)
3.1 架構(gòu)設(shè)計(jì)
本系統(tǒng)有三個(gè)部分組成:
(1)Android客戶端。負(fù)責(zé)與用戶進(jìn)行交互,通過(guò)Wi-Fi、TD-SCDMA等無(wú)線網(wǎng)絡(luò)[4],將用戶請(qǐng)求發(fā)送至服務(wù)器端,并將服務(wù)器反饋數(shù)據(jù)友好的展現(xiàn)給用戶。
(2)WEB服務(wù)器端。負(fù)責(zé)接受Android客戶端的請(qǐng)求,進(jìn)行業(yè)務(wù)處理和相應(yīng)的數(shù)據(jù)庫(kù)操作,以WEB Service方式將數(shù)據(jù)封裝后發(fā)回客戶端。
(3)數(shù)據(jù)庫(kù)。負(fù)責(zé)存儲(chǔ)系統(tǒng)所有業(yè)務(wù)數(shù)據(jù),僅由WEB服務(wù)器端進(jìn)行訪問(wèn),對(duì)Android客戶端完全透明。
采用以上架構(gòu)設(shè)計(jì),可以使系統(tǒng)層次清晰、職責(zé)明確,完全符合現(xiàn)代軟件工程的軟件設(shè)計(jì)理念。首先,Android客戶端專(zhuān)注于提供簡(jiǎn)潔優(yōu)美的UI,只需通過(guò)HTTP協(xié)議訪問(wèn)服務(wù)器端指定服務(wù)接口,無(wú)需關(guān)心復(fù)雜的業(yè)務(wù)處理和數(shù)據(jù)存儲(chǔ);其次,服務(wù)器端專(zhuān)注于接收、解析和處理客戶端請(qǐng)求,訪問(wèn)數(shù)據(jù)庫(kù)獲取需要的資源和信息[5],然后將處理結(jié)果以JSON格式的數(shù)據(jù)包發(fā)回客戶端;只允許系統(tǒng)WEB服務(wù)器對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),保證系統(tǒng)的安全性、完整性和一致性。系統(tǒng)架構(gòu)圖圖如圖1所示。
圖1 系統(tǒng)架構(gòu)圖
Fig.1 System architecture diagram
3.2 功能設(shè)計(jì)
根據(jù)系統(tǒng)的業(yè)務(wù)需求,系統(tǒng)在功能設(shè)計(jì)上分為服務(wù)端和客戶端兩部分,其中服務(wù)器端和Android客戶端各六個(gè)功能模塊,系統(tǒng)功能結(jié)構(gòu)圖如圖2所示。
圖2 系統(tǒng)功能結(jié)構(gòu)圖
Fig.2 System function structure diagram
(1)用戶管理。對(duì)系統(tǒng)中的各種用戶信息進(jìn)行管理,對(duì)用戶的權(quán)限、角色進(jìn)行定義和管理。
(2)圖書(shū)類(lèi)別管理。對(duì)系統(tǒng)中的圖書(shū)類(lèi)別進(jìn)行管理,這里除了直接導(dǎo)入中圖分類(lèi)標(biāo)準(zhǔn)外,也可進(jìn)行自定義圖書(shū)類(lèi)型,保證圖書(shū)類(lèi)型的定義的靈活性。
(3)圖書(shū)標(biāo)簽管理。對(duì)圖書(shū)的標(biāo)簽(Tag)進(jìn)行設(shè)置,通過(guò)給圖書(shū)指定標(biāo)簽,可以突出圖書(shū)的特點(diǎn),便于用戶進(jìn)行快速搜索匹配,方便讀者用戶快速找到和專(zhuān)業(yè)、行業(yè)相匹配的的圖書(shū)。
(4)圖書(shū)管理。對(duì)系統(tǒng)中所有的圖書(shū)信息進(jìn)行管理,可以進(jìn)行批量圖書(shū)導(dǎo)入和導(dǎo)出,方便推介者進(jìn)行推介操作,盡量減少圖書(shū)資源推介者額外進(jìn)行圖書(shū)添加等操作。
(5)數(shù)據(jù)統(tǒng)計(jì)分析。對(duì)系統(tǒng)的各類(lèi)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,如各個(gè)分類(lèi)、標(biāo)簽的圖書(shū)關(guān)注程度及讀者收藏次數(shù)統(tǒng)計(jì),可以分析得出圖書(shū)資源推介信息排行等信息,為客戶端提供數(shù)據(jù)訪問(wèn)支撐。
(6)系統(tǒng)配置。完成批量導(dǎo)入學(xué)生、教師及專(zhuān)家信息等,免去注冊(cè)環(huán)節(jié),減輕系統(tǒng)Android客戶端負(fù)擔(dān),同時(shí)提供了數(shù)據(jù)備份恢復(fù)和系統(tǒng)日志的管理功能。
(7)個(gè)人信息管理。供用戶對(duì)自己的個(gè)人信息進(jìn)行查看、修改。
(8)推介信息管理。系統(tǒng)核心功能,讀者角色用戶可以查看熱門(mén)圖書(shū)資源推介信息,也可按照?qǐng)D書(shū)類(lèi)別、標(biāo)簽推介者進(jìn)行搜索,推介者角色用戶可以進(jìn)行添加圖書(shū)資源推介信息,并可將推介信息推送給特定讀者角色用戶群體。
(9)收藏管理。提供用戶對(duì)自己喜愛(ài)的圖書(shū)資源推介信息進(jìn)行收藏的功能,便于以后進(jìn)行查看。
(10)評(píng)論管理。讀者角色用戶可以對(duì)推介信息進(jìn)行評(píng)論,推介者用戶可以對(duì)評(píng)論進(jìn)行回復(fù)、刪除等操作。
(11)個(gè)人偏好設(shè)置。讀者角色用戶可以設(shè)置自己的閱讀偏好,系統(tǒng)會(huì)自動(dòng)根據(jù)讀者的偏好設(shè)置信息(如標(biāo)簽、推介者等)進(jìn)行圖書(shū)資源推介信息的推送。
(12)圖書(shū)推送管理。推介者用戶可以通過(guò)設(shè)置將自己圖書(shū)資源推介信息推送至特定讀者用戶群體,如專(zhuān)業(yè)教師可將特定推介信息推送至自己的授課班級(jí)的全體學(xué)生用戶,同時(shí)可以對(duì)推送信息進(jìn)行修改、刪除等操作。endprint
4 系統(tǒng)實(shí)現(xiàn)(System implementation)
4.1 服務(wù)器端功能實(shí)現(xiàn)
服務(wù)器端功能在實(shí)現(xiàn)上采用了業(yè)界最為流行的輕量級(jí)JavaEE開(kāi)發(fā)框架SSH(Struts2+Spring+Hibernate[6]),利用Struts2框架進(jìn)行WEB請(qǐng)求處理和數(shù)據(jù)封裝;利用Spring框架對(duì)系統(tǒng)中的所有Java對(duì)象、數(shù)據(jù)庫(kù)連接等資源進(jìn)行統(tǒng)一管理,利用Hibernate框架進(jìn)行ORM映射,簡(jiǎn)化數(shù)據(jù)庫(kù)操作。下面以圖書(shū)管理功能為例,該功能實(shí)現(xiàn)主要涉及的類(lèi)、接口列表如表1所示。
表1 圖書(shū)管理模塊所涉類(lèi)及接口
Tab.1 Library management function related classes and
interfaces list
類(lèi)名 功能描述
Book.java 實(shí)體類(lèi),通過(guò)Java Annotation實(shí)現(xiàn)與數(shù)據(jù)庫(kù)表tb_book的ORM映射
IBookDAO.java 圖書(shū)數(shù)據(jù)庫(kù)操作接口,定義了圖書(shū)的增刪改查等各種接口方法
BookDAOHibImpl.java 圖書(shū)數(shù)據(jù)庫(kù)操作接口Hibernate實(shí)現(xiàn)類(lèi),具體實(shí)現(xiàn)圖書(shū)相關(guān)的各種數(shù)據(jù)庫(kù)操作
IBookService.java 圖書(shū)業(yè)務(wù)接口,聲明了圖書(shū)各種業(yè)務(wù)接口方法
BookServiceImpl.java 圖書(shū)業(yè)務(wù)接口實(shí)現(xiàn)類(lèi),實(shí)現(xiàn)了各種業(yè)務(wù)的具體操作
BaseAction.java 基礎(chǔ)控制器Action,繼承ActionSupport,并提供了request,session等各種常用頁(yè)面對(duì)象,主要用于被其他Action繼承
BookAction.java 圖書(shū)WEB層控制器,用于接受圖書(shū)相關(guān)請(qǐng)求、處理并響應(yīng)請(qǐng)求
Struts2在處理Android客戶端請(qǐng)求時(shí)設(shè)置Action的視圖轉(zhuǎn)發(fā)類(lèi)型為JSON,利用Java Annotation在處理方法前聲明其返回類(lèi)型為JSON,配置后可向客戶端提供各種JSON數(shù)據(jù)包,Book Action類(lèi)方法注解代碼如下:
(value = "/book/findBookById", results = { @Result(name = "success", type = "json") })
同時(shí),通過(guò)在Spring配置文件applicationConfig.xml中設(shè)置注解參數(shù),讓Spring自動(dòng)管理Hibernate,并關(guān)注Annotation的Action,完成對(duì)Struts2和Hibernate的整合。
4.2 Android客戶端功能實(shí)現(xiàn)
在服務(wù)器端的WEB服務(wù)支撐下,Android客戶端功能實(shí)現(xiàn)上主要涉及到UI設(shè)計(jì)、業(yè)務(wù)處理和網(wǎng)絡(luò)訪問(wèn)。在UI設(shè)計(jì)上遵循簡(jiǎn)潔、易用的原則,每個(gè)功能UI界面對(duì)應(yīng)于一個(gè)Activity和一個(gè)獨(dú)立的XML布局文件;業(yè)務(wù)處理上采用分而治之的設(shè)計(jì)思想,每個(gè)功能設(shè)計(jì)一個(gè)專(zhuān)門(mén)的業(yè)務(wù)處理類(lèi),該類(lèi)主要負(fù)責(zé)響應(yīng)用戶輸入、請(qǐng)求網(wǎng)絡(luò)服務(wù)和返回處理結(jié)果;客戶端實(shí)行統(tǒng)一網(wǎng)絡(luò)訪問(wèn),通過(guò)設(shè)計(jì)通用的網(wǎng)絡(luò)訪問(wèn)和JSON解析功能的工具類(lèi),專(zhuān)門(mén)用于業(yè)務(wù)處理類(lèi)的調(diào)用。下面以圖書(shū)資源推介信息管理實(shí)現(xiàn)為例,說(shuō)明其實(shí)現(xiàn)過(guò)程,該功能實(shí)現(xiàn)主要涉及到的類(lèi)如表2所示。
表2 圖書(shū)資源推介信息管理功能所涉類(lèi)
Tab.2 Book recommendation function related class list
類(lèi)名 功能描述
BookIntroActivity.java 推介信息展示Activity
BookIntroListActivity.java 推介信息列表展示Activity
BookIntroBiz.java 推介信息業(yè)務(wù)處理(搜索、查看等)類(lèi)
JSONUtil.java 自定義JSON數(shù)據(jù)解析工具類(lèi),處理JSON與Java對(duì)象的轉(zhuǎn)換
NetUtil.java 自定義網(wǎng)絡(luò)訪問(wèn)工具類(lèi),用于處理各種網(wǎng)絡(luò)訪問(wèn)
Android客戶端圖書(shū)資源推介信息列表展示功能和圖書(shū)資源推介詳情展示功能的最終效果如圖3所示。
圖3 圖書(shū)資源推介功能效果圖
Fig.3 Library resources recommendation function
effect diagram
5 結(jié)論(Conclusion)
本文針對(duì)高職院校圖書(shū)資源推介工作的弊端,設(shè)計(jì)并實(shí)現(xiàn)了基于Android平臺(tái)的圖書(shū)資源推介系統(tǒng)。系統(tǒng)由服務(wù)器端進(jìn)行業(yè)務(wù)處理和數(shù)據(jù)庫(kù)操作,通過(guò)互聯(lián)網(wǎng)和無(wú)線網(wǎng)提供WEB服務(wù);由Android客戶端與用戶交互,符合云計(jì)算和高速無(wú)線網(wǎng)絡(luò)環(huán)境下“云+端”的設(shè)計(jì)理念,用戶體驗(yàn)良好。本系統(tǒng)不僅適用于高職院校,也可用于各類(lèi)與行業(yè)企業(yè)結(jié)合緊密的高校和科研院所,對(duì)各類(lèi)圖書(shū)資源推介工作的研究具有一定的實(shí)用和參考價(jià)值。
參考文獻(xiàn)(References)
[1] 王藝璇.基于Andriod平臺(tái)的移動(dòng)圖書(shū)館客戶端設(shè)計(jì)與實(shí)現(xiàn)
[J].智能計(jì)算機(jī)與應(yīng)用,2011,1(4):27-33.
[2] 陶虹,曲濤.試論高職 “1+1+1”技能型人才培養(yǎng)模式[J].教
育與職業(yè),2013,6(682):10-12.
[3] 李冰.論網(wǎng)絡(luò)時(shí)代如何做好圖書(shū)推薦工作[J].綏化學(xué)院學(xué)報(bào),
2011,31(2):182-183.
[4] 魏崇毓,張菲菲.基于Android平臺(tái)的視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)
算機(jī)工程,2012,38(14):214-216.
[5] 夏幫貴.基于Android平臺(tái)的移動(dòng)學(xué)習(xí)系統(tǒng)[J].西華大學(xué)學(xué)報(bào)
(自然科學(xué)版),2011,30(5):81-84.
[6] 王磊,危建國(guó),程偉根.基于SSH的系部教研室信息管理系統(tǒng)設(shè)
計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2013,12(10):109-111.
作者簡(jiǎn)介:
吳英賓(1983-),男,碩士,講師.研究領(lǐng)域:軟件技術(shù).
范國(guó)渠(1969-),男,碩士,副教授.研究領(lǐng)域:數(shù)字化校園,
信息管理.endprint
4 系統(tǒng)實(shí)現(xiàn)(System implementation)
4.1 服務(wù)器端功能實(shí)現(xiàn)
服務(wù)器端功能在實(shí)現(xiàn)上采用了業(yè)界最為流行的輕量級(jí)JavaEE開(kāi)發(fā)框架SSH(Struts2+Spring+Hibernate[6]),利用Struts2框架進(jìn)行WEB請(qǐng)求處理和數(shù)據(jù)封裝;利用Spring框架對(duì)系統(tǒng)中的所有Java對(duì)象、數(shù)據(jù)庫(kù)連接等資源進(jìn)行統(tǒng)一管理,利用Hibernate框架進(jìn)行ORM映射,簡(jiǎn)化數(shù)據(jù)庫(kù)操作。下面以圖書(shū)管理功能為例,該功能實(shí)現(xiàn)主要涉及的類(lèi)、接口列表如表1所示。
表1 圖書(shū)管理模塊所涉類(lèi)及接口
Tab.1 Library management function related classes and
interfaces list
類(lèi)名 功能描述
Book.java 實(shí)體類(lèi),通過(guò)Java Annotation實(shí)現(xiàn)與數(shù)據(jù)庫(kù)表tb_book的ORM映射
IBookDAO.java 圖書(shū)數(shù)據(jù)庫(kù)操作接口,定義了圖書(shū)的增刪改查等各種接口方法
BookDAOHibImpl.java 圖書(shū)數(shù)據(jù)庫(kù)操作接口Hibernate實(shí)現(xiàn)類(lèi),具體實(shí)現(xiàn)圖書(shū)相關(guān)的各種數(shù)據(jù)庫(kù)操作
IBookService.java 圖書(shū)業(yè)務(wù)接口,聲明了圖書(shū)各種業(yè)務(wù)接口方法
BookServiceImpl.java 圖書(shū)業(yè)務(wù)接口實(shí)現(xiàn)類(lèi),實(shí)現(xiàn)了各種業(yè)務(wù)的具體操作
BaseAction.java 基礎(chǔ)控制器Action,繼承ActionSupport,并提供了request,session等各種常用頁(yè)面對(duì)象,主要用于被其他Action繼承
BookAction.java 圖書(shū)WEB層控制器,用于接受圖書(shū)相關(guān)請(qǐng)求、處理并響應(yīng)請(qǐng)求
Struts2在處理Android客戶端請(qǐng)求時(shí)設(shè)置Action的視圖轉(zhuǎn)發(fā)類(lèi)型為JSON,利用Java Annotation在處理方法前聲明其返回類(lèi)型為JSON,配置后可向客戶端提供各種JSON數(shù)據(jù)包,Book Action類(lèi)方法注解代碼如下:
(value = "/book/findBookById", results = { @Result(name = "success", type = "json") })
同時(shí),通過(guò)在Spring配置文件applicationConfig.xml中設(shè)置注解參數(shù),讓Spring自動(dòng)管理Hibernate,并關(guān)注Annotation的Action,完成對(duì)Struts2和Hibernate的整合。
4.2 Android客戶端功能實(shí)現(xiàn)
在服務(wù)器端的WEB服務(wù)支撐下,Android客戶端功能實(shí)現(xiàn)上主要涉及到UI設(shè)計(jì)、業(yè)務(wù)處理和網(wǎng)絡(luò)訪問(wèn)。在UI設(shè)計(jì)上遵循簡(jiǎn)潔、易用的原則,每個(gè)功能UI界面對(duì)應(yīng)于一個(gè)Activity和一個(gè)獨(dú)立的XML布局文件;業(yè)務(wù)處理上采用分而治之的設(shè)計(jì)思想,每個(gè)功能設(shè)計(jì)一個(gè)專(zhuān)門(mén)的業(yè)務(wù)處理類(lèi),該類(lèi)主要負(fù)責(zé)響應(yīng)用戶輸入、請(qǐng)求網(wǎng)絡(luò)服務(wù)和返回處理結(jié)果;客戶端實(shí)行統(tǒng)一網(wǎng)絡(luò)訪問(wèn),通過(guò)設(shè)計(jì)通用的網(wǎng)絡(luò)訪問(wèn)和JSON解析功能的工具類(lèi),專(zhuān)門(mén)用于業(yè)務(wù)處理類(lèi)的調(diào)用。下面以圖書(shū)資源推介信息管理實(shí)現(xiàn)為例,說(shuō)明其實(shí)現(xiàn)過(guò)程,該功能實(shí)現(xiàn)主要涉及到的類(lèi)如表2所示。
表2 圖書(shū)資源推介信息管理功能所涉類(lèi)
Tab.2 Book recommendation function related class list
類(lèi)名 功能描述
BookIntroActivity.java 推介信息展示Activity
BookIntroListActivity.java 推介信息列表展示Activity
BookIntroBiz.java 推介信息業(yè)務(wù)處理(搜索、查看等)類(lèi)
JSONUtil.java 自定義JSON數(shù)據(jù)解析工具類(lèi),處理JSON與Java對(duì)象的轉(zhuǎn)換
NetUtil.java 自定義網(wǎng)絡(luò)訪問(wèn)工具類(lèi),用于處理各種網(wǎng)絡(luò)訪問(wèn)
Android客戶端圖書(shū)資源推介信息列表展示功能和圖書(shū)資源推介詳情展示功能的最終效果如圖3所示。
圖3 圖書(shū)資源推介功能效果圖
Fig.3 Library resources recommendation function
effect diagram
5 結(jié)論(Conclusion)
本文針對(duì)高職院校圖書(shū)資源推介工作的弊端,設(shè)計(jì)并實(shí)現(xiàn)了基于Android平臺(tái)的圖書(shū)資源推介系統(tǒng)。系統(tǒng)由服務(wù)器端進(jìn)行業(yè)務(wù)處理和數(shù)據(jù)庫(kù)操作,通過(guò)互聯(lián)網(wǎng)和無(wú)線網(wǎng)提供WEB服務(wù);由Android客戶端與用戶交互,符合云計(jì)算和高速無(wú)線網(wǎng)絡(luò)環(huán)境下“云+端”的設(shè)計(jì)理念,用戶體驗(yàn)良好。本系統(tǒng)不僅適用于高職院校,也可用于各類(lèi)與行業(yè)企業(yè)結(jié)合緊密的高校和科研院所,對(duì)各類(lèi)圖書(shū)資源推介工作的研究具有一定的實(shí)用和參考價(jià)值。
參考文獻(xiàn)(References)
[1] 王藝璇.基于Andriod平臺(tái)的移動(dòng)圖書(shū)館客戶端設(shè)計(jì)與實(shí)現(xiàn)
[J].智能計(jì)算機(jī)與應(yīng)用,2011,1(4):27-33.
[2] 陶虹,曲濤.試論高職 “1+1+1”技能型人才培養(yǎng)模式[J].教
育與職業(yè),2013,6(682):10-12.
[3] 李冰.論網(wǎng)絡(luò)時(shí)代如何做好圖書(shū)推薦工作[J].綏化學(xué)院學(xué)報(bào),
2011,31(2):182-183.
[4] 魏崇毓,張菲菲.基于Android平臺(tái)的視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)
算機(jī)工程,2012,38(14):214-216.
[5] 夏幫貴.基于Android平臺(tái)的移動(dòng)學(xué)習(xí)系統(tǒng)[J].西華大學(xué)學(xué)報(bào)
(自然科學(xué)版),2011,30(5):81-84.
[6] 王磊,危建國(guó),程偉根.基于SSH的系部教研室信息管理系統(tǒng)設(shè)
計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2013,12(10):109-111.
作者簡(jiǎn)介:
吳英賓(1983-),男,碩士,講師.研究領(lǐng)域:軟件技術(shù).
范國(guó)渠(1969-),男,碩士,副教授.研究領(lǐng)域:數(shù)字化校園,
信息管理.endprint
4 系統(tǒng)實(shí)現(xiàn)(System implementation)
4.1 服務(wù)器端功能實(shí)現(xiàn)
服務(wù)器端功能在實(shí)現(xiàn)上采用了業(yè)界最為流行的輕量級(jí)JavaEE開(kāi)發(fā)框架SSH(Struts2+Spring+Hibernate[6]),利用Struts2框架進(jìn)行WEB請(qǐng)求處理和數(shù)據(jù)封裝;利用Spring框架對(duì)系統(tǒng)中的所有Java對(duì)象、數(shù)據(jù)庫(kù)連接等資源進(jìn)行統(tǒng)一管理,利用Hibernate框架進(jìn)行ORM映射,簡(jiǎn)化數(shù)據(jù)庫(kù)操作。下面以圖書(shū)管理功能為例,該功能實(shí)現(xiàn)主要涉及的類(lèi)、接口列表如表1所示。
表1 圖書(shū)管理模塊所涉類(lèi)及接口
Tab.1 Library management function related classes and
interfaces list
類(lèi)名 功能描述
Book.java 實(shí)體類(lèi),通過(guò)Java Annotation實(shí)現(xiàn)與數(shù)據(jù)庫(kù)表tb_book的ORM映射
IBookDAO.java 圖書(shū)數(shù)據(jù)庫(kù)操作接口,定義了圖書(shū)的增刪改查等各種接口方法
BookDAOHibImpl.java 圖書(shū)數(shù)據(jù)庫(kù)操作接口Hibernate實(shí)現(xiàn)類(lèi),具體實(shí)現(xiàn)圖書(shū)相關(guān)的各種數(shù)據(jù)庫(kù)操作
IBookService.java 圖書(shū)業(yè)務(wù)接口,聲明了圖書(shū)各種業(yè)務(wù)接口方法
BookServiceImpl.java 圖書(shū)業(yè)務(wù)接口實(shí)現(xiàn)類(lèi),實(shí)現(xiàn)了各種業(yè)務(wù)的具體操作
BaseAction.java 基礎(chǔ)控制器Action,繼承ActionSupport,并提供了request,session等各種常用頁(yè)面對(duì)象,主要用于被其他Action繼承
BookAction.java 圖書(shū)WEB層控制器,用于接受圖書(shū)相關(guān)請(qǐng)求、處理并響應(yīng)請(qǐng)求
Struts2在處理Android客戶端請(qǐng)求時(shí)設(shè)置Action的視圖轉(zhuǎn)發(fā)類(lèi)型為JSON,利用Java Annotation在處理方法前聲明其返回類(lèi)型為JSON,配置后可向客戶端提供各種JSON數(shù)據(jù)包,Book Action類(lèi)方法注解代碼如下:
(value = "/book/findBookById", results = { @Result(name = "success", type = "json") })
同時(shí),通過(guò)在Spring配置文件applicationConfig.xml中設(shè)置注解參數(shù),讓Spring自動(dòng)管理Hibernate,并關(guān)注Annotation的Action,完成對(duì)Struts2和Hibernate的整合。
4.2 Android客戶端功能實(shí)現(xiàn)
在服務(wù)器端的WEB服務(wù)支撐下,Android客戶端功能實(shí)現(xiàn)上主要涉及到UI設(shè)計(jì)、業(yè)務(wù)處理和網(wǎng)絡(luò)訪問(wèn)。在UI設(shè)計(jì)上遵循簡(jiǎn)潔、易用的原則,每個(gè)功能UI界面對(duì)應(yīng)于一個(gè)Activity和一個(gè)獨(dú)立的XML布局文件;業(yè)務(wù)處理上采用分而治之的設(shè)計(jì)思想,每個(gè)功能設(shè)計(jì)一個(gè)專(zhuān)門(mén)的業(yè)務(wù)處理類(lèi),該類(lèi)主要負(fù)責(zé)響應(yīng)用戶輸入、請(qǐng)求網(wǎng)絡(luò)服務(wù)和返回處理結(jié)果;客戶端實(shí)行統(tǒng)一網(wǎng)絡(luò)訪問(wèn),通過(guò)設(shè)計(jì)通用的網(wǎng)絡(luò)訪問(wèn)和JSON解析功能的工具類(lèi),專(zhuān)門(mén)用于業(yè)務(wù)處理類(lèi)的調(diào)用。下面以圖書(shū)資源推介信息管理實(shí)現(xiàn)為例,說(shuō)明其實(shí)現(xiàn)過(guò)程,該功能實(shí)現(xiàn)主要涉及到的類(lèi)如表2所示。
表2 圖書(shū)資源推介信息管理功能所涉類(lèi)
Tab.2 Book recommendation function related class list
類(lèi)名 功能描述
BookIntroActivity.java 推介信息展示Activity
BookIntroListActivity.java 推介信息列表展示Activity
BookIntroBiz.java 推介信息業(yè)務(wù)處理(搜索、查看等)類(lèi)
JSONUtil.java 自定義JSON數(shù)據(jù)解析工具類(lèi),處理JSON與Java對(duì)象的轉(zhuǎn)換
NetUtil.java 自定義網(wǎng)絡(luò)訪問(wèn)工具類(lèi),用于處理各種網(wǎng)絡(luò)訪問(wèn)
Android客戶端圖書(shū)資源推介信息列表展示功能和圖書(shū)資源推介詳情展示功能的最終效果如圖3所示。
圖3 圖書(shū)資源推介功能效果圖
Fig.3 Library resources recommendation function
effect diagram
5 結(jié)論(Conclusion)
本文針對(duì)高職院校圖書(shū)資源推介工作的弊端,設(shè)計(jì)并實(shí)現(xiàn)了基于Android平臺(tái)的圖書(shū)資源推介系統(tǒng)。系統(tǒng)由服務(wù)器端進(jìn)行業(yè)務(wù)處理和數(shù)據(jù)庫(kù)操作,通過(guò)互聯(lián)網(wǎng)和無(wú)線網(wǎng)提供WEB服務(wù);由Android客戶端與用戶交互,符合云計(jì)算和高速無(wú)線網(wǎng)絡(luò)環(huán)境下“云+端”的設(shè)計(jì)理念,用戶體驗(yàn)良好。本系統(tǒng)不僅適用于高職院校,也可用于各類(lèi)與行業(yè)企業(yè)結(jié)合緊密的高校和科研院所,對(duì)各類(lèi)圖書(shū)資源推介工作的研究具有一定的實(shí)用和參考價(jià)值。
參考文獻(xiàn)(References)
[1] 王藝璇.基于Andriod平臺(tái)的移動(dòng)圖書(shū)館客戶端設(shè)計(jì)與實(shí)現(xiàn)
[J].智能計(jì)算機(jī)與應(yīng)用,2011,1(4):27-33.
[2] 陶虹,曲濤.試論高職 “1+1+1”技能型人才培養(yǎng)模式[J].教
育與職業(yè),2013,6(682):10-12.
[3] 李冰.論網(wǎng)絡(luò)時(shí)代如何做好圖書(shū)推薦工作[J].綏化學(xué)院學(xué)報(bào),
2011,31(2):182-183.
[4] 魏崇毓,張菲菲.基于Android平臺(tái)的視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)
算機(jī)工程,2012,38(14):214-216.
[5] 夏幫貴.基于Android平臺(tái)的移動(dòng)學(xué)習(xí)系統(tǒng)[J].西華大學(xué)學(xué)報(bào)
(自然科學(xué)版),2011,30(5):81-84.
[6] 王磊,危建國(guó),程偉根.基于SSH的系部教研室信息管理系統(tǒng)設(shè)
計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2013,12(10):109-111.
作者簡(jiǎn)介:
吳英賓(1983-),男,碩士,講師.研究領(lǐng)域:軟件技術(shù).
范國(guó)渠(1969-),男,碩士,副教授.研究領(lǐng)域:數(shù)字化校園,
信息管理.endprint