Android與Vue怎么進(jìn)行交互?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問題。
杞縣網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
JavaScript 調(diào)用 Java
Android 中 WebView 添加供 Html 頁(yè)面調(diào)用的 Java 方法:
mWebView.addJavascriptInterface(new DirectToJS(), "AndroidObj"); class DirectToJS{ @JavascriptInterface public void showToast(){ Toast.makeText(this, "Android Toast",Toast.LENGTH_SHORT).show(); } }
Html 頁(yè)面中 JavaScript 調(diào)用 Java 方法的方式如下:
window.AndroidObj.showToast();
JavaScript 代碼中: window 是網(wǎng)頁(yè)的 Window 實(shí)體,這個(gè)做前端開發(fā)的人都非常熟悉; AndroidObj 是 Android 端給 WebView 提供的一個(gè)實(shí)體,Android 會(huì)將這個(gè)實(shí)體賦給 WebView 的 window; showToast() 就是 Java 提供給 Html 的方法。
Java 調(diào)用 JavaScript
首先 Html 上寫個(gè)普通的 JavaScript 方法:
function showAlert(){ alert("Html Alert"); }
Android 中只要執(zhí)行以下代碼即可:
mWebView.loadUrl("javascript:showAlert()");
Vue 框架上的坑
如果前端用的是 Vue 框架,那么如果你在 js 腳本上直接寫一個(gè)方法,Android 是調(diào)用不到的,無(wú)論是寫在那個(gè)位置。
這是因?yàn)?Vue 框架中,腳本上的方法不是屬于 window 的方法,你應(yīng)該將要提供給 Android 調(diào)用的方法賦給 window,這樣,Android 中才能調(diào)得到:
window['showAlert'] = { alert("Html Alert"); }
看完上述內(nèi)容,你們掌握Android與Vue怎么進(jìn)行交互的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!