亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

android中WebView和javascript實現數據交互實例

2020-04-11 11:48:44
字體:
來源:轉載
供稿:網友

在看懂這篇文章之前首先要有javascript基礎。

(1) js調用android的方法:

復制代碼 代碼如下:
WebView wView;
wView. addJavascriptInterface (Object obj, String interfaceName);

是實例化一個對象,在html的js中調用,第二個參數是實例化對象的別名,如果要使用這個obj,則在js中使用的名字
就是interfaceName。
復制代碼 代碼如下:
public class jsWebDemo extends Activity {  
    WebView wView;

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);   
        wView = (WebView)findViewById(R.id.wv1);  
          
       WebSettings wSet = wView.getSettings();  
        wSet.setJavaScriptEnabled(true); 

        ProxyBridge pBridge = new ProxyBridge();  
        wView.addJavascriptInterface(pBridge, "AliansBridge");  
        
        wView.loadUrl("file:///android_asset/index.html");  
          
    }  
 
 private class ProxyBridge {  
  public int one () {  
   return 1;  
  }  
 }  
 
}


來看一下index.html的內容:
 
復制代碼 代碼如下:

<html>
  <mce:script language="javascript"><!--
 
        /* This function is invoked by the activity */  
        function wave() {  
            alert("1");  
            document.getElementById("droid").src="android_waving.png";  
            alert("2");  
        }  
   
// --></mce:script>
<body>     
<div id="output">Test page.</div>     

<a onClick="window.demo.clickOnAndroid()">
 <div style="width:100px;  
            margin:0px auto;  
            padding:10px;  
            text-align:center;  
            border:2px solid #202020;" > 
                <img id="droid" src="android_normal.png" mce_src="android_normal.png"/><br> 
                Click me!  
        </div>
 </a>
<input type="submit" value="change to 1" onclick="document.getElementById('output').innerHTML

=AliansBridge.one()" />     
</body>
</html>


這里的AliansBridge即是調用的JAVA對象。
要注意的是,如果你只有一個方法需要被js調用只new一個對象就行:
ProxyBridge pBridge = new ProxyBridge();
wView.addJavascriptInterface(pBridge, "AliansBridge");
如果你需要調用好多個方法,就要把整個android程序所在的類本身實例化傳遞進去:
wView.addJavascriptInterface(this, "AliansBridge");
(2) android調用js的方法:wView.setWebChromeClient (WebChromeClient client)
要用到Handler更新UI,Handler mHandler = new Handler();
復制代碼 代碼如下:
mWebView.setWebChromeClient(new MyWebChromeClient());               
    mWebView.addJavascriptInterface(new Object(){
    /**     
     * This is not called on the UI thread. Post a runnable to invoke     
     * loadUrl on the UI thread.     
     */       
    public void clickOnAndroid() {       
        mHandler.post(new Runnable() {        
            public void run() {        
                mWebView.loadUrl("javascript:wave()");        
            }        
        });                
    }
 }, "demo");

同理,在html中必須有一個名為demo的對象調用clickOnAndroid()方法。
復制代碼 代碼如下:
/**     
 * Provides a hook for calling "alert" from javascript. Useful for     
 * debugging your javascript.     
 */       
final class MyWebChromeClient extends WebChromeClient {        
    @Override    
    public boolean onJsAlert(WebView view, String url, String message,     
            JsResult result) {                     
        result.confirm();      
    return super.onJsAlert(view, url, message, result);                       
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩视频免费大全中文字幕| 欧美黑人xxx| 欧美在线观看网站| 久久成人精品电影| 综合网中文字幕| 日韩国产精品亚洲а∨天堂免| 国产欧美日韩精品专区| 精品一区精品二区| 一区二区在线视频| 亚洲九九九在线观看| 91天堂在线视频| 欧美一级在线亚洲天堂| 最近日韩中文字幕中文| 一区二区三区视频在线| 国产精品99久久久久久人| 91香蕉嫩草神马影院在线观看| 91九色视频导航| 欧美不卡视频一区发布| 日韩欧美成人免费视频| 亚洲综合色av| 亚洲午夜久久久久久久| 精品久久久久久久久中文字幕| 欧美性极品xxxx娇小| 国产精品久久婷婷六月丁香| 国产精品久久久av久久久| 日韩av免费一区| 精品国产欧美成人夜夜嗨| 成人欧美一区二区三区在线| 日韩av电影免费观看高清| 91久久久久久| 性欧美办公室18xxxxhd| 亚洲精品福利在线观看| 日韩欧美在线字幕| 一区二区三区 在线观看视| 国产成人久久精品| 国产a∨精品一区二区三区不卡| 中文字幕日韩欧美| 亚洲欧美日韩另类| www国产精品视频| 国产99久久精品一区二区永久免费| 亚洲精品视频免费| 中日韩美女免费视频网站在线观看| 亚洲国产精品推荐| 久久久久久一区二区三区| 岛国视频午夜一区免费在线观看| 久久亚洲国产精品成人av秋霞| 久久精品免费电影| 最近2019好看的中文字幕免费| 91免费看片在线| 日韩免费黄色av| 欧美日本在线视频中文字字幕| 日韩精品一区二区三区第95| 久久九九国产精品怡红院| 97视频在线播放| 亚洲精品久久久久中文字幕二区| 日本高清不卡在线| 精品国产一区二区三区久久狼5月| 在线视频日本亚洲性| 55夜色66夜色国产精品视频| 国产热re99久久6国产精品| 国产成人综合精品在线| 久热国产精品视频| 福利一区福利二区微拍刺激| 欧美巨大黑人极品精男| 88xx成人精品| 日韩欧美福利视频| 精品毛片网大全| 国产精品9999| 国产成人在线精品| 国产精品久久久久久久电影| 国产精品久久久久国产a级| 色婷婷av一区二区三区久久| 色偷偷88888欧美精品久久久| 国产精品久久久久av免费| 国产精品免费网站| 日韩av资源在线播放| 亚洲社区在线观看| 一区二区欧美久久| 色妞欧美日韩在线| 国产精品视频久久久久| 国产精品高潮粉嫩av| 亚洲精品一区中文| 亚洲大胆人体在线| 精品女厕一区二区三区| 亚洲电影在线看| 欧美久久精品一级黑人c片| 国产精品福利无圣光在线一区| 日本高清+成人网在线观看| 亚洲区一区二区| 亚洲国产精品久久久久秋霞不卡| 国产香蕉一区二区三区在线视频| 国产精品自产拍在线观| 日本精品久久久久影院| 5278欧美一区二区三区| 色播久久人人爽人人爽人人片视av| 亚洲一区二区三区乱码aⅴ| 日韩最新中文字幕电影免费看| 庆余年2免费日韩剧观看大牛| 在线亚洲男人天堂| 68精品国产免费久久久久久婷婷| 日本电影亚洲天堂| 久久久女人电视剧免费播放下载| 日韩av一卡二卡| 日韩精品福利在线| 伊人激情综合网| 日韩中文理论片| 国产成人av网| 热99精品只有里视频精品| 久久视频在线播放| 国产剧情日韩欧美| 亚洲第一网站男人都懂| 日韩极品精品视频免费观看| 国产午夜一区二区| 在线观看国产欧美| 国产精品专区第二| 亚洲激情在线观看视频免费| 亚洲欧美精品伊人久久| 一区二区三区动漫| 亚洲精品小视频在线观看| 欧美激情中文字幕乱码免费| 欧美性xxxx| 国产精品美女久久久久久免费| 久久这里只有精品99| 亚洲福利视频专区| 国产欧美婷婷中文| 亚洲精品美女免费| 91po在线观看91精品国产性色| 久久久久日韩精品久久久男男| 最新国产精品拍自在线播放| 亚洲国产97在线精品一区| 久久精品久久久久久| 日韩欧美精品中文字幕| 国产午夜精品麻豆| 亚洲欧美另类在线观看| 亚洲人成伊人成综合网久久久| 久久精品国产久精国产思思| 欧美在线播放视频| 久久久久久久久国产精品| 日韩在线视频免费观看高清中文| 97超级碰碰碰久久久| 久久精品视频在线观看| 日韩一区av在线| 国产精品电影久久久久电影网| 欧美激情亚洲综合一区| 精品人伦一区二区三区蜜桃免费| 欧美大尺度在线观看| 国产精品成人一区| 中文综合在线观看| 久热精品视频在线观看| 国产精品久久久久久久久久| 国产精品久久久久久av福利| 久久91超碰青草是什么| 九色精品免费永久在线| 精品久久久久久久久久久久久久| 国产精品99久久99久久久二8| 亚洲a级在线观看| 91亚洲精品久久久| 亚洲国产欧美一区二区三区久久| 国产精品视频色| 色狠狠av一区二区三区香蕉蜜桃| 日本精品性网站在线观看| 欧美激情乱人伦| 美日韩精品免费视频| 国产精品永久在线|