gpt4 book ai didi

java - android: 从 java 问题调用 javascript

转载 作者:行者123 更新时间:2023-11-30 04:35:50 25 4
gpt4 key购买 nike

我想知道是否有办法在 android 上从 java 调用 javascript?在我的程序中,我将 java 和 javascript 交互在一起。我正在使用 java 从 TCP 服务器接收响应(json 数据)并将它们保存到一个文件中。在 webview 中,我使用 javascript jQuery getJSON() 函数来检索该文件,并使用 jQuery 绘图图表库绘制图表。现在,java和javascript之间没有关系。每次更新数据和文件时,我仍然需要在 webview 中点击一个按钮来触发绘图功能。我希望这些程序既智能又方便。这是一种从 java 调用或执行 javascript 的方法吗?我知道一种方法:

Button update = (Button)findViewById(R.id.update);
update.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
wv.loadUrl("javascript:document.write('hello')");
}
});

但问题是我已经通过 loadurl() 做了一个索引页面。

final WebView wv = (WebView) findViewById(R.id.webkankan);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl("file:///android_asset/index.html");

当我触发这个点击事件时,所有内容都消失了,只有一个字符串“hello”。另一件事是为什么我需要将 webview 的类型更改为 final 以避免 eclipse 错误。这是触发我的主要问题的问题吗?如果是这样,我该如何解决?谢谢你的耐心。干杯!

最佳答案

例如,您在 index.html 中有一个名为 loadData()javascript 方法,它读取您保存在 中的文件>java,那么你可以做的就是wv.loadUrl("javascript:loadData()");。这实际上调用了 javascript 方法,然后您可以在该方法中读取文件。希望这能解决您的问题。

或者简单来说。只需这样做 webView.loadUrl("javascript:jsmethodname()"); 从 java 执行 javascript。

关于java - android: 从 java 问题调用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6870490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com