当前位置: 代码迷 >> Web前端 >> Android WebKit 容易例子
  详细解决方案

Android WebKit 容易例子

热度:801   发布时间:2012-10-27 10:42:26.0
Android WebKit 简单例子

原文 http://www.3geye.net/?3/viewspace-3060

根据Google上说。你可以在你的应用程序中调用Webkit工具,可以浏览一个www的页面,这一点都不假,下面来看看,3GEYENB ^"UOl4TlF}
原理我就不说了。大家可以看看APIs。3GEYE6QE b M l @
我给个简单的上网例子给大家体验下吧。我试验过,可以成功的。3GEYEU?L9gAi8^X,e9v
3GEYEMfd+\,ZFO
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;

}
顺便截图出来3GEYEe"\-oh/|


n&W

  相关解决方案