zoukankan      html  css  js  c++  java
  • android webket的应用,webview,javascript

    Android中,提供了WebKit引擎用于对网页浏览和操作进行编程。Google对WebKit进行了封装,提供了丰富的Java接口,其中最重要的便是android.webkit.WebView控件。

    1 WebViewer控件

    2.WebViewClient和WebChromClient

      
     1.WebViewer控件
      
      Android提供了WebView控件专门用来浏览网页。其使用方法和其他控件一样,需要在布局文件中进行布局,然后在程序中就可以使用并进行设置了。通过loadUrl方法,可以访问网页。代码如下:
      
      Java代码:
      wb=(WebView)findViewById(R.id.wb);
      wb.loadUrl(url);

      
      对于浏览器的设置,可以通过WebSettings来设置WebView的一些属性、状态等。代码如下:
      
      Java代码:
        WebSettingswebSettings=mWebView.getSettings();
      webSettings.setJavaScriptEnabled(true);
      //设置可以访问文件
      webSettings.setAllowFileAccess(true);
      //设置支持缩放
      webSettings.setBuiltInZoomControls(true);

      2.WebViewClient和WebChromClient
      
      WebViewClient和WebChromClientshi可以看作是辅助WebView管理网页中各种通知、请求等事件以及JavaScript时间的两个类。
      
      2.1WebViewClient
      
      通过WebView的setWebViewClient方法指定一个WebViewClient对象。通过覆盖该类的方法来辅助WebView浏览网页。代码如下:
      
      Java代码:
        mWebView.setWebViewClient(newWebViewClient()
      {
      publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl)
      {
      view.loadUrl(url);
      returntrue;
      }
      @Override
      publicvoidonPageFinished(WebViewview,Stringurl)
      {
      super.onPageFinished(view,url);
      }
      @Override
      publicvoidonPageStarted(WebViewview,Stringurl,Bitmapfavicon)
      {
      super.onPageStarted(view,url,favicon);
      }
      });

      2.2WebChromClient
      
      对于网页中使用的JavaScript脚本语言,就可以使用该类处理Js事件,如对话框加载进度等。例如:
      
      Java代码:
        mWebView.setWebChromeClient(newWebChromeClient(){
      
      
      @Override
      //处理javascript中的alert
      publicbooleanonJsAlert(WebViewview,Stringurl,Stringmessage,
      finalJsResultresult)
      {
      //构建一个Builder来显示网页中的对话框
      Builderbuilder=newBuilder(Activitythis);
      builder.setTitle("提示对话框");
      builder.setMessage(message);
      builder.setPositiveButton(android.R.string.ok,
      newAlertDialog.OnClickListener(){
      publicvoidonClick(DialogInterfacedialog,intwhich){
      //点击确定按钮之后,继续执行网页中的操作
      result.confirm();
      }
      });
      builder.setCancelable(false);
      builder.create();
      builder.show();
      returntrue;
      };
      }

  • 相关阅读:
    C++ 虚基类表指针字节对齐
    C++ 虚函数的内存分配
    虚函数&&虚继承
    内存管理简便复习总结
    stack,heap的区别
    内存泄漏(memory leak)和内存溢出
    php+mysqli预处理技术实现添加、修改及删除多条数据的方法
    JavaScript 常用方法总结
    6个超实用的PHP代码片段
    php 备份数据库代码(生成word,excel,json,xml,sql)
  • 原文地址:https://www.cnblogs.com/csj007523/p/2063084.html
Copyright © 2011-2022 走看看