EX09_09.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:2k
源码类别:

android开发

开发平台:

Java

  1. package irdc.ex09_09;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.os.Handler;
  5. import android.util.Log;
  6. import android.webkit.JsResult;
  7. import android.webkit.WebChromeClient;
  8. import android.webkit.WebSettings;
  9. import android.webkit.WebView;
  10. import android.widget.EditText;
  11. public class EX09_09 extends Activity
  12. {
  13.   private EditText myEditText1;
  14.   private WebView myWebView1;
  15.   private Handler mHandler01 = new Handler();
  16.   private static final String LOG_TAG = "DEBUG";
  17.   /** Called when the activity is first created. */
  18.   @Override
  19.   public void onCreate(Bundle savedInstanceState)
  20.   {
  21.     super.onCreate(savedInstanceState);
  22.     setContentView(R.layout.main);
  23.     myEditText1 = (EditText) findViewById(R.id.myEditText1);
  24.     myWebView1 = (WebView) findViewById(R.id.myWebView1);
  25.     /* 取得WebSettings */
  26.     WebSettings webSettings = myWebView1.getSettings();
  27.     /* 设置可运行JavaScript */
  28.     webSettings.setJavaScriptEnabled(true);
  29.     webSettings.setSaveFormData(false);
  30.     webSettings.setSavePassword(false);
  31.     webSettings.setSupportZoom(false);
  32.     myWebView1.setWebChromeClient(new MyWebChromeClient());
  33.     /* 设置给html调用的对象及名称 */
  34.     myWebView1.addJavascriptInterface(new runJavaScript(), "irdc");
  35.     /* 将assets/google_translate.html载入 */
  36.     String url = "file:///android_asset/google_translate.html";
  37.     myWebView1.loadUrl(url);
  38.   }
  39.   final class runJavaScript
  40.   {
  41.     public void runOnAndroidJavaScript()
  42.     {
  43.       mHandler01.post(new Runnable()
  44.       {
  45.         public void run()
  46.         {
  47.           if (myEditText1.getText().toString() != "")
  48.           {
  49.             /* 调用google_translate.html里的javascript */
  50.             myWebView1.loadUrl("javascript:translate('"
  51.                 + myEditText1.getText().toString() + "')");
  52.           }
  53.         }
  54.       });
  55.     }
  56.   }
  57.   /**
  58.    * 捕捉网页里的alert javascript作为.js调试之用,并输出至LogCat
  59.    */
  60.   final class MyWebChromeClient extends WebChromeClient
  61.   {
  62.     @Override
  63.     public boolean onJsAlert(WebView view, String url,
  64.         String message, JsResult result)
  65.     {
  66.       // TODO Auto-generated method stub
  67.       Log.d(LOG_TAG, message);
  68.       // result.confirm();
  69.       return super.onJsAlert(view, url, message, result);
  70.     }
  71.   }
  72. }