>>分享Android开发相关的技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19006 个阅读者 刷新本主题
 * 贴子主题:  Android网络编程之WebKit应用 回复文章 点赞(0)  收藏  
作者:Jacky    发表时间:2020-05-15 08:21:41     消息  查看  搜索  好友  邮件  复制  引用

    
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.               };  
  23.   }

----------------------------
原文链接:https://blog.51cto.com/52android/497377

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-06-03 21:05:40 重新编辑]
  Java面向对象编程-->异常处理
  JavaWeb开发-->Web运作原理(Ⅳ)
  JSP与Hibernate开发-->数据库事务的并发问题的解决方案
  Java网络编程-->Socket用法详解
  精通Spring-->组合(Composition)API
  Vue3开发-->计算属性和数据监听
  Android静默安装的实现
  Android那些事儿之LBS定位
  Android定义的路径全局变量
  在Window中下载和安装Android源代码
  ]android:gravity / android:layout_Gravity 的区别
  Android多屏幕适配
  Android 4.0 : 复制APK,复制动态库的Android.mk 文件
  Android Lint分类及常见错误
  Android性能优化-过度渲染
  到底什么是AndroidX?
  Android开发学习笔记:浅谈WebView-IT的点点滴滴
  Android强制设置横屏或竖屏-Alex_Michel
  Android炫酷菜单
  Android无侵入式引导提示-一键式启动
  Android 判断当前设备是手机还是平板
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。