亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

實(shí)現(xiàn)web層和native層通信的方法和裝置的制造方法_3

文檔序號(hào):9691071閱讀:來源:國(guó)知局
[0101]步驟202:確定該處理消息是請(qǐng)求消息還是回復(fù)消息;如果該處理消息是請(qǐng)求消息,執(zhí)行步驟203;如果該處理消息是回復(fù)消息,執(zhí)行步驟207。
[0102]處理消息中包括消息類型,bridge模塊從該處理消息中獲取該處理消息的消息類型;消息類型包括請(qǐng)求消息類型和回復(fù)消息類型;如果該處理消息的消息類型為請(qǐng)求消息類型,bridge模塊確定該處理消息是請(qǐng)求消息;如果該處理消息的消息類型為回復(fù)消息類型,br i dge模塊確定該處理消息是回復(fù)消息。
[0?03]例如,該處理消息的消息類型為“response”時(shí),bridge模塊確定該處理消息為回復(fù)消息。再如,該處理消息的消息類型為“request”時(shí),bridge模塊確定該處理消息是請(qǐng)求消息。
[0104]步驟203:如果該消息是請(qǐng)求消息,控制接收方處理該處理消息得到響應(yīng)消息。
[0105]本步驟可以通過以下第一種方式或者第二種方式實(shí)現(xiàn),如果發(fā)送方位于web層,接收方位于native層,本步驟可以通過以下第一種方式實(shí)現(xiàn);如果發(fā)送方位于native層,接收方位于web層,本步驟可以通過以下第二種方式實(shí)現(xiàn)。
[0106]對(duì)于第一種實(shí)現(xiàn)方式,本步驟可以通過以下步驟(1)和(2)實(shí)現(xiàn),包括:
[0107](1):向接收方發(fā)送觸發(fā)消息;
[0?08] 由于Javascript不能直接調(diào)用nat ive,因此,web層不可以直接調(diào)用nat ive層,貝1Jbridge模塊不能直接調(diào)用native層的處理函數(shù),bridge模塊通過向接收方發(fā)送觸發(fā)消息,以觸發(fā)接收方處理該處理消息。
[0109]Bridge模塊存儲(chǔ)該處理消息,并向接收方發(fā)送觸發(fā)消息,該觸發(fā)消息包括該處理消息的消息標(biāo)識(shí),且該觸發(fā)消息用于觸發(fā)接收方調(diào)用處理該處理消息的第一處理函數(shù),通過第一處理函數(shù)處理該處理消息,得到響應(yīng)消息。
[0110]進(jìn)一步地,接收方接收bridge模塊發(fā)送的該觸發(fā)消息,從該觸發(fā)消息中獲取該處理消息的消息標(biāo)識(shí),根據(jù)該消息標(biāo)識(shí)獲取該處理消息,并獲取處理該處理消息的第一處理函數(shù),通過第一處理函數(shù)處理該處理消息,得到響應(yīng)消息;向bridge模塊發(fā)送該響應(yīng)消息。
[0111]消息標(biāo)識(shí)可以為bridge模塊中存儲(chǔ)該處理消息的存儲(chǔ)位置。
[0112]例如,Bridge模塊先將該處理消息臨時(shí)存儲(chǔ)在Javascript端,然后向接收方發(fā)送觸發(fā)消息,以通知nat ive層的接收方反向調(diào)用br i dge模塊,以獲取該處理消息,具體可以利用shouldStartLoadWithRequest。
[0113]進(jìn)一步地,如果該響應(yīng)消息需要回調(diào)處理,則發(fā)送方在該響應(yīng)消息中設(shè)置回調(diào)標(biāo)識(shí)和回調(diào)函數(shù);或者,發(fā)送方向bridge模塊發(fā)送回調(diào)標(biāo)識(shí)和回調(diào)函數(shù),bridge模塊接收發(fā)送方發(fā)送的回調(diào)標(biāo)識(shí)和回調(diào)函數(shù),由bridge模塊在響應(yīng)消息中設(shè)置回調(diào)標(biāo)識(shí)和回調(diào)函數(shù)。
[0114]其中,回調(diào)標(biāo)識(shí)可以為“callback”。
[0115](2):接收接收方發(fā)送的該響應(yīng)消息。
[0? Ι?] Bridge模塊接收接收方發(fā)送的該響應(yīng)消息,執(zhí)行步驟204。
[0117]對(duì)于第二種實(shí)現(xiàn)方式,本步驟可以通過以下步驟(A)和(B)實(shí)現(xiàn),包括:
[0118](A):根據(jù)該處理消息,調(diào)用接收方的處理該處理消息的第二處理函數(shù);
[0119]由于nat ive可以直接調(diào)用Java script,因此nat ive層可以直接調(diào)用web層,則bridge模塊可以直接調(diào)用web層的處理函數(shù),本步驟可以為:
Bridge模塊向接收方發(fā)送通知消息,該通知消息包括該處理消息;接收方接收bridge模塊發(fā)送的通知消息,從該通知消息中獲取該處理消息,從本地獲取處理該處理函數(shù)的第二處理函數(shù),向bridge模塊發(fā)送第二處理函數(shù);bridge模塊接收接收方發(fā)送的第二處理函數(shù)。
[0121]需要說明的是,如果終端是以10S為操作系統(tǒng)的終端,則接收方直接向bridge模塊發(fā)送第二處理函數(shù);如果終端是以Android為操作系統(tǒng)的終端,則接收方向bridge模塊發(fā)送第二處理函數(shù)的步驟可以為:
[0122]接收方向bridge 模塊發(fā)送 shouldOverrideUrlLoading 消息,該shouldOverrideUrlLoading 攜帶第二處理函數(shù)。
[0123]相應(yīng)的,bridge模塊接收接收方發(fā)送的第二處理函數(shù)的步驟可以為:
[0124]Br i d g e模塊接收接收方發(fā)送的s h ο u 1 d 0 V e r r i d e Ur 1Lο a d i n g消息,從該shouldOverrideUrlLoading消息中獲取第二處理函數(shù)。
[0125]進(jìn)一步地,如果該處理函數(shù)需要回調(diào)處理,則接收方向bridge模塊發(fā)送該處理函數(shù)的同時(shí),還向bridge模塊發(fā)送回調(diào)標(biāo)識(shí)和回調(diào)函數(shù);bridge模塊接收接收方發(fā)送的回調(diào)標(biāo)識(shí)和回調(diào)函數(shù)。
[0126](B):通過第二處理函數(shù)處理該處理消息,得到響應(yīng)消息。
[0127]步驟204:確定該響應(yīng)消息是否需要回調(diào)處理;如果該響應(yīng)消息需要回調(diào)處理,執(zhí)行步驟205;如果該響應(yīng)消息不需要回調(diào)處理,執(zhí)行步驟206。
[0?28]如果發(fā)送方向br idge模塊發(fā)送回調(diào)標(biāo)識(shí)和回調(diào)函數(shù),br i dge模塊確定該響應(yīng)消息需要回調(diào)處理;如果發(fā)送方?jīng)]有向bridge模塊發(fā)送回調(diào)標(biāo)識(shí)和回調(diào)函數(shù),bridge模塊確定該響應(yīng)消息不需要回調(diào)處理。
[0129]步驟205:如果該響應(yīng)消息需要回調(diào)處理,在該響應(yīng)消息中設(shè)置回調(diào)標(biāo)識(shí)和回調(diào)函數(shù)。
[0130]步驟206:向發(fā)送方發(fā)送該響應(yīng)消息,結(jié)束。
[0131]進(jìn)一步地,如果該響應(yīng)消息需要回調(diào)處理,bridge模塊控制發(fā)送方根據(jù)該回調(diào)標(biāo)識(shí)和回調(diào)函數(shù),對(duì)該響應(yīng)消息進(jìn)行回調(diào)處理,具體可以為:
[0132]Bridge模塊向發(fā)送方發(fā)送設(shè)置有回調(diào)標(biāo)識(shí)和回調(diào)函數(shù)的響應(yīng)消息;發(fā)送方接收bridge模塊發(fā)送的設(shè)置有回調(diào)標(biāo)識(shí)和回調(diào)函數(shù)的響應(yīng)消息,根據(jù)該回調(diào)標(biāo)識(shí),確定該響應(yīng)消息需要回調(diào)處理,從該響應(yīng)消息中獲取回調(diào)函數(shù),執(zhí)行該回調(diào)函數(shù),以實(shí)現(xiàn)對(duì)該響應(yīng)消息的回調(diào)處理。
[0133]步驟207:如果該處理消息是回復(fù)消息,向接收方發(fā)送該處理消息。
[0?34] 例如,該處理消息是回復(fù)消息,該處理消息可以為“String responseData”等。
[0135]本步驟可以通過以下步驟(1)至(3)實(shí)現(xiàn),包括:
[0136](1):確定該處理消息是否需要回調(diào)處理,如果該處理消息需要回調(diào)處理,執(zhí)行步驟(2);如果該處理消息不需要回調(diào)處理,執(zhí)行步驟(3)。
[0137]如果該處理消息是回復(fù)消息,bridge模塊確定該處理消息中是否包含回調(diào)標(biāo)識(shí);如果該處理消息中包含回調(diào)標(biāo)識(shí),bridge模塊確定該處理消息需要回調(diào)處理;如果該處理消息中不包含回調(diào)標(biāo)識(shí),bridge模塊確定該處理消息不需要回調(diào)處理。
[0138](2):如果該處理消息需要回調(diào)處理,控制接收方獲取處理該處理消息的回調(diào)函數(shù),執(zhí)行該回調(diào)函數(shù),結(jié)束。
[0139]如果該處理消息需要回調(diào)處理,向接收方發(fā)送設(shè)置有回調(diào)標(biāo)識(shí)和回調(diào)函數(shù)的處理消息;接收方從該處理消息中獲取該回調(diào)函數(shù),執(zhí)行該回調(diào)函數(shù)。
[0140](3):如果該處理消息不需要回調(diào)處理,向接收方發(fā)送該處理消息。
[0141]例如,該處理消息不需要回調(diào)處理,該處理消息可以為“String data”等。
[ΟΙ42]在本發(fā)明實(shí)施例中,通過bridge模塊連接web層和native層,bridge模塊接收發(fā)送方發(fā)送的處理消息,發(fā)送方位于web層或者nat i ve層;如果該處理消息是請(qǐng)求消息,控制接收方處理該處理消息得到響應(yīng)消息,接收方位于web層和nat ive層中除發(fā)送方之外的通信層,向發(fā)送方發(fā)送該響應(yīng)消息;由于通過bridge模塊實(shí)現(xiàn)web層和native層之間的通信,不需要在native層運(yùn)行web server且bridge模塊占用內(nèi)存較少,從而可以節(jié)省內(nèi)存,降低內(nèi)存等資源的消耗。
[0143]實(shí)施例3
[0144]本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)網(wǎng)絡(luò)web層和本地nat ive層通信的裝置,應(yīng)用于橋梁bridge模塊中,bridge模塊連接web層和native層;參見圖3-1,該裝置包括:
[ΟΙ45]接收模塊301,用于接收發(fā)送方發(fā)送的處理消息,發(fā)送方位于web層或者native層;
[0146]第一控制模塊3
當(dāng)前第3頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1