Webkit是一种开源的浏览器引擎,苹果Safari、Google的Chrome都是使用的Webkit内核。本文就通过实例的方式讲解Android系统中Webkit的应用。

       根据Google上所说,你可以在你的应用程序中调用Webkit工具,从而浏览一个www的页面,这一点都不假,下面来看看,原理我就不说了。大家可以看看API。

       我给个简单的上网例子给大家体验下吧。我试验过,可以成功的。

       下面直接贴代码:

Java代码
  1. package com.gggeye.android;     
  2.     
  3. import android.app.Activity;     
  4. import android.os.Bundle;     
  5. import android.os.Handler;     
  6. import android.os.Message;     
  7. import android.webkit.DownloadListener;     
  8. import android.webkit.WebView;     
  9.     
  10. public class WebViewDemo extends Activity {     
  11.     /** Called when the activity is first created. */     
  12.     @Override     
  13.     public void onCreate(Bundle icicle) {     
  14.         super.onCreate(icicle);     
  15.         setContentView(R.layout.main);     
  16.         webView1 = new WebView(this);     
  17.         webView1     
  18.                 .loadData(     
  19.                         "<html><body>Can I focus?<br /><a href=\"#\">No I cannot!</a>.</body></html>",     
  20.                         "text/html""utf-8");     
  21.         this.setContentView(webView1);     
  22.         Logger.info("Download Faild _=> " + webView1.canGoBack());     
  23.         webView = new WebView(this);     
  24.         webView.loadUrl("http://www.3geye.net");     
  25.         //webView.setDownloadListener(new WebDownloadListener());     
  26.              
  27.         new Thread(new WebDownloadListener(this)).start();     
  28.     }     
  29.     WebView webView1;     
  30.     class WebDownloadListener implements Runnable, DownloadListener {     
  31.         WebViewDemo wd;     
  32.         WebDownloadListener(WebViewDemo wd){     
  33.             this.wd = wd;     
  34.         }     
  35.         public void run() {     
  36.             int j=0;     
  37.             StringBuffer sb = new StringBuffer();     
  38.             sb.append("正在连接网络");     
  39.             while (true) {     
  40.                 try {     
  41.                     Thread.sleep(4 * 1000);     
  42.                     j++;     
  43.                     sb.append(".");     
  44.                     webView1 = new WebView(wd);     
  45.                     webView1.loadData("<html><body><font color=\"red\">"     
  46.                             + sb.toString() + " </font></html>""text/html",     
  47.                             "utf-8");     
  48.                        Message msg = mHandler.obtainMessage();     
  49.                         mHandler.sendMessage(msg);     
  50.                          
  51.                 } catch (Throwable e) {     
  52.                     Logger.info(e.toString());     
  53.                          
  54.                     e.printStackTrace();     
  55.                 }     
  56.                 if (j== 3) {     
  57.                     webView1 = null;     
  58.                        Message msg = mHandler.obtainMessage();     
  59.                         mHandler.sendMessage(msg);     
  60.                     break;     
  61.                 }     
  62.             }     
  63.         }     
  64.         public void onDownloadFailed(String arg0, int arg1) {     
  65.             Logger.info("Download Faild _=> " + arg0);     
  66.         }     
  67.         public void onDownloadFinished(String arg0) {     
  68.             Logger.info("Download Finished => " + arg0);     
  69.             setContentView(webView);     
  70.         }     
  71.         public void onDownloadStart(String arg0, String arg1, long arg2,     
  72.                 Message arg3, Message arg4) {     
  73.             Logger.info("Download Faild _=> " + arg0);     
  74.     
  75.         }     
  76.     
  77.         public void onDownloadSuspended(String arg0, Message arg1) {     
  78.             Logger.info("Download Faild _=> " + arg0);     
  79.         }     
  80.     }     
  81.        Handler mHandler = new Handler(){     
  82.             @Override     
  83.             public void handleMessage(Message msg) {     
  84.                 super.handleMessage(msg);     
  85.                 //invalidate();     
  86.              if(webView1 == null)     
  87.                 setContentView(webView);     
  88.              else     
  89.                 setContentView(webView1);     
  90.                      
  91.             }     
  92.        };     
  93.     WebView webView = null;    

       至此Android Webkit的实例就介绍完了,大家通过此代码能够直观的学习到Webkit应用的知识。

本文发布:Android开发网
本文地址:http://www.jizhuomi.com/android/example/291.html
2012年11月26日
发布:鸡啄米 分类:Android开发实例 浏览: 评论:0