我是在 android 中使用 java 脚本的新手,我在 js 文件中具有转换用户名的功能,如何向此发送 i/p 值以及如何在 android 活动按钮单击中检索此文件的数据。如果有人知道请提前告诉我谢谢。
问问题
113 次
2 回答
1
真出这个:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
web = (WebView) findViewById(R.id.webview1);
web.setWebChromeClient(new MyWebChromeClient());
web.addJavascriptInterface(new DemoJavaScriptInterface(), "temp_1");
web.loadUrl("file:///android_asset/temp_1.html");
}
}
final class DemoJavaScriptInterface {
private Handler mHandler = new Handler();
WebView web;
DemoJavaScriptInterface() {
}
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
web.loadUrl("javascript:init();");
}
});
} }
final class MyWebChromeClient extends WebChromeClient {
private static final String LOG_TAG = "WebViewDemo";
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
Log.e(LOG_TAG, message);
result.confirm();
return true;
}
}
于 2013-02-06T10:20:47.383 回答
0
您可以使用继承 View 类的 Webview。制作一个 XML 标记并使用 findViewById() 函数在活动中使用。但是要使用 JavaScript,您可以制作一个包含 JavaScript 代码的 HTML 文件。下面的例子可能会有所帮助。
Webview browser=(Webview) findViewById(R.main.browser); //if you gave the id as browser
browser.getSettings().setJavaScriptEnabled(true); //Yes you have to do it
browser.loadUrl("file:///android_asset/JsPage.html"); //If you put the HTML file in asset folder of android
请记住,JS 将在 WebView 上运行,而不是在本机环境中运行,因此您可能会在模拟器中遇到延迟或缓慢的 FPS。但是,在实际手机上使用时,代码可能会运行得很快,具体取决于您手机的速度。
于 2013-02-06T10:20:58.810 回答