劉新娥 劉文華
摘 要:本文設(shè)計(jì)并實(shí)現(xiàn)了基于Android平臺(tái)的校園購物系統(tǒng),項(xiàng)目分為客戶端和服務(wù)器端,客戶端基于Android平臺(tái),服務(wù)器端采用了SSH框架。分層的設(shè)計(jì)和開發(fā),使系統(tǒng)具有很好的擴(kuò)展性,并便于后期維護(hù)。
關(guān)鍵詞:Android;SSH;框架;客戶端;服務(wù)器端
中圖法分類號(hào):TP311.52
隨著人們要求的提高以及3G網(wǎng)絡(luò)的發(fā)展,傳統(tǒng)互聯(lián)網(wǎng)已不能滿足人們的要求,移動(dòng)互聯(lián)網(wǎng)應(yīng)運(yùn)而生。Android系統(tǒng)作為目前最為流行的智能手機(jī)平臺(tái),其相關(guān)應(yīng)用越來越多。本系統(tǒng)開發(fā)了一個(gè)基于Android的校園購物平臺(tái),為在校學(xué)生提供一個(gè)買賣商品的平臺(tái),滿足學(xué)生物品交換的需求。
校園購物系統(tǒng)(Business In School,簡稱BIS),是一個(gè)學(xué)生校內(nèi)交易的平臺(tái),用戶可以使用該平臺(tái)進(jìn)行商品檢索,找到自己需要的商品,聯(lián)系賣家進(jìn)行面對(duì)面交易,也可以發(fā)布二手交易,或者做為一個(gè)換客,以物易物。由于平臺(tái)只面向校內(nèi),所以不提供交易風(fēng)險(xiǎn)擔(dān)保,平臺(tái)只是提供給買家和賣家一個(gè)相互了解渠道。
1 系統(tǒng)架構(gòu)設(shè)計(jì)
校園購物平臺(tái)有服務(wù)端及客戶端,客戶端主要用到Android技術(shù)。
1.1 Android客戶端設(shè)計(jì)
客戶端使用Android技術(shù)[1],借助該技術(shù)可以將客戶端系統(tǒng)很好的移植到手機(jī)上,使用戶可以隨時(shí)隨地登錄到此系統(tǒng)上??蛻舳隧撁嬷饕伤^的活動(dòng)(Activity)組成,每個(gè)活動(dòng)之間由Internet負(fù)責(zé)頁面的跳轉(zhuǎn)及頁面之間的數(shù)據(jù)傳遞。
1.2 系統(tǒng)服務(wù)器端架構(gòu)設(shè)計(jì)
校園購物平臺(tái)的服務(wù)端采用MVC分層設(shè)計(jì)思想,將各個(gè)層面互相獨(dú)立,便于系統(tǒng)的開發(fā)以及后期的維護(hù)。本系統(tǒng)采用SSH(Structs+Spring+Hibernate)框架來實(shí)現(xiàn),整個(gè)服務(wù)器端擴(kuò)展性強(qiáng),可維護(hù)性高。數(shù)據(jù)庫通過利用Hibernate的數(shù)據(jù)庫映射工具完成從表到Java類的映射,通過Hibernate對(duì)該對(duì)象完成持久化操作;然后通過使用Spring的控制反轉(zhuǎn)機(jī)制(IoC)將對(duì)象之間的依賴關(guān)系交由Spring進(jìn)行控制,從而避免硬編碼所造成的過度程序耦合[2]。
表示層,負(fù)責(zé)邏輯層與表現(xiàn)層的交互。調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該部分采用Structs框架的Action處理。控制層負(fù)責(zé)攔截所有Http請(qǐng)求,然后根據(jù)用戶請(qǐng)求決定是否需要調(diào)用業(yè)務(wù)邏輯控制器,如果需要?jiǎng)t請(qǐng)求轉(zhuǎn)發(fā)給Action處理,否則直接轉(zhuǎn)向請(qǐng)求的JSP頁面。業(yè)務(wù)控制層是整個(gè)系統(tǒng)的核心部分,它與實(shí)現(xiàn)的業(yè)務(wù)功能緊密聯(lián)系,其中的各個(gè)功能模塊各自實(shí)現(xiàn)不同的業(yè)務(wù)功能[3]。
業(yè)務(wù)邏輯層,負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯,該層以DAO為基礎(chǔ),通過對(duì)DAO組件的模式包裝,實(shí)現(xiàn)業(yè)務(wù)層組件與具體的數(shù)據(jù)庫訪問技術(shù)分離,使所有的數(shù)據(jù)庫訪問依賴于DAO組件,這樣就可以把邏輯層與DAO層分開,達(dá)到松散耦合的效果[4],完成系統(tǒng)所要求的業(yè)務(wù)邏輯。
數(shù)據(jù)持久層,負(fù)責(zé)與持久化對(duì)象交互。該層封裝了數(shù)據(jù)的增、刪、改、查的操作。
持久化對(duì)象,通過實(shí)體關(guān)系映射工具將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)映射成對(duì)象,很方便地實(shí)現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫,該系統(tǒng)采用Hibernate作為框架。Spring框架貫穿整個(gè)中間層,將Web層、業(yè)務(wù)邏輯層、DAO層和持久化對(duì)象無縫整合,其數(shù)據(jù)服務(wù)層用來存放數(shù)據(jù)。
2.2 服務(wù)器端實(shí)現(xiàn)
2.3 運(yùn)行效果圖
3 結(jié)語
本文設(shè)計(jì)并實(shí)現(xiàn)了基于Android平臺(tái)的校園購物系統(tǒng)。系統(tǒng)在實(shí)現(xiàn)過程中結(jié)合了軟件工程理論和先進(jìn)的智能手機(jī)應(yīng)用,開發(fā)出符合手機(jī)終端用戶行為習(xí)慣的系統(tǒng),以方便自己的生活和學(xué)習(xí),具有很大的實(shí)用價(jià)值。
參考文獻(xiàn):
[1][英]梅爾.Android高級(jí)編程[M].王鵬杰,霍建同譯.北京:清華大學(xué)出版社,2010.
[2]李剛.整合Struts+ Hibernate+ Spring應(yīng)用開發(fā)詳解[M].北京:清華大學(xué)出版社,2007.
[3]余志龍.GoogleAndroidSDK開發(fā)范例大全[M].北京:人民郵電出版社,2O10.
[4]孫鑫.Struts2深入詳解[M].北京:電子工業(yè)出版社,2008.
[5]李寧.人人都玩開心網(wǎng):gxtJS+Android+SSH整合開發(fā)Web與移動(dòng)SNS[M].北京:電子工業(yè)出版社,2010.
[6]徐玲,蔣欣志,張杰.手機(jī)二維碼識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2012,32(5):1474-1476.
[7]馬建紅,姬莉霞,衛(wèi)權(quán)崗.基于Android平臺(tái)的移動(dòng)個(gè)人助手設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2012,32(2):24-26.
作者簡介:劉新娥(1981-),女,碩士,講師,主要研究領(lǐng)域?yàn)檐浖_發(fā)、網(wǎng)絡(luò);劉文華(1991-),男,學(xué)生,主要研究領(lǐng)域?yàn)榛贏ndroid軟件開發(fā)。
計(jì)算機(jī)光盤軟件與應(yīng)用2013年11期