最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android中WebView和javascript實(shí)現(xiàn)數(shù)據(jù)交互實(shí)例

 更新時(shí)間:2014年07月11日 10:25:55   投稿:junjie  
這篇文章主要介紹了android中WebView和javascript實(shí)現(xiàn)數(shù)據(jù)交互實(shí)例,需要的朋友可以參考下

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

(1) js調(diào)用android的方法:

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

是實(shí)例化一個(gè)對(duì)象,在html的js中調(diào)用,第二個(gè)參數(shù)是實(shí)例化對(duì)象的別名,如果要使用這個(gè)obj,則在js中使用的名字
就是interfaceName。
復(fù)制代碼 代碼如下:
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;  
  }  
 }  
 
}


來(lái)看一下index.html的內(nèi)容:
 
復(fù)制代碼 代碼如下:

<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即是調(diào)用的JAVA對(duì)象。
要注意的是,如果你只有一個(gè)方法需要被js調(diào)用只new一個(gè)對(duì)象就行:
ProxyBridge pBridge = new ProxyBridge();
wView.addJavascriptInterface(pBridge, "AliansBridge");
如果你需要調(diào)用好多個(gè)方法,就要把整個(gè)android程序所在的類本身實(shí)例化傳遞進(jìn)去:
wView.addJavascriptInterface(this, "AliansBridge");
(2) android調(diào)用js的方法:wView.setWebChromeClient (WebChromeClient client)
要用到Handler更新UI,Handler mHandler = new Handler();
復(fù)制代碼 代碼如下:
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中必須有一個(gè)名為demo的對(duì)象調(diào)用clickOnAndroid()方法。
復(fù)制代碼 代碼如下:
/**     
 * 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);                       
    }
}

相關(guān)文章

  • Android實(shí)現(xiàn)九宮格抽獎(jiǎng)

    Android實(shí)現(xiàn)九宮格抽獎(jiǎng)

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)九宮格抽獎(jiǎng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Android網(wǎng)絡(luò)通信的實(shí)現(xiàn)方式

    Android網(wǎng)絡(luò)通信的實(shí)現(xiàn)方式

    這篇文章主要為大家詳細(xì)介紹了Android網(wǎng)絡(luò)通信的實(shí)現(xiàn)方式,四種實(shí)現(xiàn)網(wǎng)絡(luò)通信的方式供大家學(xué)習(xí),感興趣的小伙伴們可以參考一下
    2016-06-06
  • Android BroadcastReceiver實(shí)現(xiàn)網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)監(jiān)聽(tīng)

    Android BroadcastReceiver實(shí)現(xiàn)網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)監(jiān)聽(tīng)

    這篇文章主要為大家詳細(xì)介紹了Android BroadcastReceiver實(shí)現(xiàn)網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)監(jiān)聽(tīng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 詳解Android 語(yǔ)音播報(bào)實(shí)現(xiàn)方案(無(wú)SDK)

    詳解Android 語(yǔ)音播報(bào)實(shí)現(xiàn)方案(無(wú)SDK)

    本篇文章主要介紹了詳解Android 語(yǔ)音播報(bào)實(shí)現(xiàn)方案(無(wú)SDK),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • Android EditText長(zhǎng)按菜單中分享功能的隱藏方法

    Android EditText長(zhǎng)按菜單中分享功能的隱藏方法

    Android EditText控件是經(jīng)常使用的控件,下面這篇文章主要給大家介紹了關(guān)于Android中EditText長(zhǎng)按菜單中分享功能的隱藏方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • android I/0流操作文件(文件存儲(chǔ))

    android I/0流操作文件(文件存儲(chǔ))

    Java提供一套完整的I/О流體系,通過(guò)I/О流可以非常方便地訪問(wèn)磁盤(pán)中的文件,同樣Android 也支持I/O流方式來(lái)訪問(wèn)手機(jī)等移動(dòng)設(shè)備中的存儲(chǔ)文件。希望可以為大家提供幫助
    2021-06-06
  • Android實(shí)現(xiàn)帶磁性的懸浮窗體效果

    Android實(shí)現(xiàn)帶磁性的懸浮窗體效果

    這篇文章主要介紹了Android實(shí)現(xiàn)帶磁性的懸浮窗體效果,涉及Android針對(duì)窗體的動(dòng)態(tài)操作相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • android中NFC讀寫(xiě)功能的實(shí)現(xiàn)方法

    android中NFC讀寫(xiě)功能的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了android中NFC讀寫(xiě)功能的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 基于GridView和ActivityGroup實(shí)現(xiàn)的TAB分頁(yè)(附源碼)

    基于GridView和ActivityGroup實(shí)現(xiàn)的TAB分頁(yè)(附源碼)

    今天為大家介紹下使用GridView和ActivityGroup實(shí)現(xiàn)的分頁(yè),這里需要將Activity轉(zhuǎn)換成Window,然后再換成成View添加到容器中,具體實(shí)現(xiàn)代碼如下,感興趣的朋友可以參考下哈
    2013-06-06
  • Android 進(jìn)程間通信AIDL使用詳解

    Android 進(jìn)程間通信AIDL使用詳解

    本篇文章主要介紹了Android 進(jìn)程間通信AIDL使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08

最新評(píng)論

辛集市| 宣汉县| 阜阳市| 襄汾县| 天祝| 夏河县| 通辽市| 开封县| 长治县| 桦甸市| 沁阳市| 井研县| 和静县| 彰武县| 商都县| 大同市| 太保市| 阳西县| 宁德市| 永新县| 炎陵县| 兴化市| 上蔡县| 徐闻县| 海安县| 依安县| 吉林省| 南充市| 阿巴嘎旗| 四子王旗| 彩票| 枣阳市| 渭源县| 温泉县| 五大连池市| 盈江县| 敦化市| 镶黄旗| 海宁市| 湟中县| 搜索|