>>分享Android开发相关的技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19409 个阅读者 刷新本主题
 * 贴子主题:  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开发-->自定义JSP标签(Ⅰ)
  JSP与Hibernate开发-->Java对象持久化技术概述
  Java网络编程-->用Swing组件展示HTML文档
  精通Spring-->Vue CLI脚手架工具
  Vue3开发-->Vue组件开发高级技术
  Android自动化测试之Robotium学习
  Android开发实践:用脚本编译Android工程
  Android中shape的使用
  Android Fragments 详细使用
  Android开发: 文件读写
  Android JSON网络数据交换
  ]android:gravity / android:layout_Gravity 的区别
  Android 解码播放GIF图像
  Android Broadcast receiver 编程-Mobile and Linux Develop...
  Android学习建议
  Android性能优化-过度渲染
  Android 应用程序组件
  Android 之不要滥用 SharedPreferences(下)
  Android 启动页倒计时自定义view实现
  Android中竖着的Tablayout的简单使用
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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