馮賀
【摘 要】Android操作系統(tǒng)自發(fā)布以來迅速發(fā)展,至今已經(jīng)基本人手一臺Android智能手機(jī);此外,國內(nèi)高校近年來大力推廣信息化建設(shè),大都配備有方便老師工作、學(xué)生學(xué)習(xí)、學(xué)院管理的設(shè)備設(shè)施,其中不少學(xué)校都在教學(xué)樓的大廳安裝了Android平板電視,用來播放和教師、學(xué)生息息相關(guān)的視頻、文件通知等。基于Android的通知輪播系統(tǒng)是工作在Android設(shè)備上的一款A(yù)PP,開發(fā)此應(yīng)用正是充分利用了上述資源,方便學(xué)校對通知的管理和下達(dá)工作,并對推動國內(nèi)高校的校園信息化建設(shè)工作起到積極作用。
【關(guān)鍵詞】Android;通知輪播;校園信息化
中圖分類號: TP311.52 文獻(xiàn)標(biāo)識碼: A 文章編號: 2095-2457(2018)33-0111-002
DOI:10.19694/j.cnki.issn2095-2457.2018.33.050
【Abstract】The Android System has grown rapidly since its release, so far, everyone has an Android smartphone basicly; in addition, domestic colleges and universities have been vigorously promoting informatization construction in recent years, and most of them are equipped with equipment and facilities that are convenient for teachers' work, students' study and school management. Among them, many schools have installed an Android flat panel TV in the hall of the teaching building, which can play videos, documents and notices that are closely related to teachers and students. The Android-based notification carousel system is an APP working on Android devices. The development of this application makes full use of the above resources to facilitate the management and release of the notice in school, and plays a positive role in promoting the campus informatization construction of domestic universities.
【Key words】Android; Notification carousel; Campus informatization
0 引言
在學(xué)校日常事務(wù)中,各類通知的下達(dá)或宣傳視頻的播放非常頻繁且重要。傳統(tǒng)的通過紙質(zhì)文件下達(dá)通知,或者讓輔導(dǎo)員轉(zhuǎn)達(dá)通知的方式弊端比較突出:如紙質(zhì)文件攜帶不便容易丟失,轉(zhuǎn)達(dá)效率低下等;雖然不少高校在教學(xué)樓大廳安裝了平板電視,但不僅利用率不高,而且將通知電子檔或宣傳視頻來回拷貝非常麻煩。隨著校園信息化建設(shè)的飛速發(fā)展,Android智能終端的普及使得各種類型的應(yīng)用都落戶Android平臺,以Android手機(jī)為主的移動智能終端已成為當(dāng)代大學(xué)生校園生活中不可或缺的工具?;贏ndroid的通知輪播系統(tǒng)充分利用了相關(guān)Android設(shè)備,方便有效地對通知和視頻進(jìn)行管理,提升工作學(xué)習(xí)效率。
1 系統(tǒng)分析
1.1 功能模塊分析
通過對通知下達(dá)和視頻播放的實際需求進(jìn)行分析,將通知輪播系統(tǒng)分為五個大的功能模塊,其中包括通知管理、通知輪播、通知網(wǎng)絡(luò)推送、視頻播放管理和系統(tǒng)設(shè)置模塊。此外,本系統(tǒng)的開發(fā)所面向的用戶是廣大師生,所以Android應(yīng)用端沒有系統(tǒng)角色的區(qū)分。
現(xiàn)將系統(tǒng)五大模塊的主要功能描述如下。
1.1.1 通知管理模塊
該模塊主要針對教學(xué)樓大廳安裝的Android平板電視等公共設(shè)備,設(shè)備管理人員可以使用通知輪播APP對通知內(nèi)容進(jìn)行增、刪、改、查的操作。
1.1.2 通知輪播模塊
該模塊主要實現(xiàn)讓位于Android設(shè)備屏幕頂端(或底端)并且始終懸浮在其他任何應(yīng)用程序之上的通知消息滾動輪回播放,即類似于跑馬燈的效果。
1.1.3 通知網(wǎng)絡(luò)推送模塊
為了進(jìn)一步方便通知的管理及下達(dá),并且統(tǒng)一管理諸如Android平板電視等公共設(shè)備和師生個人Android智能手機(jī)的數(shù)據(jù),該模塊借助第三方的推送平臺,通過網(wǎng)絡(luò)在線推送通知消息的內(nèi)容。
1.1.4 視頻播放管理模塊
視頻播放管理模塊可以對外部的存儲設(shè)備進(jìn)行整體掃描,然后得到當(dāng)前Android系統(tǒng)中視頻資源的列表,可以單擊選擇某個視頻進(jìn)行單獨(dú)播放或者通過點擊APP界面上的功能按鈕對全部視頻進(jìn)行循環(huán)播放。針對該模塊,考慮到Android系統(tǒng)自帶播放器對多種視頻格式支持的限制,以及通過實際測試,驗證了其對通知消息懸浮輪播支持的不足,應(yīng)用中引入了Vitamio多媒體開發(fā)框架有效地解決了上述問題。
1.1.5 系統(tǒng)設(shè)置模塊
用戶可以通過此模塊對Android設(shè)備上通知消息的字體大小、顏色等進(jìn)行設(shè)置。
1.2 技術(shù)方案分析
通知輪播系統(tǒng)使用Eclipse ADT集成開發(fā)環(huán)境進(jìn)行開發(fā)。ADT的全稱是Android Development Tools,是Google公司基于Eclipse增加了一組相應(yīng)的插件集合形成的Android應(yīng)用開發(fā)環(huán)境。這套環(huán)境基于Eclipse,且功能強(qiáng)大,操作簡單,其中可以創(chuàng)建Android模擬器,方便開發(fā)人員調(diào)試、運(yùn)行Android應(yīng)用程序。同時使用Android系統(tǒng)自帶的SQLite數(shù)據(jù)庫,以此來高效地存取應(yīng)用中的數(shù)據(jù)。該數(shù)據(jù)庫的特點是體積小、應(yīng)用靈活,恰恰適合本系統(tǒng)的實際需求。對于視頻解析方面使用了當(dāng)前比較流行的開源框架Vitamio;而對于通知信息的網(wǎng)絡(luò)推送操作則引入了JPush極光推送。
2 系統(tǒng)設(shè)計與實現(xiàn)
2.1 數(shù)據(jù)庫設(shè)計
根據(jù)上述對通知輪播系統(tǒng)業(yè)務(wù)功能的分析,抽象出系統(tǒng)所包括的主要實體關(guān)系表只有一張,即通知信息表。進(jìn)一步分析,通知信息表應(yīng)主要包含通知消息ID、通知標(biāo)題、通知內(nèi)容、通知類型和通知的創(chuàng)建時間等屬性。
2.2 功能模塊設(shè)計與實現(xiàn)
這里我們以兩大核心功能模塊——通知輪播和通知網(wǎng)絡(luò)推送模塊為例,詳細(xì)介紹通知輪播系統(tǒng)具體功能的設(shè)計與實現(xiàn),其他模塊的功能實現(xiàn)相對較易,本文中不再贅述。
通知輪播模塊的實現(xiàn)思路為:首先在后臺開啟一個服務(wù),即Service,通過該服務(wù)向WindowManager添加一個自定義的TextView,在項目中我們將這個自定義的文本框控件命名為AutoScrollTextView。AutoScrollTextView控件實現(xiàn)了通知消息以跑馬燈的效果懸浮于界面上方進(jìn)行循環(huán)播放,這個控件不響應(yīng)任何點擊事件也不接受觸摸事件。創(chuàng)建AutoScrollTextView并開始循環(huán)播放通知的部分代碼如下所示。
Display display = new Display();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
int screenWidth = displayMetrics.widthPixels;
params.width = screenWidth;
params.height = wm.addView(tv_floatView, params);
// 定義一個畫筆,改變懸浮字體的顏色
Paint p = new Paint();
p.setTextSize(floatSize);
p.setColor(myColor);
tv_floatView.init(wm, p);
// 開始輪播通知
tv_floatView.startScroll();
極光推送(JPush)是獨(dú)立的第三方推送平臺,將其引入系統(tǒng)中方便通過網(wǎng)絡(luò)推送通知消息,統(tǒng)一了數(shù)據(jù)管理也簡化了工作流程。通知網(wǎng)絡(luò)推送模塊的處理流程為:辦公人員通過預(yù)先注冊的賬號,在JPush的Web端控制臺編輯并發(fā)送通知;Android應(yīng)用端需要自定義一個廣播接收器(BroadcastReceiver),用于接收我們通過極光推送發(fā)送而來的通知信息并對其進(jìn)行相應(yīng)的處理。
3 結(jié)束語
本文介紹了在Android智能手機(jī)和大屏Android設(shè)備廣為普及的基礎(chǔ)上,采用JPush云推送服務(wù),并引入Vitamio多媒體開發(fā)框架設(shè)計與開發(fā)基于Android的通知輪播系統(tǒng)的具體思路。經(jīng)實踐證明,Vitamio框架的應(yīng)用,使系統(tǒng)的視頻播放功能更加靈活,系統(tǒng)的可擴(kuò)展性、可維護(hù)性大大的增強(qiáng);JPush平臺的引入,讓系統(tǒng)的使用效率得以顯著提高。
【參考文獻(xiàn)】
[1]周小雪.基于Android的教務(wù)系統(tǒng)客戶端的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2018.
[2]鞠文飛.基于Android平臺的視頻教學(xué)平臺的開發(fā)與應(yīng)用[J].信息通信,2018(9):161-163.
[3]彭成,高沛,周曉紅.基于Android平臺的校園助手研究與實現(xiàn)[J].湖南工業(yè)大學(xué)學(xué)報,2018,32(5):44-49.