成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android原生與H5通信

移動開發 Android
如今,混合開發似乎成為了主流。H5擁有跨平臺的優勢,卻存在性能上的問題正好可以用搭建原生殼承載H5代碼的方式去解決。如何理解這種方式,就好像說Android原生代碼封裝外殼,內部包含H5代碼作為核心內容。

如今,混合開發似乎成為了主流。H5擁有跨平臺的優勢,卻存在性能上的問題正好可以用搭建原生殼承載H5代碼的方式去解決。

如何理解這種方式,就好像說Android原生代碼封裝外殼,內部包含H5代碼作為核心內容。更細節一點,我們把引導頁、登錄頁、首頁等等與業務關聯打不并且與用戶交互較多的頁面用原生去寫,而業務頁面,邏輯代碼由H5處理,將他們結合就形成了混合開發的由原生殼承載的H5APP。

[[238610]]

這么做有什么好處呢?組個例子,我們利用這種方式做好了一個Android原生APP,現在需要做一個IOS原生APP,我們可以直接簡單搭建一個IOS殼,復用H5代碼,完成IOS原生APP。同時我們需要在釘釘、微信小程序等等平臺搭建,可以直接復用我們已有的H5代碼。

而這樣的搭建方式比純H5搭建的APP的優勢在于因為有原生殼的存在,可以自由的使用原生API。保證了交互上的流暢性。

如何實現原生與H5的通信呢?

關于通訊我們需要解決兩個問題:

  • 原生向H5通訊
  • H5向原生通訊

第一個問題很好解決,以Android為例,WebView提供特有的方法,當你打開一個Html,你可以去調用這個Html中包含的JS。例如:

  1. webview.loadUrl("javascript:callH5('Android ok')"); 

第二個問題我們采用發送指令的方式來處理。同樣以Android為例,WebView可以攔截html跳轉時的url地址,我們可以利用這個地址,約定一個規則,如果符合規則,則攔截后不執行跳轉,通過這個url獲取我們需要的信息,執行對應的操作。

  1. window.location.href=protocol://android?code=toast&data=+Json.stringify(config) 

上述是一段JS的頁面跳轉方法。我們規定規則PRE=protocol://android?,當我們攔截的url包含PRE時,則我們認為這是一條指令,不需要跳轉頁面,應該執行對應操作。而參數code則是我們的指令內容,data為通信時的傳參。

接下來是原生這邊處理。首先我們攔截url。這里筆者還處理由于Http攻擊導致H5頁面出現廣告的問題。我們主要是第一個if。 

  1. webView.setWebViewClient(new WebViewClient() {  
  2. // Load opened URL in the application instead of standard browser  
  3. // application  
  4. public boolean shouldOverrideUrlLoading(WebView view, String url) {  
  5. showLogInfo("攔截到的url----"+url);  
  6. String advertising="http://"+sharedPreferencesUtil.getData(Constant.IP, RequestConfig.IP)  
  7. +":"+sharedPreferencesUtil.getData(Constant.PORT,RequestConfig.IPPORT);  
  8. if (url.contains(pre)) {  
  9. Map map = getParamsMap(url, pre);  
  10. String code = map.get("code");  
  11. String data = map.get("data");  
  12. parseCode(code, data);  
  13. return true 
  14. }else if(!url.contains(advertising)){  
  15. showLogError("攔截到植入廣告,廣告的url——"+url);  
  16. return true 
  17. else 
  18. return false 
  19.  
  20.  
  21. }); 

return 為ture表示攔截成功,不執行后面的跳轉操作。而false表示按正常流程執行。攔截成功后我們從url中獲取code和data,接著就可以按照我們自己的需求去處理了。

責任編輯:未麗燕 來源: 簡書
相關推薦

2012-10-18 13:48:31

統一通信UC

2015-11-10 11:38:06

2012-07-06 09:59:41

2010-05-13 23:33:31

統一通信技術

2010-05-21 17:08:20

VoIP統一通信

2020-07-21 14:00:51

App小程序前端

2010-05-17 14:59:25

H3C統一通信

2010-05-17 14:55:53

H3C統一通信

2010-05-21 10:31:21

統一通信系統

2010-05-14 12:15:23

統一通信系統

2015-06-29 10:07:01

Cocos百視通ARM H5論壇

2023-02-01 23:10:16

大數據

2015-06-26 15:26:30

Cocos百視通ARM

2010-05-06 10:37:13

ibmdwLotus

2010-05-12 15:54:36

2010-05-14 13:30:28

統一通信協作

2014-02-11 10:02:59

IDC統一通信與協作UC&C

2010-05-12 11:43:43

VoIP統一通信

2012-12-12 11:15:12

統一通信UC

2012-05-17 10:54:14

統一通信與協作BYOD統一通信
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品伦一区二区三级视频 | 国产一区二区自拍 | 国产极品车模吞精高潮呻吟 | 成人在线视频看看 | 欧美一级在线观看 | 亚洲视频在线一区 | 亚洲欧美一区二区三区国产精品 | www.青青草 | 亚洲免费精品 | 91社区在线观看播放 | 成年视频在线观看 | 精品一区二区三区不卡 | 中文字幕一区二区三区四区 | 成人午夜电影在线观看 | av男人的天堂在线 | 亚洲一区av在线 | 国产精品色哟哟网站 | 天天操天天操 | 欧美电影免费观看高清 | 中文字幕在线二区 | 精品福利av导航 | 99热在这里只有精品 | 欧美成人a| 在线观看亚洲欧美 | 2021天天躁夜夜看 | 日韩一区二 | 成人在线精品 | 国产精品成人品 | 色性av | 亚洲最色网站 | 免费簧片视频 | 亚洲日本中文字幕在线 | 亚洲激精日韩激精欧美精品 | 婷婷成人在线 | aaa在线| 在线亚洲免费 | 久久亚洲国产精品日日av夜夜 | 欧美日韩国产一区二区三区 | 国产亚洲精品久久午夜玫瑰园 | 免费视频一区二区 | 中文字幕成人av |