• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Android消息推送機制在城市通中的應用研究

    2014-04-29 00:00:00雷學智
    計算機光盤軟件與應用 2014年1期

    摘 要:智能手機App應用五花八門,涉及了日常生活吃、穿、住、行、娛樂等各個方面,方便和豐富了我們的生活,加快了信息化生活的腳步,人們利用智能手機可以輕松地查收郵件、移動辦公、查看新聞、下載應用等。本文提到的城市通也是智能手機APP應用,能夠為人們的日常生活帶來很大方便,其中一個重要功能是提供生活中煤氣費、水費、電費欠費提醒功能,為了及時地傳遞此類信息,需要為此類信息實現(xiàn)消息推送功能,在Android手機操作系統(tǒng)中消息推送的方式有幾種可以供選擇,本文通過對這幾種推送消息的方式的特點比較,選擇最適合手機城市通的推送方式。

    關鍵詞:App應用;城市通;Android;消息推送

    中圖分類號:TN929.5;TP311.52

    1 研究背景

    1.1 手機城市通研究背景

    21世紀是一個信息化的時代,人們的生活節(jié)奏也變得很快,你的錢包里錢不一定很多,但是各種銀行的銀行卡至少有幾個吧,比如工資卡、信用卡、水費卡、電費卡、煤氣卡、社??ǖ?,現(xiàn)在再也沒有人到你家里敲門去收水、電、煤氣費了,只要你在相應的卡中預存一定額數(shù)的錢,就可以享受足不出戶的優(yōu)越感,體會現(xiàn)代化生活了。但是當你足不出戶的時候,有沒有突然想起,你的水、電、煤氣卡中還有沒有剩余的錢了呢,不知道什么時候家中是否會突然停電或是停水,有些擔心呢?

    城市通是運行在手機Android操作系統(tǒng)上的一款軟件,它給我們越來越快的信息化生活助力,成為大家生活中的電子小秘書,其主要功能是負責提供一個特定城市吃、穿、住、行等生活方面的各種相關信息。包括水、電、煤氣的欠費提醒,市級組織的大型活動通知,買/賣房屋信息,停水/停電通知,商場打折促銷通知,飯店地點查詢及新增特色菜等信息。其中水、電、煤氣的欠費提醒需要實現(xiàn)消息推送,這樣能夠第一時間將信息通知到用戶,達到信息的即時性。替您解決生活中的憂慮和煩惱,減輕您的生活壓力,跟上信息化時代的腳步。

    1.2 城市通主要功能

    手機城市通主要功能與提供信息如下:(1)市級綜合通知:主要是市級的文字信息的通知,包含小區(qū)停水、停電、市文化部發(fā)布的消息、電信/有線發(fā)布的信息、交通局發(fā)布的信息等。(2)時時交通:及時發(fā)布交通路況信息,包括交通管制、修路、交通擁堵等信息。帶有語言功能,考慮到開車不方便查看手機信息的情況,時時交通模塊可以將時時發(fā)布的交通信息用語音形式讀出。出行路況查看與查詢,包括主要交通旅游路線高速公路的封路、暢通的情況,并可以提供旅游的主要路線。(3)我的消息:提示水、電、煤氣每個月的消費量,并具有欠費提前提醒功能,保證您的正常生活。(4)酒店查詢:提供所在城市酒店的打折、特價、特色、優(yōu)惠等信息。并提供酒店的聯(lián)系電話,可以打電話定座。(5)商場活動:第一時間為您提供商場的打折與促銷信息。(6)房屋買賣:為您提供房屋買賣等信息,并保證信息的可信度,可以查看房屋的文字和圖片信息,圖文并茂。

    上面提到的6個手機城市通功能,其中第三個“我的消息”最要體現(xiàn)消息的即時性,即當用戶存在費用不足的情況時,應該立刻給用戶一個提示,所以此模塊需要實現(xiàn)Android消息推送機制。

    2 消息推送機制的簡介

    所謂消息推送,需要不定時地從服務器端向手機客戶端即時推送各種通知消息。在iPhone上已經(jīng)有比較簡單和完美的推送解決方案。但是在Android平臺上實現(xiàn)起來相對比較麻煩。一般來說,想實現(xiàn)消息推送,都需要應用程序與服務器進行交互,到服務器端獲取數(shù)據(jù)。獲取數(shù)據(jù)的方法一般來說有兩種形式,第一種是在客戶端使用Pull的方式,每隔一段時間到服務器上獲取信息,看是否有更新的信息;第二種形式是在服務器端使用push方式,即推送的意思,當服務器端有新信息了,就把信息推送到客戶端上。

    在手機城市通軟件中到底是采用Pull方式還是采用push方式更適合呢?水、電、煤氣的用量都是以月為單位進行計算的,如果欠費的話,也應該是一個月才通知一次,那么如果采用pull方式不定時地向服務器獲取信息的話,會浪費客戶端的網(wǎng)絡流量,更主要的是耗費的電量多。所以在這里應該采用push方式更適合,當服務器有欠費通知時,在服務器端向客戶端push一個消息。

    所謂push即推送,是通過一定的技術標準或協(xié)議,在互聯(lián)網(wǎng)上向用戶傳送所需要的信息的一項技術。通過推送技術,減少了客戶端在網(wǎng)絡上搜索的時間,幫助用戶高效率的發(fā)掘有價值的信息。

    現(xiàn)在有很多應用程序中都使用了消息推送機制,比如新浪微博推送最新的朋友消息;網(wǎng)易新聞推送一些重要的新聞;天氣預報會推送最新的天氣狀況;手機炒股軟件推送最新的股票資訊;Gmail、Gtalk推送最新的Mail信息和IM信息;微信推送最新的語音和文字信息;有信網(wǎng)絡電話推送簽到贈送話費的信息等等。

    3 消息推送方式的解決方案

    下面介紹和分析了幾種Android操作系統(tǒng)中消息推送的幾種解決方案,從中我們選擇一種比較適合手機城市通中的消息推送解決方案。

    3.1 Google公司的C2DM。在Android手機平臺上,Google提供C2DM(Cloud to Device Messaging)幫助開發(fā)者從服務器向Android應用程序發(fā)送數(shù)據(jù)的服務。它提供了一個簡單的、輕量級的機制,允許服務器可以通知移動應用程序直接與服務器進行通信,以便于從服務器獲取應用程序更新和用戶數(shù)據(jù)。但經(jīng)過一段時間的研究實踐后,發(fā)現(xiàn)此種方式存在一些缺點。首先C2DM內(nèi)置于Android的2.2系統(tǒng)上,不能向下兼容以前的Android系統(tǒng);其次C2DM需要依賴于Google官方提供的C2DM服務器,因為國內(nèi)訪問Google網(wǎng)站經(jīng)常出現(xiàn)問題,所以如果想要正常使用,我們開發(fā)的App Server必須也在國外,這一點對于開發(fā)一般應用的開發(fā)者來說是很難實現(xiàn)的,讓開發(fā)者望塵莫及。

    3.2 MQTT協(xié)議實現(xiàn)消息推送。MQTT是由IBM公司提供的,是一個輕量級的消息發(fā)布/訂閱協(xié)議,它是實現(xiàn)基于手機客戶端的消息推送服務器的理想解決方案。我們可以從網(wǎng)站下載wmqtt.jar,編寫客戶端與服務器端實現(xiàn)消息推送。

    3.3 RSMB實現(xiàn)消息推送。RSMB(Really Small Message Broker)也是由IBM公司提供的,是一個簡單的MQTT代理,它負責接收來自服務器的消息并將其轉發(fā)給指定的移動設備。

    3.4 XMPP協(xié)議實現(xiàn)消息推送。XMPP,可擴展通訊和表示協(xié)議,是基于可擴展標記語言XML的協(xié)議,它用于即時消息以及在線探測。實際上Google官方的C2DM服務器底層也是采用的XMPP協(xié)議進行的封裝。

    Android pn是一個基于XMPP協(xié)議的Java開源消息推送的實現(xiàn),它包含了完整的客戶端和服務器端。它是基于open fire進行的修改,服務器端是采用Java語言spring框架實現(xiàn)的,服務器包含兩個部分,一個是偵聽在5222端口上的XMPP服務,負責與客戶端的XMPP Connection類進行通信,作用是用戶注冊和身份認證,并發(fā)送推送通知消息。另外一部分是Web服務器,采用一個輕量級的HTTP服務器,負責接收用戶的Web請求。服務器架構最上層包含四個部分,分別是Session Manager,Auth Manager,Presence Manager和Notification Manager。Session Manager負責管理客戶端與服務器之間的會話,Auth Manager負責客戶端用戶認證管理,Presence Manager負責管理客戶端用戶的登錄狀態(tài),Notification Manager負責實現(xiàn)服務器向客戶端推送消息功能。

    XMPP協(xié)議實現(xiàn)消息推送這個方案最大的優(yōu)勢就是簡單,它不像C2DM那樣依賴操作系統(tǒng)版本,也不用擔心Google服務器不可用。利用XMPP協(xié)議我們還可以進一步對協(xié)議進行擴展,實現(xiàn)更為完善的功能。目前這個方案只能發(fā)送文字消息,不過對于一般消息推送來說足夠了,因為我們不能指望通過推送得到所有的數(shù)據(jù),一般情況下,我們只是利用推送告訴手機端服務器發(fā)生了某些改變,當客戶端收到通知以后,再進行詳細信息的查看。通過對以上幾種消息推送方式的分析,在手機城市通中我們采用了XMPP協(xié)議來實現(xiàn)消息的推送。

    參考文獻:

    [1]張長學.移動推送技術面面觀[J].移動通信,2011(05).

    [2]張逸炎.移動終端即時消息推送系統(tǒng)的應用開發(fā)[A].第十七界全國青年通信學術年會論文集,2012.

    [3]陳蘇.城市移動電子稅務推送式服務研究[D].華中科技大學,2012.

    [4]仲瑋.基于XMPP協(xié)議的校園實時消息推送系統(tǒng)的研究[J].武漢大學學報,2012(01).

    作者單位:遼寧建筑職業(yè)學院,遼寧遼陽 111000

    台安县| 富阳市| 大田县| 天祝| 乾安县| 陆川县| 政和县| 南投县| 晋中市| 九龙县| 奉化市| 资阳市| 鄢陵县| 横峰县| 修文县| 浮山县| 堆龙德庆县| 怀柔区| 镇坪县| 永泰县| 沙田区| 余庆县| 呼伦贝尔市| 乐至县| 澄迈县| 始兴县| 苍南县| 乃东县| 平泉县| 化州市| 丘北县| 航空| 扎鲁特旗| 利川市| 呼玛县| 科尔| 九江县| 平罗县| 嘉定区| 惠水县| 交口县|