私は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ファイルを作成できます。例のblelowが役立つかもしれません。
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 に答える