日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

安卓与HTML简单的交互使用

發(fā)布時(shí)間:2025/3/15 HTML 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安卓与HTML简单的交互使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

????????????????????????????????????????? 安卓與HTML簡單交互使用

?實(shí)現(xiàn)通過java代碼與HTML的一個(gè)互相操作。

準(zhǔn)備工作:

1、新建Android工程,在布局文件中添加WebView控件。

2、準(zhǔn)備一個(gè)HTML文件,放在src/main/assets文件夾下。

3、在java中得到webview,通過loadUrl找到assets下的HTML文件,必須設(shè)置webview能使用js(settings.setJavaScriptEnabled(true))加載顯示如下效果:

?

簡單的效果實(shí)現(xiàn)

一、點(diǎn)擊HTML上sayHello按鈕,可以得到j(luò)ava代碼返回的字符串并顯示

1 mWvShow.loadUrl("file:///android_asset/jsandjava.html"); 2 mWvShow.addJavascriptInterface(new JsTest(), "jsObj");//將java中類映射到j(luò)s中 jsObj為該類的一個(gè)對象名 JsTest是一個(gè)內(nèi)部類,其中定義的方法與js中button調(diào)用的方法名一致。 1 @JavascriptInterface 2 public String sayHello() { 3 return "你好!!!"; 4 } js中封裝的sayHello()方法:

1
function sayHello(){ 2 var str = window.jsObj.sayHello(); 3 document.getElementById("id_input").value = str; 4 } var str = window.jsObj.sayHello();

通過window得到jsObj對象,通過其調(diào)用該類中的方法sayHello(),就可獲取java方法中返回的字符串。

在js的button點(diǎn)擊時(shí)調(diào)用方法:

1 <input type="button" value="sayHello" onclick="sayHello()"/>

?演示效果:

二、點(diǎn)擊HTML上showAndroidButton按鈕,可以和activiy交互,讓其進(jìn)行一些UI的操作

因?qū)ο笥成溥^一次,不需再次映射。在java中定義showAndroidButton()方法,同樣方法名需和js中button調(diào)用的一致,即js調(diào)用的方法就是通過映射過去的對象調(diào)用的java里的方法,所以兩者方法名必須一致。因?yàn)?span style="color:#000000;">showAndroidButton()是在js中通過映射的對象來調(diào)用,不能直接更新UI需要通過runOnUiThread的方法來更新UI。

1 @JavascriptInterface 2 public void showAndroidButton(){ 3 runOnUiThread(new Runnable() { 4 @Override 5 public void run() { 6 btn_test.setVisibility(View.VISIBLE); 7 } 8 }); 9 }

js封裝的方法:

通過對象調(diào)用類中的方法。

1 function showAndroidButton(){ 2 window.jsObj.showAndroidButton(); 3 }

HTML中button的定義,調(diào)用showAndroidButton()方法:

<input type="button" style="height: 40px " value="showAndroidButton" onclick="showAndroidButton()"/>

?三、點(diǎn)擊excuteHtmlFun按鈕,調(diào)用java內(nèi)的excuteHtmlFun()方法,方法內(nèi)調(diào)用js定義的showFromHtml(param)方法;

?

java內(nèi)部類中的excuteHtmlFun()方法,方法內(nèi)加載Url:

1 @JavascriptInterface 2 public void excuteHtmlFun(){ 3 runOnUiThread(new Runnable() { 4 @Override 5 public void run() { 6 mWvShow.loadUrl("javascript: showFromHtml('我很好!')");//調(diào)用js內(nèi)的showFromHtml(param)方法 7 } 8 }); 9 }

js的showFromHtml(param)方法:

?

function showFromHtml( param ){document.getElementById("id_input").value = "Java call Html : " + param;}

?

?

button內(nèi)直接調(diào)用java類中的方法

1 <input type="button" style="height: 40px " value="excuteHtmlFun" οnclick="window.jsObj.excuteHtmlFun()"/>

出現(xiàn)效果就是點(diǎn)擊按鈕調(diào)用java的方法,java方法中使用了js的方法,顯示在網(wǎng)頁上。

?

轉(zhuǎn)載于:https://www.cnblogs.com/lwandxcq/p/5668038.html

總結(jié)

以上是生活随笔為你收集整理的安卓与HTML简单的交互使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。