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