魏小銳 謝滿
(東莞理工學(xué)院 計(jì)算機(jī)學(xué)院,廣東東莞 523808)
基于移動(dòng)平臺(tái)的校園即時(shí)新聞資訊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
魏小銳 謝滿
(東莞理工學(xué)院 計(jì)算機(jī)學(xué)院,廣東東莞 523808)
隨著通信技術(shù)的發(fā)展以及智能移動(dòng)終端的迅速普及,新聞資訊的傳播與獲取逐漸趨向于即時(shí)化和移動(dòng)化。分析研究Android和IOS移動(dòng)終端平臺(tái)的應(yīng)用和開發(fā)技術(shù),結(jié)合校園即時(shí)新聞資訊的傳播特點(diǎn),提出了在不同移動(dòng)終端平臺(tái)下校園即時(shí)新聞資訊系統(tǒng)的設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)展示。
移動(dòng)平臺(tái);新聞資訊系統(tǒng);移動(dòng)應(yīng)用技術(shù)
隨著移動(dòng)互聯(lián)網(wǎng)的迅速發(fā)展,資訊傳播與更新的方式也在發(fā)生變發(fā)。移動(dòng)智能終端的普及正影響著人們的生活,多樣化的移動(dòng)應(yīng)用已經(jīng)滲透到人們生活的各個(gè)角落。在移動(dòng)互聯(lián)網(wǎng)時(shí)代,人們通過網(wǎng)絡(luò)對(duì)信息的獲取不再局限于電腦,更多的是通過移動(dòng)終端獲得資訊[1-2]。用戶對(duì)新聞資訊的需求也正在向著實(shí)時(shí)性便捷性的方向發(fā)展,因此將傳統(tǒng)媒體移動(dòng)化顯得十分的重要[3]。
通過對(duì)“校園即時(shí)新聞資訊系統(tǒng)”這一移動(dòng)應(yīng)用進(jìn)行需求分析與研究,在目前主流的兩個(gè)移動(dòng)操作系統(tǒng)Android和IOS上實(shí)現(xiàn)相關(guān)應(yīng)用,滿足用戶對(duì)校園資訊的需求,使得用戶能夠在第一時(shí)間獲取相關(guān)信息。
1.1 Android平臺(tái)及SDK開發(fā)簡(jiǎn)介
Android操作系統(tǒng)由谷歌公司于2007年正式向外界發(fā)布,系統(tǒng)的開放性、不受束縛性、豐富的硬件支持以及方便開發(fā)等特性得到了大多數(shù)移動(dòng)設(shè)備廠商的采用以及廣大開發(fā)者的支持,并吸引了大批的用戶,目前已經(jīng)占據(jù)了全球智能機(jī)市場(chǎng)的大部分份額。
Android的系統(tǒng)架構(gòu)采用了分層的架構(gòu)。主要分為四個(gè)層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫層和Linux內(nèi)核層。應(yīng)用程序?qū)又饕桥c用戶交互的一個(gè)層次,在這一層中的應(yīng)用基本上都是通過JAVA語言編寫的可以完成某些功能的應(yīng)用程序;在應(yīng)用程序框架層中開發(fā)人員通過使用提供的API編寫應(yīng)用程序;系統(tǒng)運(yùn)行庫層主要包括庫(Libraries)和運(yùn)行環(huán)境(Run Time);內(nèi)核層中主要提供一些服務(wù),比如安全性管理、內(nèi)存管理、進(jìn)程管理以及驅(qū)動(dòng)程序模型等[4-5]。
Android SDK主要是以JAVA語言為基礎(chǔ),提供了在windows/linux/Mac等平臺(tái)上開發(fā)Android應(yīng)用的一系列開發(fā)組件和工具集。SDK中提供了大量的API,開發(fā)者可通過調(diào)用API實(shí)現(xiàn)相應(yīng)的功能。工具集中包括Android模擬器和用于Eclipse的Android開發(fā)工具插件ADT,開發(fā)者可以通過這些工具進(jìn)行調(diào)試,打包和在模擬器上安裝應(yīng)用程序,使開發(fā)者更加便捷的進(jìn)行程序開發(fā)[6-7]。
1.2 apple IOS平臺(tái)(簡(jiǎn)介)
IOS操作系統(tǒng)由蘋果公司2007年發(fā)布并提供了一系列的軟件開發(fā)工具包,目前在IOS上開發(fā)應(yīng)用程序主要基于開發(fā)工具Xcode,開發(fā)都主要使用Objective-C和Swift等開發(fā)語言來搭建基于蘋果平臺(tái)的應(yīng)用程序。
IOS的系統(tǒng)架構(gòu)分為四個(gè)層次:核心操作系統(tǒng)層(Core OS layer)、核心服務(wù)層(Core Services layer)、媒體層(Media layer)和可觸摸層(Cocoa Touch layer)。Core OS是IOS系統(tǒng)架構(gòu)中的核心操作系統(tǒng)層,包括內(nèi)存管理、文件系統(tǒng)、電源管理以及其他操作系統(tǒng)任務(wù)。Core Services是核心服務(wù)層,主要用來訪問IOS的一些服務(wù)。通過媒體層可以在應(yīng)用程序中使用各種媒體文件,比如進(jìn)行圖形的繪制,音頻與視頻的錄制,以及實(shí)現(xiàn)動(dòng)畫效果。可觸摸層提供了各種基礎(chǔ)框架組件,主要用于人機(jī)交互,實(shí)現(xiàn)用戶在IOS設(shè)備上的觸摸交互操作[8-9]。
2.1 校園即時(shí)新聞資訊系統(tǒng)整體分析
校園即時(shí)新聞資訊系統(tǒng)主要用于校園資訊的即時(shí)發(fā)布跟用戶接收,新聞信息管理員通過管理端軟件可以隨時(shí)隨地的將新聞資訊通過移動(dòng)終端進(jìn)行發(fā)布更新,不再局限于傳統(tǒng)的電腦端進(jìn)行新聞管理。所有的新聞信息統(tǒng)一存儲(chǔ)在服務(wù)器端,新聞信息管理員只需要通過網(wǎng)絡(luò)就可以在移動(dòng)設(shè)備上對(duì)服務(wù)器端的新聞進(jìn)行修改、刪除以及更新等操作,大大方便了新聞資訊的管理,提高了新聞的即時(shí)性。
目前IOS和Android兩大移動(dòng)操作系統(tǒng)的智能設(shè)備占據(jù)了大部分市場(chǎng)份額,大多數(shù)的師生也是主要使用這兩個(gè)移動(dòng)操作系統(tǒng)的智能設(shè)備,因些分別在IOS和Android上開發(fā)了新聞客戶端,師生通過安裝新聞客戶端可以通過校內(nèi)無線網(wǎng)絡(luò)來查看校內(nèi)各類新聞信息,大大加快了資訊的傳播與獲取。由于校園師生活動(dòng)范圍的局限性,導(dǎo)致校園資訊傳播的特殊性,大部分師生主要活動(dòng)于宿舍區(qū)、校園食堂、教學(xué)區(qū)以及運(yùn)動(dòng)場(chǎng)等公共區(qū)域,通過平板電視等大屏幕顯示屏對(duì)新聞信息進(jìn)行傳播顯得十分重要。因此校園即時(shí)新聞資訊系統(tǒng)的另一得要組成部分就是Android平板電視新聞客戶端,將平板電視新聞客戶端安裝在目前市面上流行的Android盒子上并通過HDMI線連接大屏幕顯示屏,通過無線網(wǎng)絡(luò)就可以進(jìn)行新聞信息的播放。在不需要對(duì)校園現(xiàn)有宣傳系統(tǒng)的大改造的前提下實(shí)現(xiàn)了新聞信息的快速傳播。系統(tǒng)演示圖1所示。
圖1 系統(tǒng)演示
2.2 校園即時(shí)新聞資訊系統(tǒng)框架結(jié)構(gòu)
校園新聞資訊系統(tǒng)主要包括新聞資訊管理端、新聞資訊后臺(tái)管理系統(tǒng)、新聞資訊移動(dòng)客戶端以及平板電視客戶端。系統(tǒng)采用了分層的體系結(jié)構(gòu),新聞資訊管理端作為客戶端,主要負(fù)責(zé)信息發(fā)布終端的界面顯示,通過HTTP通信協(xié)議與后臺(tái)服務(wù)器進(jìn)行連接并做數(shù)據(jù)交互,將新聞資訊中的文本信息以及圖片信息等上傳到后臺(tái)服務(wù)器中并由后臺(tái)服務(wù)器進(jìn)行數(shù)據(jù)處理。新聞資訊后臺(tái)管理系統(tǒng)作為整個(gè)系統(tǒng)的后臺(tái)服務(wù)器,封裝了新聞信息的訪問接口并負(fù)責(zé)對(duì)信息的處理,在接收到新聞資訊發(fā)布端的請(qǐng)求后,對(duì)其上傳的信息進(jìn)行處理并存儲(chǔ)到數(shù)據(jù)層中;在接收到用戶客戶端的請(qǐng)求信息后,進(jìn)行相關(guān)的查詢并將查詢結(jié)果轉(zhuǎn)換為相應(yīng)的格式發(fā)送到用戶客戶端。移動(dòng)客戶端和平板電視客戶端主要新聞信息的顯示,通過與后臺(tái)服務(wù)器連接并發(fā)送請(qǐng)求,增量獲取最新的新聞資訊。如圖2所示。
圖2 系統(tǒng)架構(gòu)圖
2.3 校園即時(shí)新聞資訊系統(tǒng)關(guān)鍵模塊設(shè)計(jì)
校園即時(shí)新聞資訊系統(tǒng)中各子系統(tǒng)功能相對(duì)獨(dú)立,數(shù)據(jù)交互成為了該系統(tǒng)的關(guān)鍵??蛻舳伺c服務(wù)器交互的過程主要有:新聞資訊管理端向服務(wù)器發(fā)送HTTP請(qǐng)求,服務(wù)器收到請(qǐng)求后進(jìn)行解析并建立連接,新聞資訊管理端得到服務(wù)器的響應(yīng)后將界面輸入得到的數(shù)據(jù)(比如新聞?lì)}目、內(nèi)容、圖片等信息)以及系統(tǒng)數(shù)據(jù)(比如GPS信息、系統(tǒng)時(shí)間以及終端類型等信息)打包成JSON數(shù)據(jù)格式,通過服務(wù)器端提供的對(duì)應(yīng)接口上傳到后臺(tái)服務(wù)器,服務(wù)器對(duì)接收到的數(shù)據(jù)進(jìn)行解析并對(duì)終端進(jìn)行答復(fù),如果數(shù)據(jù)有效將進(jìn)行格式轉(zhuǎn)換并存儲(chǔ)到數(shù)據(jù)庫中。
服務(wù)器在得到用戶終端的請(qǐng)求后,解析用戶請(qǐng)求,并將用戶提供的相關(guān)數(shù)據(jù)作為查詢條件查詢相關(guān)數(shù)據(jù),將得到的數(shù)據(jù)以JSON數(shù)據(jù)的形式通過對(duì)應(yīng)接口返回到用戶終端。用戶終端在得到JSON數(shù)據(jù)后將其封裝到新聞實(shí)體對(duì)象中。用戶終端得到新聞實(shí)體對(duì)象后進(jìn)行進(jìn)一步的解析,在不同類型的移動(dòng)平臺(tái)上以相應(yīng)的方式顯示給用戶。系統(tǒng)數(shù)據(jù)交互過程如圖3所示。
圖3 數(shù)據(jù)交互流程圖
2.4 校園即時(shí)新聞資訊系統(tǒng)關(guān)鍵接口設(shè)計(jì)
新聞資訊后臺(tái)管理系統(tǒng)作為整個(gè)系統(tǒng)的后臺(tái)核心,提供了主要的新聞信息訪問接口,通過接口實(shí)現(xiàn)數(shù)據(jù)的交互。在本系統(tǒng)后臺(tái)管理系統(tǒng)中主要核心是Search查詢子系統(tǒng)和operate操作子系統(tǒng)。
Search查詢子系統(tǒng)主要是根據(jù)客戶端向后臺(tái)發(fā)送的HTTP請(qǐng)求,在遠(yuǎn)程服務(wù)器中根據(jù)提交的查詢條件進(jìn)行查詢,最終以JSON或者XML格式的數(shù)據(jù)返回給客戶端并在客戶端中進(jìn)行顯示。Search查詢子系統(tǒng)主要用Spring MVC框架實(shí)現(xiàn),系統(tǒng)中使用Spring Action響應(yīng)請(qǐng)求信息。主要的模塊接口有:TypeSearch和NewsService。
TypeSearch接口主要有3個(gè)對(duì)外Interface,NewsType,NoticeType,PhoneType。分別為新聞?lì)愋徒涌?通知類型接口以及終端類型接口。新聞?lì)愋徒涌诳梢酝ㄟ^類型編號(hào)查詢?cè)擃愋偷男侣勝Y訊列表;通知類型接口可以通過類型編號(hào)查詢通知類型的信息,終端類型接口可以根據(jù)終端的類型,如IOS,ANDORID等標(biāo)識(shí)來查詢由移動(dòng)客戶端發(fā)出的新聞信息。
NewsService接口主要有:新聞搜索(NewSearch)、新聞圖片集搜索(Pics Search),新聞(News)、新聞列表(NewsList)等接口,以及配置Api:批量查詢(batchSearch)和批量刪除(batchDelete)
Operate操作子系統(tǒng)主要完成新聞、通知等信息的存儲(chǔ)發(fā)布的資訊保存在遠(yuǎn)程數(shù)據(jù)庫中。終端應(yīng)用通過operate接口進(jìn)行信息的錄入,主要有權(quán)限接口(permissions)以及操作接口(Operate)。
權(quán)限接口主要提供用戶所在權(quán)限組的信息,判斷是否能對(duì)后臺(tái)進(jìn)行操作。操作接口是在權(quán)限接口的判斷下,對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)并將插入數(shù)據(jù)的成功與否信息以JSON或XML的節(jié)點(diǎn)返回給移動(dòng)客戶端。
3.1 校園即時(shí)新聞資訊系統(tǒng)用戶終端實(shí)現(xiàn)
新聞客戶端的設(shè)計(jì)與實(shí)現(xiàn)必須做到在人機(jī)交互方面盡量友好,做到簡(jiǎn)單易用,讓用戶不需要花費(fèi)太多的精力學(xué)習(xí)即會(huì)使用,所展示的新聞信息可以讓用戶一目了然,重要新聞以及最近新聞等信息能夠讓用戶在第一時(shí)間關(guān)注。在IOS上實(shí)現(xiàn)新聞資訊客戶端主要由以下幾個(gè)步驟來完成。
1)在IOS上首先定義一個(gè)“NewsCell”來表示具體的某一條新聞?wù)故镜臉邮?該Cell利用循環(huán)加載的技術(shù)進(jìn)行優(yōu)化。
2)由控制器提供的data數(shù)據(jù)取出具體某一條展示的新聞信息,并讓1步驟中定義好的cell調(diào)用setNeedsLayout方法進(jìn)行布局排版。具體代碼樣式如下述代碼所示。
3)cell獲取tableView傳過來的Model對(duì)象,取出新聞模型的字段,包括:新聞標(biāo)題、內(nèi)容、封面圖、發(fā)布日期等填充到控件中。具體代碼樣式如下述代碼所示。
4)在IOS底層調(diào)用NIB文件來加載布局,通過http://IP:PORT/canguanWeb/event/ID.action來獲取后臺(tái)服務(wù)器的數(shù)據(jù)并進(jìn)行展示,數(shù)據(jù)以JSON格式的節(jié)點(diǎn)返回客戶端并進(jìn)行顯示,顯示效果如圖4所示。
圖4 新聞客戶端界面圖
3.2 系統(tǒng)展示
主要展示新聞資訊系統(tǒng)中新聞資訊管理端以及平板電視客戶端的實(shí)現(xiàn)效果。新聞信息管理員通過平板電腦在登錄新聞資訊管理端后可以對(duì)不同類別的新聞信息進(jìn)行創(chuàng)建、修改、刪除等操作。在創(chuàng)建新聞方面,選中某一類別的新聞信息后可以點(diǎn)擊“新建”來創(chuàng)建新聞,在平板電腦屏幕的不同區(qū)域可以分別輸入新聞標(biāo)題、新聞內(nèi)容。通過點(diǎn)擊“選擇封面”按鍵可以通過平板電腦拍攝圖片或者選擇本地圖片作為新聞客戶端的新聞首頁封面。通過點(diǎn)擊“選擇圖片”可以將多張圖片做為新聞內(nèi)容發(fā)布到新聞客戶端。在修改新聞方面,通過選擇要修改的新聞,即可對(duì)新聞的標(biāo)題、內(nèi)容、封面圖片以及新聞內(nèi)容圖片等新聞信息進(jìn)行修改;在刪除新聞方面,選擇“刪除”按鍵對(duì)新聞進(jìn)行刪除,刪除后的新聞信息不會(huì)在各客戶端進(jìn)行顯示,但是在后臺(tái)服務(wù)器中依然存在,以便后期數(shù)據(jù)恢復(fù)使用。在新聞資訊發(fā)布端對(duì)信息的任何操作后,所有的信息都會(huì)同步到后臺(tái)服務(wù)器,各個(gè)新聞客戶端的顯示內(nèi)容也會(huì)同步發(fā)生變化。主要效果如圖5~6所示:
圖5 新聞資訊管理端界面一
圖6 新聞資訊管理端界面二
在平板電視客戶端上,如圖7所示,屏幕上滾動(dòng)播放實(shí)時(shí)新聞?wù)畔?通過點(diǎn)擊“公告”模塊,可以查看近期的新聞信息詳細(xì)情況。在“新聞資訊”模塊中,新聞資訊自動(dòng)按月份分類,選擇某月份后可以通過上下拉動(dòng)來查看相關(guān)的新聞信息。在每一條新聞信息中可以顯示新聞標(biāo)題、新聞內(nèi)容以及新聞封面圖片,點(diǎn)擊新聞封面圖片后可以全屏幕顯示該新聞的多張圖片,如圖8所示。在“瀏覽器”模塊中可查看學(xué)校各院系的新聞主頁。為了增加系統(tǒng)的可擴(kuò)展性,在客戶端首頁還預(yù)留位置以便后續(xù)功能擴(kuò)展。
圖7 平板電視客戶端界面
圖8 新聞資訊界面
校園即時(shí)新聞資訊系統(tǒng)主要以新聞資訊后臺(tái)管理系統(tǒng)為核心,多種移動(dòng)平臺(tái)用戶終端通過后臺(tái)管理系統(tǒng)提供的統(tǒng)一接口實(shí)現(xiàn)信息交互,實(shí)現(xiàn)為在校師生提供豐富及時(shí)的新聞資訊信息。通過分析目前主流的移動(dòng)操作系統(tǒng)相關(guān)應(yīng)用情況以及技術(shù)開發(fā)特點(diǎn),并在校園即時(shí)新聞資訊系統(tǒng)需求分析的基礎(chǔ)上,確立了系統(tǒng)的整體框架,對(duì)系統(tǒng)的關(guān)鍵模塊和相關(guān)重要接口進(jìn)行詳細(xì)設(shè)計(jì),實(shí)現(xiàn)了不同用戶終端的個(gè)體化展示。
[1] 張逸,賈金璽.新聞網(wǎng)站的移動(dòng)化之路[J].重慶工商大學(xué)學(xué)報(bào),2013,30(2):96-101.
[2] 陳建國(guó).基于Web結(jié)構(gòu)的網(wǎng)站新聞采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].井岡山大學(xué)學(xué)報(bào):自然科學(xué)版,2012,33(2):54-57.
[3] 張春元,康耀紅,伍小芹.Web新聞自動(dòng)采集發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(9):250-252.
[4] 鮑曉.基于Android平臺(tái)的新聞資訊閱讀軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2013,33(S2):279-282.
[5] 張旭紅,劉渭濱.面向移動(dòng)平臺(tái)的新聞資訊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(1):5-8.
[6] 胡忠望.移動(dòng)操作系統(tǒng)體系結(jié)構(gòu)的研究分析[J].計(jì)算機(jī)科學(xué),2013,40(11):53-56.
[7] 白文江.基于Android平臺(tái)的移動(dòng)應(yīng)用開發(fā)研究[J]太原大學(xué)學(xué)報(bào),2011,12(3):117-120.
[8] 陳佳霖,王軼駿,薛質(zhì).IOS系統(tǒng)數(shù)據(jù)安全研究[J].信息安全與通信保密,2012(8):100-102.
[9] 黃天柱,涂時(shí)亮.IOS開發(fā)UITableView加載圖片的內(nèi)存管理[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(9):113-118.
The Design and Implementation of the Campus Instant News and Informtion System at Mobile Platform s
WEI Xiao-rui XIE Man
(Computer College,Dongguan University of Technology,Dongguan 523808,China)
With the rapid development of communication technology and the popularity of smart mobile terminals,dissemination and access of news gradually become instant and mobile.This paper Analyses the application and development of technology of Android and IOS mobile terminal platform,combined with spread features of campus real-time news,presenting the design of Campus News instant system at different mobile terminal platform and realization of the system show.
mobile platforms;news and information system;mobile application technology
TP311.5
A
1009-0312(2015)01-0057-06
2014-07-02
國(guó)家自然科學(xué)基金(61100136);廣東省教育廳專項(xiàng)項(xiàng)目(粵教高函[2010]38號(hào)-41-011);2013年廣東省高等學(xué)校教學(xué)質(zhì)量與教學(xué)改革工程項(xiàng)目(粵教高函[2013]113號(hào)-114)。
魏小銳(1983—),男,廣東揭陽人,實(shí)驗(yàn)師,碩士,主要從事為網(wǎng)絡(luò)技術(shù)和實(shí)驗(yàn)室管理工作。