Java调用JavaScript
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相关推荐
- Java调用Javascript、Python算法总结
最近项目中经常需要将Javascript或者Python中的算法发布为服务,而发布Tomcat服务则需要在Java中调用这些算法,因此就不免要进行跨语言调用,即在Java程序中调用这些算法. 不管是调 ...
- 去做海外,无数深坑-第一次使用java调用javascript,第一次调用curl
工作很多年了,发现互联网有着很多以前从来没听过的名词,真是尴尬啊. 前端时间,产品经理提出 [埋点],当时我就有点懵圈,这是啥玩意.后来请求了android的姑娘,大致意思就是我们的操作上报第三方,由 ...
- javascript for java 一个可以让用户通过JAVA调用JAVASCRIPT的JAVA包
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 今天在看 ...
- java调用javascript函数_[Java教程]JavaScript函数的4种调用方法详解
[Java教程]JavaScript函数的4种调用方法详解 0 2016-08-09 00:00:12 在JavaScript中,函数是一等公民,函数在JavaScript中是一个数据类型,而非像C# ...
- java调用javascript函数_使用Java程序中的参数调用Javascript函数
我有Java Swing应用程序.当用户点击MenuItem时,我想使用JavaScript在HTML页面上显示图形. Java代码: if(e.getActionCommand().equals(& ...
- nashorn js 调用 java_Java8 Nashorn实现Java调用javascript代码
最近项目需要,利用java执行动态语言,首先想到的是支持js. 1.从打印Hello World开始 Java8 引入Nashorn实现javascript调用,比如使用java运行一段js实现&qu ...
- jdk nashorn_Nashorn-JDK 8中Java和JavaScript的组合功能
jdk nashorn 从JDK 6开始,Java附带了基于Mozilla的Rhino的捆绑JavaScript引擎 . 此功能使您可以将JavaScript代码嵌入Java,甚至可以从嵌入式Java ...
- java rhino import_java调用javascript :js引擎rhino
前段时间,在浏览javaeye论坛,看见有人征集如何在java中运行数学表达式. 结果方案五花八门: 1.jakarta commons JEXL. 2.Beanshell 3.Java Math E ...
- java如何调用网页_如何使用网页开发自己的app,在网页中的按钮与自己的java代码绑定来实现打电话即javascript代码调用java代码,和java代码来调用javascript代码...
1首先是如何在自己的app里用网页显示,这样可以较快的更新界面而不需要让客户端升级,方法如下: xml文件: android:layout_width="fill_parent" ...
最新文章
- matlab-高数 polar 极坐标系 绘制阿基米德线,心形线
- iphone屏蔽系统更新_iPhone 屏蔽系统更新教程,支持 iOS13 / iOS12 系统
- 天池在线编程 2020国庆八天乐 - 4. 生成更大的陆地(BFS)
- php实现tcp连接的原理,PHP实现TCP实例
- 微软(中国)CTO韦青:人工智能时代还没有真正到来
- Magento2后台忘记密码
- xul中的快捷键及命令响应
- lucene 搜索学习笔记 - OK
- Java里什么是面向对象?
- 图像处理VintaSoftImaging.NET SDK控件发布v7.0版本
- java发送网络图片邮件
- 黑塞矩阵 Hessian Matrix
- cad卸载_老师傅爱不释手的6款CAD插件,款款优秀,用了就再也不舍得卸载
- 计算机显示应用程序错误窗口,电脑开机后弹出netsh.exe应用程序错误提示的解决方法...
- 极小化极大;292Nim 游戏;bitset容器;464我能赢吗;486预测赢家
- Windows 11/10 正式版全新 ISO 镜像下载
- 手机短号 (多实例)
- Android 华为手机10.1 启动service Service starting has been prevented by iaware or trustsbase **
- 深度学习 神经网络 神经元 单层神经网络的实现
- MTK笔试面试题集锦
热门文章
- 塔式、机架式、刀片式服务器的区别和特点
- ListBox,CheckBoxList,DropDownList,RadioButtonList的常见用法
- 读取javascript脚本的正则表达式
- hdu5248序列变换(二分+贪心)基础题
- 【Android 逆向】Android 进程注入工具开发 ( 远程进程注入动态库文件操作 | 注入动态库 加载 业务动态库 | 业务动态库启动 | pthread_create 线程开发 )
- 【EventBus】发布-订阅模式 ( EventBus 组成模块 | 观察者模式 )
- 【AOP 面向切面编程】Android Studio 使用 AspectJ 监控方法运行原理分析
- 【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )
- 【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )
- 【计算理论】自动机 示例 ( 自动机示例 | 自动机表示方式 | 自动机计算流程简介 )