0

我是在 android 中使用 java 脚本的新手,我在 js 文件中具有转换用户名的功能,如何向此发送 i/p 值以及如何在 android 活动按钮单击中检索此文件的数据。如果有人知道请提前告诉我谢谢。

4

2 回答 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 回答