張婷
(唐山學院計算機科學與技術(shù)系 河北唐山 063000)
“智慧城市”建設是我國“十二五”規(guī)劃的重要戰(zhàn)略目標之一,而城市移動信息化是“智慧城市”建設的重要組成部分。利用移動技術(shù),構(gòu)建一個信息化應用與服務平臺,為城市中的居民、企事業(yè)單位等提供一個綜合的、統(tǒng)一接口的移動信息化服務,是推動城市發(fā)展與建設的有力動力。近年來,隨著移動通信應用技術(shù)的發(fā)展和人們對隨時隨地獲取資訊,尤其對互聯(lián)網(wǎng)移動化需求的增強,手機作為隨身便捷、更具時效性的媒體出現(xiàn),已逐漸成為人們新聞資訊主要來源。手機媒體的快速發(fā)展,必然加大對社會的影響力,充分利用手機等移動終端作為城市移動信息化建設的平臺,建立和完善相應的信息傳播管理機制,為完善信息社會做更大努力。
城市門戶建設分為三個層面,一是移動政務,移動信息化技術(shù)將傳統(tǒng)的政務應用結(jié)合到移動通信平臺[1],為城市居民與政府職能部門之間搭建了一座可以隨時溝通的橋梁;二是移動商務,高效城市是移動商務的發(fā)展方向,移動信息化有效地提高辦公的效率,使商務生活在快節(jié)奏中有條不紊;三是移動生活,針對城市居民的城市新聞資訊、旅游咨詢、生活服務、購物、娛樂節(jié)目等。唐山作為國家級科學發(fā)展示范區(qū),在其“十二五”城市信息化發(fā)展規(guī)劃中,著重提出數(shù)字城市的建設,因此,城市移動門戶-“掌上唐山”的建設顯得尤為重要。
“掌上唐山”以本地資源為依托,立足于打造城市掌上“虛擬城市”,建立本地化的信息內(nèi)容,側(cè)重于本地生活信息和內(nèi)容,整合本地資源,提供便民服務。為我市本地移動用戶和外地客商提供最全面的本地新聞、衣食住行以及貼近生活的信息查詢服務,為廣大市民提供一站式的生活解決方案,同時也是展示我市形象的重要窗口,是城市對外和對內(nèi)宣傳的重要陣地。
根據(jù)調(diào)研,考慮到實際應用,前臺使用Android技術(shù),后臺應用JSP+M ysql開發(fā)“掌上唐山”移動門戶。
Android是一種以Linux為基礎的開放源碼操作系統(tǒng),主要用于便攜設備,是目前全球最受歡迎的智能手機平臺。Android SDK為開發(fā)人員提供了在Android平臺使用Java編程語言進行開發(fā)應用程序所必要的工具和API[2]。從軟件分層的角度來看,Android平臺由應用程序、應用程序框架、程序庫(libraries)、Android系統(tǒng)運行庫以及Linux內(nèi)核五部分構(gòu)成[3]。手機終端使用的開發(fā)工具是包含KVM 虛擬機的插件的Eclipse,同時前臺界面采用Android編程語言。
在W indow s環(huán)境下搭建Android開發(fā)環(huán)境,需要的組件包括:JDK、Eclipse、ADT、Android在Eclipse上的開發(fā)工具、Android SDK等。Android開發(fā)應用程序包括活動(Activity)、服務(Service)、廣播接收者(BroadcastReceiver)、內(nèi)容提供者(ContentProvider)、意圖(Intent)等基本組件。
數(shù)據(jù)庫使用M ySQL,一個多用戶、多線程的SQL數(shù)據(jù)服務器。SQL是一種標準化語言,它使得存儲、更新和存取信息更容易。M ySQL能夠以相當快的速度和靈活來允許您存儲紀錄文件和圖像。對于M ySQL來說具有可延伸性以及資料處理能力;M ySQL提供了許多不同的用戶界面和各種程序語言介面,例如C+,PHP,Perl,Java,以及Python。
對于手機客戶端來說,主要是將U I線程與后臺業(yè)務處理層分開,這樣有助于多人開發(fā)并集成,而且解決了非U I線程對U I線程進行操作引發(fā)的問題[4]。這兩層在設計時不會有相互干擾。當業(yè)務處理層將獲得的數(shù)據(jù)放入客戶端緩存中,方便U I的調(diào)用。
對于服務端來說,主要采用了Factory和DAO設計模式。其優(yōu)點主要有以下幾點:
(1)簡單遷移化
DAO層的使用,使應用程序向不同的數(shù)據(jù)庫進行遷移變得容易。商業(yè)對象可以對底層數(shù)據(jù)是如何實現(xiàn)的一無所知.這樣的話,遷移只涉及到DAO層的修改。另外,使用工廠模式,能夠為每一種底層數(shù)據(jù)實現(xiàn)提供一個具體的工廠模式實現(xiàn)成為可能。
(2)透明化
商業(yè)對象可以在完全不知道數(shù)據(jù)源如何具體實現(xiàn)的狀況下來使用數(shù)據(jù)源.訪問數(shù)據(jù)源是相當透明的,因為實現(xiàn)的細節(jié)已經(jīng)被隱藏到了DAO層。
(3)降低商業(yè)對象的編程難度
因為DAO管理著所有的數(shù)據(jù)訪問細節(jié),從而在很大程度上簡化了在商業(yè)對象和其它使用DAO的數(shù)據(jù)客戶端里的實現(xiàn)代碼。所有的實現(xiàn)細節(jié)代碼比如SQL語句都包含在DAO層而不在商業(yè)對象中,這樣的話使得代碼變得更加健壯且提高了開發(fā)效率。
(4)所有的數(shù)據(jù)訪問都集中到同一層中去
由于所有的數(shù)據(jù)訪問操作都已經(jīng)被DAO層所代理,所以單獨的數(shù)據(jù)訪問層可以被看作可以是將數(shù)據(jù)訪問層和其余應用程序隔離的一層。這種集中,使得應用程序的維護和管理更加容易。
“掌上唐山”為本地新聞資訊客戶端,設計功能涵蓋本地資訊及國內(nèi)外新聞,包括焦點新聞即時推送、滾動播報,本地、國內(nèi)、國際、文體全覆蓋;滿足用戶需求的商業(yè)資訊,電子優(yōu)惠券、消費提示;社區(qū)掌上互動;微周刊以及生活服務信息分類,即時搜索,餐飲、休閑、娛樂場所點擊即達,提供用戶訂閱頻道。
(1)新聞頻道。第一時間獲知國內(nèi)國際、文娛體育要聞趣聞,特別是來自本地主流報媒的本地要聞及深度報道,用戶可縱橫“穿越”報紙、網(wǎng)絡、手機三種不同媒介,隨時隨地與報紙全媒體記者在線溝通。
(2)訂閱頻道。用戶根據(jù)自己喜好訂閱“掌上唐山”內(nèi)部和外包內(nèi)容的頻道,可添加、刪除、移動欄目,點擊欄目可以直接進入對應頻道、專題或活動鏈接。
(3)優(yōu)惠頻道。為電子優(yōu)惠券頻道,用戶在合作商家出示優(yōu)惠券享受優(yōu)惠,有·推薦、免費、美食、娛樂、購物、其他等二級頻道。
(4)微刊頻道。微刊是用相對簡短的內(nèi)容對一個主題的連載,是由合作伙伴、網(wǎng)友“自己當主編”的欄目,其二級頻道為:最新、時尚、文化、公益、其他等。
(5)生活頻道。為本地生活服務信息分類頻道。有美食、娛樂、結(jié)婚、健身、酒店等信息??刹樵兘煌?、違章、本地列車、本地航班、本地公交線路功能。通過LBS定位身邊的注冊場所,有反饋、論壇和關于我們連接。
后臺功能:包括權(quán)限設置、新聞管理、訂閱管理、優(yōu)惠券管理、微刊管理、生活頻道:廣告位設置、分享功能、統(tǒng)計功能等。
系統(tǒng)功能如圖1所示。
圖1 系統(tǒng)功能圖
網(wǎng)絡通信模式采用無狀態(tài)的同步通信模式。無狀態(tài)即在客戶端與服務器的一次完整會話過程中,沒有始終建立的一條確定的連接,而是在每次客戶端需要請求服務器的服務時臨時建立連接,服務完成后連接則關閉。無狀態(tài)的同步通信模式具有負荷小的特點,但如何讓服務器區(qū)分各個客戶端指令是需要解決的問題。利用在服務器端設計緩存的方式,把用戶保存并設計編號,編號發(fā)給客戶端,客戶端則以編號的形式附加給服務請求。編號是由服務器創(chuàng)建的只為保證當前登錄的用戶編號,不同的登錄需要重新賦予編號。有狀態(tài)的同步通信模式具有負荷較大的特點,有若干線程維護著鏈接。
設計中客戶端與服務器的通信方式采用Socket通信完成,Socket傳遞Java對象(使用Java對象序列化機制),即Socket中傳遞的是Request(請求)和Response(應答)對象。而Request和Response對象中封裝一個Map來保存需要傳遞的參數(shù),所有參數(shù)均需實現(xiàn)java.io.Serializable(可序列化)接口。
由于篇幅限制,這里給出部分實現(xiàn)代碼,主Activity代碼:
隨著移動用戶的迅速增長和智能手機的快速普及,智能終端及應用在人們的生活中越來越重要。系統(tǒng)使用Eclipse開源開發(fā)平臺進行手機客戶端軟件的開發(fā)與設計,通過TCP報文與后臺進行數(shù)據(jù)交換,使用通信中間件作為并發(fā)交易消息的分發(fā)與處理,使用Sybase數(shù)據(jù)庫系統(tǒng)作為后臺數(shù)據(jù)存儲管理,設計并實現(xiàn)了一個基于Android的城市移動門戶——“掌上唐山”系統(tǒng)。
[1]李曉軍.移動政務的功能及評價研究[D].北京交通大學,2011(6)85-86.
[2]3GPP2,S.R0037,IPNetwork Architecture Model 1 for CDMA2000 Spread Sprectrum Systems,2004.
[3](美)羅杰.Android應用開發(fā)(李耀亮譯)[M].北京:人民郵電出版社,2010.
[4]林博佳.基于Android平臺的煤礦移動信息化系統(tǒng)的研究與實現(xiàn)[D].北京郵電大學,2012(1)25-26.