手機版WPS 手機版wps免費下載
2022-11-29
更新時間:2022-04-17 15:29:16作者:未知
當(dāng)前我國大多數(shù)應(yīng)用程序通常是以傳統(tǒng)的PULL方式運行,在程序的啟動過程中需要用戶手動來完成,但在一些特殊情況中,PULL方式卻難以完全滿足人們的相關(guān)需求,基于此,采用PUSH方式來運行程序,能夠有效地實現(xiàn)程序自動啟動運行。本文主要針對PUSH注冊機制在JAVA移動應(yīng)用程序開發(fā)中的應(yīng)用進行分析闡述。
目前常用的移動應(yīng)用程序開發(fā)技術(shù)主要以J2ME為主,其應(yīng)用程序模塊稱作MIDlet,在手機等移動設(shè)備中具有非常廣泛的應(yīng)用。大部分的MIDlet應(yīng)用程序采用的是PULL模式,用戶需要對程序進行手動的啟動,但是在一些企業(yè)級移動應(yīng)用程序的使用過程中,需要MIDlet自啟動,這就和本文討論的PUSH注冊機制相關(guān)。
1 PUSH注冊機制的工作原理
1.1 PUSH注冊機制的簡單介紹
PUSH技術(shù)最早被應(yīng)用于Internet的設(shè)計工作中,與傳統(tǒng)的PULL技術(shù)相比,采用PUSH模式,服務(wù)器能可以主動將數(shù)據(jù)發(fā)送至客戶端,而無需客戶端將提交請求,次項技術(shù)的實質(zhì)是讓信息主動進行用戶的尋找,信息的主動性與及時性是該項技術(shù)最主要的優(yōu)勢,它能夠以最快的速度將信息發(fā)送至用戶面前,但是該項技術(shù)也存在著其自身的不足之處,例如信息不是通過用戶主動的請求獲取,而是由服務(wù)器通過簡單的篩選機制來選擇,這使得其信息選擇準(zhǔn)確性不高。雖然PUSH機制在實際應(yīng)用中沒有取得較大的發(fā)展和成績,但是其在移動無線移動網(wǎng)絡(luò)中卻極大的發(fā)揮了極大的優(yōu)勢。由于移動互聯(lián)網(wǎng)絡(luò)具有費用標(biāo)準(zhǔn)較高、終端能力處理能力強、網(wǎng)絡(luò)帶寬受限等特點,這對用戶查找信息起了一定的限制作用,在實際運行過程中,如果能夠?qū)崿F(xiàn)相關(guān)信息到用戶主動發(fā)送,就可以為用戶的實際應(yīng)用提供極大的便利。
PUSH注冊機制是在PUSH技術(shù)的基礎(chǔ)上,應(yīng)用于移動設(shè)備應(yīng)用程序開發(fā)工作中的一種應(yīng)用,通過應(yīng)用PUSH注冊機制,能夠有效的實現(xiàn)應(yīng)用程序的自啟動,PUSH注冊機制位于AMS內(nèi)部,其屬于GCF的一個部分,并且其被封裝成類,能夠提供用于PUSH相關(guān)的應(yīng)用程序開發(fā)的各種方法,如:判斷MIDlet是否是PUSH事件激活、獲取與PUSH相關(guān)的信息、注冊PUSH事件等。
1.2 注冊方式
在使用過程中,為了有效的應(yīng)用PUSH注冊機制,首先需要通過MIDlet程序在AMS中注冊一個連接,其目的是為了對PUSH消息進行正常的監(jiān)聽與接收。主要有兩種注冊方式,動態(tài)注冊和動態(tài)注冊。
動態(tài)注冊一般通過PushRegistry類中的方法來實現(xiàn),在實際的應(yīng)用中,MIDlet可以依據(jù)具體情況來決定允許或者是拒絕PUSH請求,同時還可以根據(jù)實際需求對注冊進行修改,應(yīng) 用registerConnection的方法來開展動態(tài)的注冊,注冊成功之后,其動態(tài)行為就類似于靜態(tài)連接行為。靜態(tài)注冊在注冊安裝過程中才能被改變,首先需要將MIDlet予以卸載,再改變JAD屬性,再進行MIDlet的重新安裝,而要改變動態(tài)注冊連接,可以采用靜態(tài)方法unregisterConnection來進行移除
靜態(tài)注冊主要通過MIDlet應(yīng)用JAD文件來進行,在JAD文件中,靜態(tài)請求通常是由Midlet-Push-屬性來進行聲明,其所需要的信息在安裝的時候就已經(jīng)添加在JAD文件中。靜態(tài)注冊的安裝和卸載都要MIDlet套件進行,安裝后,無法添加新的注冊信息,這是其缺點。
連接注冊完成之后,注冊連接通常由AMS來進行監(jiān)聽,一旦其監(jiān)聽到相關(guān)的消息,就會將MIDlet應(yīng)用程序進行激活,在PUSH注冊機制中,激活MIDlet應(yīng)用程序的方式主要有兩種,一種是內(nèi)部時鐘激活,主要用于動態(tài)注冊方式中;另外一種是接入連接激活,既可以應(yīng)用于靜態(tài)注冊的激活中,也可以應(yīng)用于動態(tài)注冊連接的激活工作中。
1.3 PUSH注冊機制的安全性分析
在實際應(yīng)用中,實現(xiàn)PUSH注冊機制的PushRegistry類是受到安全許可及安全框架的保護的,相關(guān)的安全機制可以通過提出許可的方式來對敏感API的訪問實施保護,將一組許可及作用于該組許可上的交互模式稱之為保護域,一個設(shè)備上具有多個保護域,在保護域中定義了每次詢問、下次不再詢問、總是允許訪問幾種用戶交互行為方式來實施保護。
2 PUSH注冊機制在JAVA移動應(yīng)用程序開發(fā)中的應(yīng)用實例
以PUSH機制應(yīng)用于JAVA移動應(yīng)用程序為實例,在開發(fā)過程中,將PUSH機制和無線消息API進行聯(lián)合使用,通過接入連接方式來激活應(yīng)用程序,從而實現(xiàn)一個自啟動信息接收MIDlet應(yīng)用程序的模擬,可以使用OTA方式運行兩個手機模擬器,一個模擬服務(wù)器端,另一個則作為客戶端,使用模擬器自帶的號碼,模擬從服務(wù)器端向客戶端發(fā)送信息,客戶端上的接收程序會自動被激活,從而可以對信息進行接收與處理。該程序中主要有三個類,MessageReader類,對信息進行接收;SendMessage類處理信息的發(fā)送;主程序為PushSM SMIDlet,通過在startAPP()中調(diào)用initMessageServer()方法來建立連接,其作用是對相關(guān)消息進行監(jiān)聽。SendMessage類主要是負責(zé)信息的發(fā)送,在用戶寫完消息點擊發(fā)送按鈕時,就能夠啟動線程,實現(xiàn)信息的發(fā)送。
3 結(jié)束語
PUSH注冊機制是PUSH技術(shù)在JAVA移動應(yīng)用程序開發(fā)中的一種典型應(yīng)用,具有非常強的實用性,本文就主要在對PUSH技術(shù)特點及PUSH注冊機制的運行原理、連接注冊方式、安全性等進行簡單分析的基礎(chǔ)上,對其在JAVA移動應(yīng)用程序開發(fā)中的應(yīng)用進行了簡單分析,并提出了相關(guān)的應(yīng)用實例,對于實際的JAVA應(yīng)用程序開發(fā)工作具有一定的參考價值。