`
caiwb1990
  • 浏览: 315358 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

WebView及js

阅读更多
在Android中通过WebView控件,可以实现要加载的页面与Android方法相互调用,我们要实现WebView中的addJavascriptInterface方法,这样html才能调用android方法

第一步:新建一个Android工程,命名为WebViewDemo

第二步:修改main.xml布局文件,增加了一个WebView控件还有Button控件,代码如下:
    <?xml version="1.0" encoding="utf-8"?>  
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
        android:orientation="vertical"  
        android:layout_width="fill_parent"  
        android:layout_height="fill_parent"  
        >  
        <TextView    
            android:layout_width="fill_parent"   
            android:layout_height="wrap_content"   
            android:text="Welcome to Mr Wei's Blog."  
            />  
        <WebView  
            android:id="@+id/webview"  
            android:layout_width="fill_parent"   
            android:layout_height="wrap_content"   
        />  
        <Button  
            android:id="@+id/button"  
            android:layout_width="fill_parent"  
            android:layout_height="wrap_content"  
            android:text="Change the webview content"  
        />  
    </LinearLayout>  


第三步:在assets目录下新建一个demo.html文件,代码如下
<html>  
    <mce:script language="javascript"><!--  
   
        function fillContent(){  
            document.getElementById("content").innerHTML =   
                 "This Content is showed by Android invoke Javascript function.";  
        }  
      
// --></mce:script>    
  <body>  
    <a onClick="window.demo.startMap()" href="">Start GoogleMap</a>
  
      
    A Demo ----Android and Javascript invoke each other.
  
    Author:Frankiewei
  
  </body>  
</html>


第四步:修改主核心程序WebViewDemo.java,代码如下:
    package cn.caiwb.webwiewdemo;  
    import android.app.Activity;  
    import android.content.ComponentName;  
    import android.content.Intent;  
    import android.os.Bundle;  
    import android.view.View;  
    import android.webkit.WebSettings;  
    import android.webkit.WebView;  
    import android.widget.Button;  
    public class WebViewDemo extends Activity {  
        private WebView mWebView;  
        private Button mButton;  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.main);  
            setupViews();  
        }  
        //初始化  
        private void setupViews() {  
            mWebView = (WebView) findViewById(R.id.webview);  
            WebSettings mWebSettings = mWebView.getSettings();  
            //加上这句话才能使用javascript方法  
            mWebSettings.setJavaScriptEnabled(true);  
            //增加接口方法,让html页面调用  
            mWebView.addJavascriptInterface(new Object() {  
                //这里我定义了一个打开地图应用的方法  
                public void startMap() {  
                    Intent mIntent = new Intent();  
                    ComponentName component = new ComponentName(  
                            "com.google.android.apps.maps",  
                            "com.google.android.maps.MapsActivity");  
                    mIntent.setComponent(component);  
                    startActivity(mIntent);  
                }  
            }, "demo");  
            //加载页面  
            mWebView.loadUrl("file:///android_asset/demo.html");  
            mButton = (Button) findViewById(R.id.button);  
            //给button添加事件响应,执行JavaScript的fillContent()方法  
            mButton.setOnClickListener(new Button.OnClickListener() {  
                public void onClick(View v) {  
                    mWebView.loadUrl("javascript:fillContent()");  
                }  
            });  
        }  
    }  


第五步:运行上述工程,查看效果
0
0
分享到:
评论

相关推荐

    Andorid webview和js的交互

    在Android应用开发中,WebView是一个强大的组件,它允许开发者在应用程序内部嵌入网页内容,同时提供了与JavaScript交互的能力。这使得我们能够利用HTML、CSS和JavaScript的灵活性来构建部分或全部用户界面,同时还...

    uni-webview.js

    uni-webview.js

    android不使用webview与js交互

    Android应用可以调用服务器上的API,这些API由Node.js或其他后端服务提供,执行JavaScript代码并返回结果。这种方式增加了网络延迟,但避免了在客户端解析JavaScript的开销。 4. **本地服务与WebSocket** 创建一个...

    WinForm下WebView2实现JS与C#交互Demo

    本示例“WinForm下WebView2实现JS与C#交互Demo”就展示了如何在C#中使用WebView2控件来实现JavaScript与C#之间的双向通信。 首先,确保已安装Microsoft Edge WebView2 SDK。可以通过NuGet包管理器安装`Microsoft....

    webview与js交互demo

    总的来说,这个“webview与js交互demo”主要展示了如何在WebView中嵌入网页,并通过JavaScript调用Android的原生功能。通过这种方式,开发者可以构建更加丰富和动态的混合式应用程序,结合Web技术的灵活性和Android...

    android demo,webview_js(webview的js方法调用java方法)。

    本示例“android demo,webview_js”着重展示了如何通过Webview实现JavaScript调用Java方法的功能。这个功能对于创建混合式应用或者在原生应用中嵌入HTML5页面尤其有用。 首先,我们需要在Android布局文件中添加一...

    Webview与Javascript相互调用 (Android studio )demo

    本示例项目"Webview与Javascript相互调用 (Android Studio)"就是专门针对这一功能的演示,它提供了直接在Android Studio中运行的代码,帮助开发者理解和实践WebView与JavaScript之间的通信。 首先,我们来深入理解...

    IOS WebView与JavaScript交互实现Web App

    接下来,我们要讨论的是如何实现WebView与JavaScript的交互。在iOS中,`UIWebView`提供了两个主要的方法来实现这一功能:`stringByEvaluatingJavaScriptFromString:`和`addScriptMessageHandler:name:`。 1. `...

    android中webview与js交互

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

    webview与js的通讯

    Android 4.4(API 19)及更高版本引入了`evaluateJavascript()`方法,可以直接执行JavaScript代码并获取返回值。这对于实时获取网页数据或执行复杂逻辑非常方便: ```java webView.evaluateJavascript("javascript:...

    webview组件javascript调用java的小程序

    在移动应用开发中,WebView组件是一个非常重要的工具,它允许开发者在原生应用程序中嵌入网页内容,并且可以通过JavaScript与应用程序的Java代码进行交互。这个"webview组件javascript调用java的小程序"就是一个实例...

    Android-x5webview和js交互的三方库

    X5Webview基于WebKit,并且集成了QQ浏览器的一些高级特性,如硬件加速、视频播放、JavaScript交互等。在许多App中,我们常常需要在原生Android代码和网页内容之间进行交互,这时候就需要利用到X5Webview与JS的交互...

    android之webview与js相互调用

    本教程将深入探讨如何在Android的Webview中实现Android与JavaScript的相互调用。 ### Android调用JavaScript 当需要在Android应用中调用JavaScript函数时,我们可以使用`WebView`类提供的`loadUrl()`方法。这个...

    android 使用webview、js生成图表

    在Android开发中,Webview是一个非常重要的组件,它允许我们加载和显示网页内容,甚至执行JavaScript代码。在本文中,我们将深入探讨如何在Android应用中使用Webview与JavaScript结合生成图表,这通常用于数据可视化...

    webview 加载js ,css

    下面我们将深入探讨如何在Android的WebView中加载和使用JS、CSS以及它们带来的优势。 1. Android WebView加载HTML Android的WebView可以通过调用`loadData()`或`loadDataWithBaseURL()`方法加载HTML字符串,或者...

    Android webview与js交互

    本节我们将深入探讨Android WebView与JavaScript之间的交互机制,以及如何实现两者之间的通信。 一、WebView基本使用 在Android中,首先需要在布局文件中添加WebView组件,并在Java代码中初始化和加载网页: ```...

    ios-webView与js的交互.zip

    本资料“ios-webView与js的交互.zip”主要探讨了如何在iOS应用中实现WebView与JavaScript的有效通信。 首先,我们来看一下UIWebView。在早期的iOS版本中,UIWebView是开发者最常用的WebView组件。通过UIWebView的`...

    android webview与js交互简单demo

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

    安卓 webview+js

    安卓的webview 调用 js html

Global site tag (gtag.js) - Google Analytics