1.main.xml

<?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>

2.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>  <p><a onClick="window.demo.startMap()" href="">Start GoogleMap</a></p>  <p id="content"></p>  <p>A Demo ----Android and Javascript invoke each other.</p>  <p>Author:Frankiewei</p>  </body>
</html>

3.WebViewDemo.java

package com.tutor.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()");}});}
}

  

           

首界面                                               点击按钮时,html内容改变

  

  

Java调用JavaScript相关推荐

  1. Java调用Javascript、Python算法总结

    最近项目中经常需要将Javascript或者Python中的算法发布为服务,而发布Tomcat服务则需要在Java中调用这些算法,因此就不免要进行跨语言调用,即在Java程序中调用这些算法. 不管是调 ...

  2. 去做海外,无数深坑-第一次使用java调用javascript,第一次调用curl

    工作很多年了,发现互联网有着很多以前从来没听过的名词,真是尴尬啊. 前端时间,产品经理提出 [埋点],当时我就有点懵圈,这是啥玩意.后来请求了android的姑娘,大致意思就是我们的操作上报第三方,由 ...

  3. javascript for java 一个可以让用户通过JAVA调用JAVASCRIPT的JAVA包

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 今天在看 ...

  4. java调用javascript函数_[Java教程]JavaScript函数的4种调用方法详解

    [Java教程]JavaScript函数的4种调用方法详解 0 2016-08-09 00:00:12 在JavaScript中,函数是一等公民,函数在JavaScript中是一个数据类型,而非像C# ...

  5. java调用javascript函数_使用Java程序中的参数调用Javascript函数

    我有Java Swing应用程序.当用户点击MenuItem时,我想使用JavaScript在HTML页面上显示图形. Java代码: if(e.getActionCommand().equals(& ...

  6. nashorn js 调用 java_Java8 Nashorn实现Java调用javascript代码

    最近项目需要,利用java执行动态语言,首先想到的是支持js. 1.从打印Hello World开始 Java8 引入Nashorn实现javascript调用,比如使用java运行一段js实现&qu ...

  7. jdk nashorn_Nashorn-JDK 8中Java和JavaScript的组合功能

    jdk nashorn 从JDK 6开始,Java附带了基于Mozilla的Rhino的捆绑JavaScript引擎 . 此功能使您可以将JavaScript代码嵌入Java,甚至可以从嵌入式Java ...

  8. java rhino import_java调用javascript :js引擎rhino

    前段时间,在浏览javaeye论坛,看见有人征集如何在java中运行数学表达式. 结果方案五花八门: 1.jakarta commons JEXL. 2.Beanshell 3.Java Math E ...

  9. java如何调用网页_如何使用网页开发自己的app,在网页中的按钮与自己的java代码绑定来实现打电话即javascript代码调用java代码,和java代码来调用javascript代码...

    1首先是如何在自己的app里用网页显示,这样可以较快的更新界面而不需要让客户端升级,方法如下: xml文件: android:layout_width="fill_parent" ...

最新文章

  1. matlab-高数 polar 极坐标系 绘制阿基米德线,心形线
  2. iphone屏蔽系统更新_iPhone 屏蔽系统更新教程,支持 iOS13 / iOS12 系统
  3. 天池在线编程 2020国庆八天乐 - 4. 生成更大的陆地(BFS)
  4. php实现tcp连接的原理,PHP实现TCP实例
  5. 微软(中国)CTO韦青:人工智能时代还没有真正到来
  6. Magento2后台忘记密码
  7. xul中的快捷键及命令响应
  8. lucene 搜索学习笔记 - OK
  9. Java里什么是面向对象?
  10. 图像处理VintaSoftImaging.NET SDK控件发布v7.0版本
  11. java发送网络图片邮件
  12. 黑塞矩阵 Hessian Matrix
  13. cad卸载_老师傅爱不释手的6款CAD插件,款款优秀,用了就再也不舍得卸载
  14. 计算机显示应用程序错误窗口,电脑开机后弹出netsh.exe应用程序错误提示的解决方法...
  15. 极小化极大;292Nim 游戏;bitset容器;464我能赢吗;486预测赢家
  16. Windows 11/10 正式版全新 ISO 镜像下载
  17. 手机短号 (多实例)
  18. Android 华为手机10.1 启动service Service starting has been prevented by iaware or trustsbase **
  19. 深度学习 神经网络 神经元 单层神经网络的实现
  20. MTK笔试面试题集锦

热门文章

  1. 塔式、机架式、刀片式服务器的区别和特点
  2. ListBox,CheckBoxList,DropDownList,RadioButtonList的常见用法
  3. 读取javascript脚本的正则表达式
  4. hdu5248序列变换(二分+贪心)基础题
  5. 【Android 逆向】Android 进程注入工具开发 ( 远程进程注入动态库文件操作 | 注入动态库 加载 业务动态库 | 业务动态库启动 | pthread_create 线程开发 )
  6. 【EventBus】发布-订阅模式 ( EventBus 组成模块 | 观察者模式 )
  7. 【AOP 面向切面编程】Android Studio 使用 AspectJ 监控方法运行原理分析
  8. 【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )
  9. 【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )
  10. 【计算理论】自动机 示例 ( 自动机示例 | 自动机表示方式 | 自动机计算流程简介 )