问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在Android上怎样实现JAVA和JS交互

发布网友 发布时间:2022-04-19 20:27

我来回答

2个回答

热心网友 时间:2022-04-23 06:04

Android中java与js交互是通过webView来交互的。

WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:
第一种方法的步骤:
1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);
2.调用WebView的loadUrl()方法,设置WevView要显示的网页:
互联网用:webView.loadUrl("http://www.google.com");
本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.调用Activity的setContentView( )方法来显示网页视图
4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。
<uses-permission android:name="android.permission.INTERNET" />

第二种方法的步骤:
1、在布局文件中声明WebView
2、在Activity中实例化WebView
3、调用WebView的loadUrl( )方法,设置WevView要显示的网页
4、为了让WebView能够响应超链接功能,调用setWebViewClient( )方法,设置 WebView视图
5、用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
6、需要在AndroidManifest.xml文件中添加权限,否则出现Web page not available错误。
<uses-permission android:name="android.permission.INTERNET"/>

热心网友 时间:2022-04-23 07:22

Java代码mWebview.getSettings().setJavas criptEnabled(true);
然后是设置webview要加载的网页:
web的网页:webView.loadUrl("http://www.google.com");
本地的网页:webView.loadUrl("file:///android_asset/XX.html"); //本地的存放在:assets文件夹中
webview做完基本的初始化后我们还要要给它,加进一个回调的代理类Javas criptInterface,并给它一个调用的名称:ncp
Java代码
mWebView.addJavas criptInterface(new Javas criptInterface(),"ncp");

Javas criptInterface可以是一个普通的Java类,类实现的方法,均可被js回调:
Java代码

final class Javas criptInterface {
public int callOnJs() {
return 1000;
}
public void callOnJs2(String mode) {
//TODO
}
}

Java要调用js的方法,只需知道js的方法名称即可:
Java代码
mWebView.loadUrl("javas cript:onSaveCallback()");
js 这边就更简单:
Js代码

window.onload = function(){
document.getElementById('btn_1').addEventListener('click', onBtnClick, false);
var _int_value = window.ncp.callOnJs();
alert("get int from java:" + _int_value );
}
function onBtnClick() {
window.ncp.callOnJs2("click");
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...flash学得好、将来会有什么用、求哥哥、姐姐们、帮帮忙 我即将初中毕业,想要读技校,但又不知选那科好`哥哥姐姐们帮个忙吧! 成绩不好,高中毕业想学电脑,哪位哥哥姐姐知道帮忙推荐下学校_百度知 ... 大学计算机3级 怎样学习啊 难吗 哥哥姐姐 帮帮忙吧 ...就业怎样?我报了这个专业,请各位哥哥姐姐帮帮忙 请IT业工作的哥哥姐姐帮忙出出主意~~ ...师傅让他沿着水缸边行走练功。有谁知道这个电影叫什么? 小伙穿越拜"小龙女"为师,与小龙女合练武功是什么电影 ...电影开头是一个赤膊的男主角在练功,然后再和队友们去做任务,结果一... ...一秒竟然穿越了醒来第一句话就是疼死宝宝了是什么电视剧? 孩子上户口 关于孩子上户口 孩子上户口怎么办 怎样给孩子上户口 小孩子上户口需要办理什么手续? 如何给孩子上户口? 孩子上户口需要什么资料 给孩子上户口需要什么条件 给孩子上户口需要什么证件 孩子上户口需要带什么证件 手机总是提示充电口潮湿,怎么回事 在手机上,删了文件管理里的文件,导致我哔哩哔哩... 三星note9手机检测到usb接口进水潮湿,充不进电怎么办? 减肥瘦身锻炼计划方法 怎样安排一周减肥计划 急求减肥计划一周表??? 减肥!减肥!求运动减肥一周计划。 瘦身(减肥)计划 求一份详细家庭减脂训练计划 怎样制定合理的减肥计划 js的框架能用到android开发中吗?比如echart,momen... android与js交互实现什么功能 怎样在Android开发中与js进行交互 在Android开发过程中搭建一个自己的应用框架有几个... android 混合开发 框架有哪些 什么是js框架? 安卓和javascript交互必须通过webView吗?可以用安... Android如何调用框架iframe里面的js方法 急急急急... 原生APP中js怎样与Android和ios进行交互 android与javascript的交互可以不通过webview吗 reactnative中android与js只进行数据交互该怎么做 android js交互获取不到Android的方法 Android使用WebView和JS交互的问题 androidwebview加载本地js怎么实现交互 android 前端框架有哪些 Android开发中有没有类似Web前端的UI框架 android和h5交互,js怎么在android端打印日志 敢当石襄错了怎样办 柳土獐的介绍 什么是沙笔?