徐景 胡威 廖雄鷹 黃浩
摘 要 以Android為平臺,使用移動應用開發技術建立一個面向IT技術資訊的信息平臺,提供簡單快捷的互動模式,改善IT技術咨詢的信息交流狀況,探索移動智能終端信息傳播的新方式。以寬帶移動網絡為基礎網絡環境,通過Android平臺設計與開發具有開放體系結構的、易擴充的、易維護的、具有良好人機交互界面的展示與交互系統,并提供多線程下載服務,可向客戶端進行主動的消息推送。該信息平臺通過快捷和易于維護更新的消息機制,讓用戶能夠及時準確地了解IT技術的發展動態。
關鍵詞 Android 互動模式 移動智能終端 多線程
中圖分類號:TP311.52 文獻標識碼:A
0 引言
隨著移動寬帶無線技術和智能移動終端的飛速發展,通過移動的方式來接入互聯網成為當前網絡接入的主要方式。智能移動終端的用戶能夠通過所持接入設備隨時隨地從互聯網獲取信息和服務,移動互聯網因而迅猛發展。①②移動互聯網用戶數的急速增長,意味著巨大的機會,同時也意味著巨大的挑戰,終端的小型化、多樣化,接入方式的多樣化都意味著當前正處在全新的互聯網生態環境中。
移動互聯網帶給世界最大的改變是數據生產變得簡單,尤其是圖片、音頻、位置三大方面的數據,再加上智能移動設備上的各種傳感器數據,都成為目前面向移動互聯網的應用最為集中的方向。未來移動互聯網時代必將是融合了電信與互聯網的優勢,將打破人們傳統的“內容+應用”的位置限制,將給用戶提供隨時隨地的互聯網交流互動平臺及應用服務,用戶獲取自己所需的信息將不再受時空的限制。③④本文以移動互聯網為基礎設施,以Android為智能移動終端的系統平臺,設計并實現了面向IT技術資訊的移動應用系統,為實時移動化的數據分享提供了新的建設思路。
1 系統框架設計
1.1 系統構成
系統由兩個部分構成:提供數據服務的服務器端和提供移動數據訪問的智能移動終端軟件(MobileIT)。服務器端采用開源數據庫MySQL進行數據存儲,使用JSP設計智能移動終端與數據庫間的接口服務。智能移動終端上的基本系統軟件平臺是Android。Android的基本操作系統內核核心是Linux,采用了開放開源的策略,是廣泛用于智能移動終端的嵌入式操作系統。Android應用開發的基本語言是Java,Eclipse集成開發環境是Android應用程序開發的基本平臺。而基本的Android數據庫是輕型數據庫SQLite。⑤⑥
本系統中的Android客戶端軟件(MobileIT)要訪問服務器端、從服務器端獲取數據,需要通過移動互聯網來遠程獲取。在MobileIT與服務器端之間定義了數據訪問接口,使用HTTP協議發送Request請求給服務器端,服務器端根據請求的數據內容,從MySQL數據庫中獲取數據,并將讀取的數據內容封裝成JSON格式,通過HTTP協議回傳給Android終端,MobileIT再對JSON進行解析。
1.2 系統特性
系統特性是系統中完成某項具體操作的基本單元,它由入口參數,出口參數以及處理過程三部分組成。當系統由多個子系統(模塊)組成時,每個子系統分別使用一張系統特性表進行描述。用戶獲取服務基于用戶數據庫來實現用戶的各種操作,而數據庫的信息要進行實時更新維護,以保證用戶所得到的數據的可靠性。
在本系統中,為了防止后臺服務器帶寬被非法用戶所占用,因此設定一級用于驗證用戶身份的特殊ID,用于控制可以使用資源服務器的客戶端。該ID將用戶所用于訪問服務器資源的智能移動終端與具體的用戶ID綁定在一起,防止非法用戶的訪問。為簡便起見,該ID初始設定為用戶的唯一ID編碼,在后臺管理系統中可以合法用戶授予登陸和發送信息的權限。系統(客戶端、服務器)正常運行,且用戶ID清晰可見并唯一。
1.3 圖片的縮放處理
由于系統需要將大量的圖像傳輸到智能移動終端上,因此采用質量壓縮方法對圖像進行處理。在圖像數據中存在著冗余,從而可以進行壓縮,減少傳輸過程中所需要的數據流量。圖像數據的冗余主要表現為以下幾種形式:同一圖像中的規則物體和規則背景的表面物理特性具有相關性,在圖像數字化表示中表現為空間冗余,存儲時形成數據冗余,其中所謂的規則是指表面以有序的形式進行排列;動態圖像中的相鄰幀之間往往包含著大量相同的背景內容,其差異僅在于位置上的變換,從而構成了時間冗余。對數據壓縮的目的就是縮減數據量以減少存儲空間,提高其傳輸、存儲和處理效率。
2 系統模塊劃分
2.1 模塊劃分與功能描述
根據系統所面臨的具體需求,所劃分出的模塊如圖1所示:
每個模塊的功能描述如下:
IT前沿動態:實時更新IT技術的發展動態,使用戶能夠及時了解IT技術的發展信息。
學習視頻:提供豐富的音視頻資源,可供用戶下載,通過影音資源更好地傳播信息。
知識庫:整合優質學習資源,擴充知識面。
互動論壇:通過發帖、評論、上傳圖片等方式進行交流。
考試測評:模擬測評,隨時掃除知識盲點。
通知:實現消息的動態推送,即時更新。
2.2 消息推送
在本系統中提供了消息推送的功能。消息推送是指從服務器端來主動向客戶端進行消息的發送。客戶端是消息的被動接收方,只要客戶端開啟了接受推送消息的功能,則當服務器端發生消息更新時,更新的消息就會主動發送到該客戶端。推送的內容除了傳統的文字,還包括了圖片和報銷等信息。在本系統中,“消息推送”技術主動將最新的新聞和資料推送給用戶,用戶不需要進行主動的信息搜索。推送技術的主要特點是對用戶要求低,具有很強的普遍適用性,不要求用戶具有專門的技術。同時,推送技術的實時性高,可以源源不斷地進行最新的消息的動態更新。
本系統中的消息推送采用了“極光推送”。在連接方式上采用了長連接來進行推送消息的實現機制。在服務器與客戶端之間建立起了連接鏈路。當服務器端有消息要向客戶端發送時,通過該鏈路進行發送。為了保證服務的可靠性,可以建立服務備份。通過服務器進行消息推送,有利于消息的實時送達,減少建立連接所需要的時間,提高消息服務的效率。對于推送的具體實現,是通過由Android系統所封裝的AlarmManager來實現,其中所封裝的是用于管理 RTC(Real Time Clock)的模塊。RTC是一個獨立的硬件時鐘,可以在CPU 休眠時正常運行;在預設的時間到達時,通過中斷喚醒 CPU。信息服務人員通過各種方式獲取有效信息資源,并進行分類整合,通過固定的渠道傳送給用戶,準確性更高。
3 運行結果與分析
MobileIT的實現結果如圖2所示:
在MobileIT的實現中,充分利用了Android所提供的內存管理機制。Android為不同類型的進程分配了不同的內存使用上限,如果在運行過程中出現了內存泄漏從而導致應用所對應的進程使用的內存超過其內存使用上限,系統就會將其視為出現了內存泄露進而撤銷進程。在Android應用開發中使用了有向圖作為遍歷回收內存的機制,從有向圖的某個頂點開始,對每個結點進行深度遍歷,在MobileIT中將已經不需要使用的對象設置為NULL。當系統的自動回收機制運行時,會自動把該對象占用的內存回收,從而保證了整個程序運行的穩定性。
4 結束語
本文提出了建立面向IT技術資訊的Android信息平臺,將IT業界的信息動態集成到移動智能終端中,實現了信息的方便、快捷、準確的傳輸,并以論壇的形式為廣大用戶提供了一個交流互動的平臺。該信息平臺采用了多線程下載技術,讓下載任務多搶占系統資源,從而保證了下載的穩定性,提升了用戶的體驗。