>>分享Android开发相关的技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19203 个阅读者 刷新本主题
 * 贴子主题:  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与Hibernate开发-->通过JPA API检索数据
  Java网络编程-->RMI框架
  精通Spring-->Vue指令
  Vue3开发-->Vue组件开发基础
  Android ListView滑动加载
  Android UI学习 - 用户通知-学习Android
  Android JSON网络数据交换
  Android开发实践:编译VLC-for-Android
  Android的Service和广播的讲解
  Android线程处理简述
  Android 消息推送
  UI渲染机制以及优化
  一款在Linux下运行Android应用的软件:xDroid
  Android Service学习之AIDL, Parcelable和远程服务-学习Andr...
  Android网络编程之Http通信
  uniapp安卓ios百度人脸识别、活体检测、人脸采集APP原生插件
  【Android 修炼手册】Gradle 篇 -- Gradle 的基本使用
  Android 代码混淆技术
  Android 启动页倒计时自定义view实现
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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