Welcome to

Vcode

首页 / Android / 安卓WebView 显示

安卓WebView 显示

  1. 使用get请求或者post请求:

区别如下:post 无法被缓存,安全性比较高,没有长度限制,主要用来发送数据,

               get能被缓存,能够被保存在浏览器中,有长度限制,最多1024字节,主要用来获取数据。

    2.创建的HttpThread类来继承Thread,代码如下:

package com.example.demostruesion;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;

import android.os.Handler;
import android.webkit.WebView;


public class HttpThread  extends Thread{
	
	private Handler handler;
	String URL="";
	private WebView webview;
	final  StringBuffer buffer = new StringBuffer();
	public HttpThread(Handler handler,String url,WebView wv)
	{
		this.handler=handler;
		this.URL=url;
		this.webview=wv;
	}	
	
	public void run()
	{
		java.net.URL urls = null;
		
			
		
		try {
			urls = new java.net.URL(URL);
			HttpURLConnection huc=(HttpURLConnection) urls.openConnection();
			huc.setConnectTimeout(10000);
			huc.setRequestMethod("GET");
		//huc.toString();
			
			BufferedReader reader =new BufferedReader(new InputStreamReader(huc.getInputStream()));
			String str;
			while((str=reader.readLine())!=null)
			{
				buffer.append(str);
			}
			
			handler.post(new Runnable() {
				
				@Override
				public void run() {
					// TODO Auto-generated method stub
					webview.loadData(buffer.toString(), "text/html;charset=utf-8",null);
				}
			});
		}
		catch (MalformedURLException e) {
			
			e.printStackTrace();
		}
		catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}
	
	
}

3.页面代码:

private Handler handler;
	private WebView wv;
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        handler=new Handler();
        wv=(WebView) findViewById(R.id.webView1);
        new HttpThread(handler,"http://www.startocry.cn", wv).start();
        
    }


本文暂无评论

发表评论

您的电子邮件地址不会被发布。

>> <<