Webkit是一种开源的浏览器引擎,苹果Safari、Google的Chrome都是使用的Webkit内核。本文就通过实例的方式讲解Android系统中Webkit的应用。
根据Google上所说,你可以在你的应用程序中调用Webkit工具,从而浏览一个www的页面,这一点都不假,下面来看看,原理我就不说了。大家可以看看API。
我给个简单的上网例子给大家体验下吧。我试验过,可以成功的。
下面直接贴代码:
Java代码
- package com.gggeye.android;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.webkit.DownloadListener;
- import android.webkit.WebView;
- public class WebViewDemo extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
- setContentView(R.layout.main);
- webView1 = new WebView(this);
- webView1
- .loadData(
- "<html><body>Can I focus?<br /><a href=\"#\">No I cannot!</a>.</body></html>",
- "text/html", "utf-8");
- this.setContentView(webView1);
- Logger.info("Download Faild _=> " + webView1.canGoBack());
- webView = new WebView(this);
- webView.loadUrl("http://www.3geye.net");
- //webView.setDownloadListener(new WebDownloadListener());
- new Thread(new WebDownloadListener(this)).start();
- }
- WebView webView1;
- class WebDownloadListener implements Runnable, DownloadListener {
- WebViewDemo wd;
- WebDownloadListener(WebViewDemo wd){
- this.wd = wd;
- }
- public void run() {
- int j=0;
- StringBuffer sb = new StringBuffer();
- sb.append("正在连接网络");
- while (true) {
- try {
- Thread.sleep(4 * 1000);
- j++;
- sb.append(".");
- webView1 = new WebView(wd);
- webView1.loadData("<html><body><font color=\"red\">"
- + sb.toString() + " </font></html>", "text/html",
- "utf-8");
- Message msg = mHandler.obtainMessage();
- mHandler.sendMessage(msg);
- } catch (Throwable e) {
- Logger.info(e.toString());
- e.printStackTrace();
- }
- if (j== 3) {
- webView1 = null;
- Message msg = mHandler.obtainMessage();
- mHandler.sendMessage(msg);
- break;
- }
- }
- }
- public void onDownloadFailed(String arg0, int arg1) {
- Logger.info("Download Faild _=> " + arg0);
- }
- public void onDownloadFinished(String arg0) {
- Logger.info("Download Finished => " + arg0);
- setContentView(webView);
- }
- public void onDownloadStart(String arg0, String arg1, long arg2,
- Message arg3, Message arg4) {
- Logger.info("Download Faild _=> " + arg0);
- }
- public void onDownloadSuspended(String arg0, Message arg1) {
- Logger.info("Download Faild _=> " + arg0);
- }
- }
- Handler mHandler = new Handler(){
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- //invalidate();
- if(webView1 == null)
- setContentView(webView);
- else
- setContentView(webView1);
- }
- };
- WebView webView = null;
至此Android Webkit的实例就介绍完了,大家通过此代码能够直观的学习到Webkit应用的知识。
本文发布:Android开发网
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。