引用: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. WebSettingswebSettings=mWebView.getSettings();
  2. webSettings.setJavaScriptEnabled(true);
  3. //设置可以访问文件
  4. webSettings.setAllowFileAccess(true);
  5. //设置支持缩放
  6. webSettings.setBuiltInZoomControls(true);

2.WebViewClientWebChromClient

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

2.1WebViewClient

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


  1. mWebView.setWebViewClient(newWebViewClient()
  2. {
  3. publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl)
  4. {
  5. view.loadUrl(url);
  6. returntrue;
  7. }
  8. @Override
  9. publicvoidonPageFinished(WebViewview,Stringurl)
  10. {
  11. super.onPageFinished(view,url);
  12. }
  13. @Override
  14. publicvoidonPageStarted(WebViewview,Stringurl,Bitmapfavicon)
  15. {
  16. super.onPageStarted(view,url,favicon);
  17. }
  18. });

2.2WebChromClient

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

    1. mWebView.setWebChromeClient(newWebChromeClient(){
    2. @Override
    3. //处理javascript中的alert
    4. publicbooleanonJsAlert(WebViewview,Stringurl,Stringmessage,
    5. finalJsResultresult)
    6. {
    7. //构建一个Builder来显示网页中的对话框
    8. Builderbuilder=newBuilder(Activity01.this);
    9. builder.setTitle("提示对话框");
    10. builder.setMessage(message);
    11. builder.setPositiveButton(android.R.string.ok,
    12. newAlertDialog.OnClickListener(){
    13. publicvoidonClick(DialogInterfacedialog,intwhich){
    14. //点击确定按钮之后,继续执行网页中的操作
    15. result.confirm();
    16. }
    17. });
    18. builder.setCancelable(false);
    19. builder.create();
    20. builder.show();
    21. returntrue;
    22. };
    23. }

更多相关文章

  1. 在RelativeLayout布局中可以设置标签的android:layout_toLeftO..
  2. Android开发小知识点集锦
  3. android绘图之Paint(1)
  4. android Button组件的属性和方法
  5. Android的OpenGL学习笔记(5)
  6. Android-两种方式实现走马灯效果
  7. Android(安卓)控件之Gallery图片集
  8. Android之实现textvew跑马灯效果
  9. Android(安卓)关于获取摄像头帧数据

随机推荐

  1. Android(安卓)开源项目汇总
  2. Android(安卓)BroadCastReceiver的基本使
  3. Android(安卓)1.5 1.6 2.0 2.1 2.2各版本
  4. Mac 10.12 编译 Android(安卓)源码
  5. Android打印框架Demo
  6. Field requires API level 14 (current m
  7. [置顶] blog收藏目录
  8. Android(安卓)ViewPager Adapter 内存管
  9. android 中的PopupWindow 弹出菜单
  10. android官方技术文档翻译——aar 格式