當前位置:編程學習大全網 - 編程軟體 - hybrid App中js調用native接口原理

hybrid App中js調用native接口原理

移動網絡的發展推動移動APP盛行,目前市場上APP開發技術的類型主要有三種,native開發、hybrid開發、RN/weex開發。

本文主要講述hybrid APP中js調用native原理。hybrid APP就是利用Android/iOS上webview加載web網頁,其實就是相當於用native做了壹個外殼,然後裏面加載網頁。那站在業務層面上,只要沒有太依賴性能,都能滿足需求,那這裏面有可能會用到壹些硬件功能,比如:相機、位置等,這時就必須調用native。

1.js 調用 native,Android裏面主要通過WebViewClient.shouldOverrideUrlLoading方法攔截指定格式的URL,通過攔截特定URL和獲取對應的參數,來調用native對應的功能。這裏我們主要通過cordova插件,來做例子說明

上面我們看到cordova的初始化,這裏面主要對回調callback進行定義,js調用native之後,native處理完結果,將結果返回js,就是通過callback完成。

3.構造鏈接,並發送鏈接pokeNative

這裏我們看到調用native可以通過iframe和通過XHR完成。

這就是js調用native的方式,native完成處理之後,通過webView.addJavascriptInterface調用js中掛載在window對象的方法,這是壹個統壹的回調nativeCallback ,通過callbackID識別出本次結果需要回調js中的哪個function。然後本次交互就全部完成了

總結壹下,主要同理是通過native兩個方法:addJavascriptInterface和shouldOverrideUrlLoading完成js和native交互。

  • 上一篇:如何對php字符串中的每壹個字符操作
  • 下一篇:平年和閏年編程
  • copyright 2024編程學習大全網