`
gty509
  • 浏览: 55610 次
  • 性别: Icon_minigender_1
  • 来自: Bangkok
文章分类
社区版块
存档分类
最新评论

Android 中 java 与 webview 的交互

阅读更多
android 的webkit的api的开放程度还是非常不错,java可以和webview内的javascript很好的交互。下面的小例子可以说明这一点。

先看我们的html文档:

<html>
	<script language="javascript">
	    /* This function is invoked by the activity */
		function wave() {
		    alert("1");
			document.getElementById("droid").src="android_waving.png";
			alert("2");
		}
	</script>
	<body>
	    <!-- Calls into the javascript interface for the activity -->
	    <a onClick="window.demo.clickOnAndroid()"><div style="width:80px;
			margin:0px auto;
			padding:10px;
			text-align:center;
			border:2px solid #202020;" >
				<img id="droid" src="android_normal.png"/><br>
				Click me!
		</div></a>
	</body>
</html>


再看我们的java 代码。
public class WebViewDemo extends Activity {

    private static final String LOG_TAG = "WebViewDemo";

    private WebView mWebView;

    private Handler mHandler = new Handler();

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        mWebView = (WebView) findViewById(R.id.webview);

        WebSettings webSettings = mWebView.getSettings();
        webSettings.setSavePassword(false);
        webSettings.setSaveFormData(false);
        webSettings.setJavaScriptEnabled(true);
        webSettings.setSupportZoom(false);

        mWebView.setWebChromeClient(new MyWebChromeClient());

        mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");

        mWebView.loadUrl("file:///android_asset/demo.html");
    }

    final class DemoJavaScriptInterface {

        DemoJavaScriptInterface() {
        }

        /**
         * 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()");
                }
            });

        }
    }

    /**
     * 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) {
            Log.d(LOG_TAG, message);
            result.confirm();
            return true;
        }
        
    }
}


WebView 的addJavascriptInterface函数就可以实现彼此的交互。
分享到:
评论
4 楼 untosil 2009-09-09  
还不支持google gears
不好
3 楼 gty509 2009-09-04  
iphone的webkit的强大之处在于java能直接访问html dom对象,并且进行操作。
2 楼 arg0 2009-09-04  
强大是挺强大的,可惜不支持iframe的编辑模式。

iphone的webkit内核支持。
1 楼 ynpp 2009-09-04  
非常强大啊,这样在应用程序中就可以使用web的界面和信息了,大大丰富了应用程序的多样性。应用程序中仅提供通用的接口和调用,具体的内容都放在web中。

相关推荐

    android java和webview交互demo

    这篇资源文章“android java和webview交互demo”详细介绍了如何在Java驱动的Android应用中使用WebView,并通过JavaScript接口进行数据交换。 **一、WebView基本使用** 1. **添加依赖** 在AndroidManifest.xml中,...

    android中webview与js交互

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,同时提供了与JavaScript进行交互的能力。这个例子将深入探讨如何在Android应用中实现WebView与JS的交互,以便于创建更加丰富的...

    Android中Webview与原生界面交互及二维码扫描功能实现

    在Android应用开发中,WebView是一个非常重要的组件,它允许我们加载和显示网页内容,甚至可以与原生界面进行交互,实现更加丰富的功能。本项目"Android中Webview与原生界面交互及二维码扫描功能实现"就是一个很好的...

    Android中webview使用js与java交互

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,并且能够实现JavaScript与Java代码之间的交互,极大地丰富了应用的功能。本文将深入探讨如何在Android的WebView中利用...

    android中的webview --实现java与js交互

    总结一下,Android中的WebView提供了Java与JavaScript交互的能力,主要通过以下步骤实现: 1. 初始化WebView,设置JavaScript支持。 2. 使用`addJavascriptInterface`暴露Java对象给JavaScript。 3. 在Java端监听...

    android中Webview与javascript的交互(互相调用)

    总之,Android中的WebView与JavaScript的交互是通过暴露Java对象和调用JavaScript函数实现的,这种方式极大地丰富了Android应用的功能。在实际开发中,我们需要合理利用这一特性,同时注意安全性和性能优化。

    Android中webView与HTML交互

    本篇将深入探讨如何在Android的WebView中与HTML进行交互,以及HTML中的JavaScript如何调用Android的方法。 首先,我们需要在Android应用中集成WebView。在布局XML文件中,我们可以添加一个WebView元素,如下所示: ...

    Android笔记webview与js交互

    本篇将详细讲解如何在Android中使用WebView进行Web和Java的交互。 1. **loadUrl()** 方法 `loadUrl()` 是WebView的基础功能,用于加载指定的URL。通过这个方法,我们可以加载本地或网络上的HTML页面。例如: ```...

    Android WebView与JavaScript交互实现Web App

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,并与网页进行交互。这个组件使得开发者可以结合原生Android应用的功能和Web应用的灵活性,实现混合式应用开发。在这个主题中,...

    android使用webView实现java程序与js脚本的相互调用

    通过上述步骤,我们可以在Android应用中使用WebView实现Java与JavaScript的交互。这种技术广泛应用于混合应用开发,使开发者能够充分利用两者的优势,为用户提供更好的体验。在实际开发中,需要根据具体需求灵活运用...

    Android与WebView交互

    本篇将深入探讨Android与WebView的交互机制,以及如何通过Android控制WebView上的控件和更改其属性。 首先,我们需要了解WebView的基本使用。在Android中,我们可以通过以下步骤创建一个基本的WebView: 1. 在布局...

    Android中java和js交互

    在Android应用开发中,有时我们需要实现Java代码与JavaScript的交互,以便在原生应用和Web内容之间传递数据或调用功能。这种需求在混合式应用开发中尤其常见,例如使用WebView加载H5页面并实现一些特定的原生功能。...

    android不使用webview与js交互

    在Android开发中,Webview通常被用来加载网页内容并实现应用程序与网页之间的交互。然而,有时我们可能有需求在不依赖Webview的情况下实现Android应用与JavaScript的交互。本文将深入探讨这种非Webview方式的交互...

    Android-WebView与Html交互

    本篇文章将深入探讨如何在Android应用中使用WebView加载HTML,并实现WebView与Html的交互。 首先,我们需要在布局XML文件中添加WebView组件。例如: ```xml &lt;WebView android:id="@+id/webView" android:layout_...

    android webview与js交互简单demo

    当Android的WebView与JavaScript交互时,开发者可以实现更丰富的功能,如调用Android原生方法、获取网页数据等。下面我们将深入探讨这个“android webview与js交互简单demo”所涉及的知识点。 1. Android WebView...

    android,webview,java交互

    在Android开发中,Webview是一个非常重要的组件,它允许我们加载和显示网页内容,同时还能实现Android应用与网页之间的交互。本篇文章将深入探讨如何在Android环境下使用Webview,特别是如何实现Java与JavaScript的...

    android webview js交互, 响应webview中的图片点击事件

    而JavaScript交互则是WebView功能的一部分,使得我们能够实现Android应用与网页之间的通信,从而增强用户体验。本篇文章将深入探讨如何实现“android webview js交互,响应webview中的图片点击事件”,特别是点击...

    Android中WebView与js交互简单Demo

    当需要在Android应用中嵌入复杂的网页功能或者实现Android与网页内容的交互时,我们就需要用到WebView与js的交互。本文将详细介绍如何在Android的WebView中实现js与原生代码的相互调用。 首先,我们来看`Android中...

    webview中java与js安全交互

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,并实现Java与JavaScript之间的交互。这种交互能力使得我们可以利用Web技术来增强原生应用的功能,同时保持了良好的用户体验。...

Global site tag (gtag.js) - Google Analytics