public class BoatsActivity extends Activity {
Handler mHandler = new Handler();//处理消息的handler
@SuppressLint("SetJavaScriptEnabled")
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setTitle("船舶查询页面");
final WebView mWebView = new WebView(this);//创建一个webView对象出来 将他作为activity的显示页面 你也可以在xml布局文件中放入一个webView控件在这里初始化
setContentView(mWebView);
mWebView.loadUrl("http://192.168.0.190:8080/loginDemo_gd/bots.html");//加载你要显示的网页
mWebView.getSettings().setJavaScriptEnabled(true);//获取webview对象中的setting对象 设置为可以支持javascript
mWebView.addJavascriptInterface(new Object() {
@JavascriptInterface//sdk版本大于17要加上这句注解 访问安全考虑
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(BoatsActivity.this, "请输入你要查询的船舶", Toast.LENGTH_SHORT).show();
}
});
}
@JavascriptInterface
public void showmsg(){
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(BoatsActivity.this, "查询成功", Toast.LENGTH_SHORT).show();
}
});
}
@JavascriptInterface
public void showResult(){
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(BoatsActivity.this, "没有查询到对应的数据", Toast.LENGTH_SHORT).show();
}
});
}
@JavascriptInterface
public void alert(){
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(BoatsActivity.this, "请输入船舶的ID", Toast.LENGTH_SHORT).show();
}
});
} }, "demo");//类的别名 js这样调用 window.demo.方法名(js调用java方法)

      //java调用js
      webView.loadUrl("javascript:window.handler.show(document.getElementById('id').value,document.getElementById('password').value)");

        mWebView.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
//Toast.makeText(BoatsActivity.this, "加载完成", Toast.LENGTH_SHORT).show();
super.onPageFinished(view, url);
}
});
} }

android js 互调的更多相关文章

  1. Android-----js和android的互调

    Android-----js和android的互调   http://code.google.com/p/apps-for-android/source/browse/trunk/Samples/We ...

  2. ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0,现把学习结果分享一下,希望对新手有帮助. 目录 ActionScript 3.0简介 Hello ...

  3. Atitit.android js 的键盘按键检测Back键Home键和Menu键事件

    Atitit.android js 的键盘按键检测Back键Home键和Menu键事件 1. onKeyDown @Override public boolean onKeyDown(int keyC ...

  4. [转]ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    本文转自:http://www.cnblogs.com/artwl/p/3396330.html 近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0, ...

  5. C#和网页js互调代码

    C#和网页js互调代码 1.先写个网页放在主程序目录下:test.html <!DOCTYPE html> <html lang="en" xmlns=" ...

  6. android ReactNative之Cannot find entry file index.android.js in any of the roots

    android ReactNative之Cannot find entry file index.android.js in any of the roots 2018年04月02日 14:53:12 ...

  7. android js 互相调用

    代码地址如下:http://www.demodashi.com/demo/13107.html android js 互相调用 第二版 支持js匿名函数接收 支持js json对象接收 支持js函数返 ...

  8. Android和jS互调技术Demo实现

    package com.loaderman.webviewdemo; import android.os.Bundle; import android.support.v7.app.AppCompat ...

  9. Javascript和android原生互调

    最近在做原生和js端的互调的功能,自己改了个demo,给大家讲解下. 先上js代码 <!DOCTYPE html> <html> <head> <meta c ...

随机推荐

  1. 加JENKINS的SLAVE节点(LINUX)要注意的事项

    从昨天下午到现在,终于解决了所有的问题.作如下记录要点: 1,从节点只要建好目录,JENKINS的包,MASTER会推送过来. 2,ANT,MAVEN之类的,要配置好环境变量,PROFILE.D .B ...

  2. CAS单点登录配置[4]:客户端配置

    本节介绍一下客户端如何配置,客户端配置没有服务端那么复杂... 客户端Tomcat配置 1 首先确认证书文件已经拷贝到Tomcat的目录下,我们新建两个客户端的web应用,分别命名为Client1,C ...

  3. [wikioi]最长严格上升子序列

    http://wikioi.com/problem/1576/ 经典的动态规划.我写了个o(n^2)的DP方法. PPT:http://wenku.baidu.com/view/bd290294dd8 ...

  4. 几个RTP的开源实现

    玩了两天rtp协议,基本把rtsp/rtcp/rtp/rtmp/srtp/strcp/mms,几个协议的区别和概念弄明白了. 这里记录一下. rtsp:类似用户界面操作,和Http比较类似,提供播放, ...

  5. 我新买的红米手机,新浪和360浏览器都能进,也能看电视,就是不能上手机QQ和微信

    1.请您在桌面下.点击手菜单键-全局搜索,输入网络助手,点击流量排行,点击批量联网控制,查看该软件下(不能上网的应用)wifi和流量2G/3G下方的选项是否都勾选的.如果没有勾选,请您勾选. 2:仍然 ...

  6. 【Xamarin开发 Android 系列 13】 应用打包部署

    原文:[Xamarin开发 Android 系列 13] 应用打包部署 开始倒叙咯................ 先更新大宝部署吧,这个章节比较的Easy,童鞋们不用费脑筋.点解?从界面上填写几个参 ...

  7. Navicate使用注意事项

    2.      Navicat如何连接数据库:点击连接——>输入连接名,然后如果是本机不用更改localhost,如果是别的主机,要将对方 的ip地址输入,端口号3306不变,用户名root,密 ...

  8. 用C++试着完成Python简明教程后面的练习

    试图存取文件的部分无法完成.代码已提交到github.

  9. ELK之topbeat部署

    topbeat定期收集系统信息如每个进程信息.负载.内存.磁盘等等,然后将数据发送到elasticsearch进行索引,最后通过kibana进行展示. 下面是具体的安装及配置步骤: 1.安装topbe ...

  10. wps操作记录

    WPS Excel 1.点击插入---形状:画好方框,选中后右键“编辑文字”,在方框中加入你需要的文字信息 2.点击插入---形状:画出连接线,按住SHIFT拖动可以水平或垂直的直线 3.调整位置.选 ...