亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用webView中的javaScript調用Android方法

發布時間:2020-07-08 23:00:06 來源:網絡 閱讀:1055 作者:poarry 欄目:移動開發

之前接觸過的webView只是了解,知道Android提供了webView組件,它本身就是瀏覽器的實現,內核基于開源的WebKit引擎。webView和普通的ImageView組件的用法基本類似,有大量的方法來執行瀏覽器操作,

  比如 void goBack()后退  

            void goForward()  前進 

            void loadUrl(String url) 加載指定的Url對應的網頁

             boolean zoomln()放大網頁

等等。

另外,webView也提供了架子html代碼的方法loadData(String baseUrl,String mimeType ,String encoding。。。。).

  現在因為接觸到要加載html網頁并且有交互,所以看了一下Android這塊支持調用Android方法的webview。

   使用webView中的javaScript調用Android

    很多時候,webView加載頁面是帶的javaScript腳本,比如網頁上有個按鈕,用戶點擊按鈕之后將會有相應,因為按鈕是html頁面上的,所以按鈕只能激發一段javaScript腳本,這就需要javaScript腳本調用Android方法來實現響應。

  為了讓webView飛javaScript調用Android方法,webView提供了一個配套的webSettings工具類,該類提供了大量的方法來管理webView的選項設置。

   WebView的javaScript中調用Android方法的步驟有三個:

   1、調用webView關聯的webSettings的setJavaScriptEnabled(true),啟用javaScript調用功能

    2、調用webView的addjavasriptInterface(Object object,String name)方法將object暴露給javaScript

    3、在javaScript腳本中通過剛才暴露的name對象調用Android方法。

 

大概代碼如下,不過完整代碼在附件中可以下載。

 

activity

 

public class MainActivity extends Activity {

 private WebView webView;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  webView = (WebView)findViewById(R.id.webview_s);
 //加載本地的assets下 的testhtml文件,也可以加載網頁或者服務器上的 網頁

 webView.loadUrl("file:///android_asset/test.html");
  //獲取websettings對象

WebSettings webSetting = webView.getSettings();
  //啟用javaScript功能

webSetting.setJavaScriptEnabled(true);
 //將MyObject對象暴露給javaScript腳本,這樣test.html網頁 的javaScript就可以通過myObj來調用      //  MyObject的方法;

 webView.addJavascriptInterface(new MyObject(this), "myObj");
  
 }

}

 

 //這個類就是自定義的,

public class MyObject {
 Context mContext;
 public  MyObject (Context c){
  mContext = c;
 }
public void showToast(String name){
 Toast.makeText(mContext, name, Toast.LENGTH_SHORT).show();
}
}

 

 

test.html

  按鈕的   javaScript通過muObj來調用方法

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>

<style type="text/css">
.highlight{ background:#FF3300;
}
</style>
</head>

<body>
<div id="panel">
 <h6 class="head">什么是jquery?</h6>
    <div class="content">
    JavaScript作為Web開發的客戶端標準語言,逐漸被人們重視。由于JavaScript僅定義了
本的語法規范和邏輯結構,
    </div>
</div>
<input type ="button" value = "打招呼" onclick ="myObj.showToast('eeee');"/>

</body>
</html>

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正定县| 马边| 寿阳县| 古蔺县| 信丰县| 兴化市| 黑山县| 昌黎县| 天门市| 台中县| 上高县| 香格里拉县| 闻喜县| 淮安市| 平顶山市| 黄大仙区| 德化县| 始兴县| 镇坪县| 体育| 乌兰察布市| 仙桃市| 庆城县| 延安市| 海兴县| 常熟市| 北宁市| 阿荣旗| 榆树市| 阿勒泰市| 金塔县| 阳朔县| 建瓯市| 贡山| 榕江县| 望城县| 介休市| 始兴县| 沭阳县| 岳池县| 朝阳县|