zoukankan      html  css  js  c++  java
  • android webkit

    引用:http://52android.blog.51cto.com/2554429/497377

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

     

    1. WebViewer控件

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

     

     
     

    1. wb=(WebView)findViewById(R.id.wb);  
    2. wb.loadUrl(url); 

     

      对于浏览器的设置,可以通过WebSettings来设置WebView的一些属性、状态等。代码如下:

     

     
     

    1. WebSettings webSettings = mWebView.getSettings();    
    2.         webSettings.setJavaScriptEnabled(true);  
    3.         //设置可以访问文件  
    4.         webSettings.setAllowFileAccess(true);  
    5.         //设置支持缩放  
    6.         webSettings.setBuiltInZoomControls(true);  

     

     

     

    2. WebViewClientWebChromClient

      WebViewClientWebChromClientshi 可以看作是辅助WebView管理网页中各种通知、请求等事件以及JavaScript时间的两个类。

    2.1 WebViewClient

      通过WebViewsetWebViewClient方法指定一个WebViewClient对象。通过覆盖该类的方法来辅助WebView浏览网页。代码如下:

     

     
     

    1. mWebView.setWebViewClient(new WebViewClient()  
    2.         {     
    3.             public boolean shouldOverrideUrlLoading(WebView view, String url)   
    4.             {     
    5.                 view.loadUrl(url);     
    6.                 return true;     
    7.             }    
    8.             @Override 
    9.             public void onPageFinished(WebView view, String url)   
    10.             {  
    11.                 super.onPageFinished(view, url);  
    12.             }  
    13.             @Override 
    14.             public void onPageStarted(WebView view, String url, Bitmap favicon)   
    15.             {  
    16.                 super.onPageStarted(view, url, favicon);  
    17.             }  
    18.         });  

     

     

     

    2.2 WebChromClient

      对于网页中使用的JavaScript脚本语言,就可以使用该类处理Js事件,如对话框加载进度等。例如:

     

      1. mWebView.setWebChromeClient(new WebChromeClient(){  
      2.             @Override 
      3.             //处理javascript中的alert  
      4.             public boolean onJsAlert(WebView view, String url, String message,  
      5.                     final JsResult result)   
      6.             {  
      7.                 //构建一个Builder来显示网页中的对话框  
      8.                 Builder builder = new Builder(Activity01.this);  
      9.                 builder.setTitle("提示对话框");  
      10.                 builder.setMessage(message);  
      11.                 builder.setPositiveButton(android.R.string.ok,  
      12.                         new AlertDialog.OnClickListener() {  
      13.                             public void onClick(DialogInterface dialog, int which) {  
      14.                                 //点击确定按钮之后,继续执行网页中的操作  
      15.                                 result.confirm();  
      16.                             }  
      17.                         });  
      18.                 builder.setCancelable(false);  
      19.                 builder.create();  
      20.                 builder.show();  
      21.                 return true;  
      22.             };  
  • 相关阅读:
    第四周作业
    RHEL6+GFS2+MYSQL高可用
    第三周作业
    第二周作业
    centos7 安装redis 开机启动
    无线网卡连接网络后共享给本地有线网卡使用(Win10)
    第一周作业
    2019.8.13加入博客园
    智力题
    Python入门基础学习(模块,包)
  • 原文地址:https://www.cnblogs.com/sode/p/2607359.html
Copyright © 2011-2022 走看看