WebView一

<pre name="code" class="java">package com.example.webviewtestone;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.DownloadListener;
import android.webkit.SslErrorHandler;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;


public class MainActivity extends Activity {

	WebView mWebView;
	Button mBack;
	Button mRefresh;
	EditText mShow;
	ProgressBar pb;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		mWebView = (WebView)findViewById(R.id.webView);
		mBack = (Button)findViewById(R.id.back);
		mRefresh = (Button)findViewById(R.id.refresh);
		mShow = (EditText)findViewById(R.id.show);
		pb = (ProgressBar)findViewById(R.id.progressBar);
		
		mBack.setOnClickListener(new MyClick());
		mRefresh.setOnClickListener(new MyClick());
		
		mWebView.loadUrl("http://m.baidu.com");

		mWebView.setWebChromeClient(new WebChromeClient()
		{

			//获得页面title
			@Override
			public void onReceivedTitle(WebView view, String title) {
				// TODO Auto-generated method stub
				mShow.setText(title);
				super.onReceivedTitle(view, title);
			}
			
			//设置进度条
			@Override
			public void onProgressChanged(WebView view, int newProgress) {
				// TODO Auto-generated method stub
				
				if (newProgress == 100) {
	                  pb.setVisibility(View.INVISIBLE);
	              } else {
	                  if (View.INVISIBLE == pb.getVisibility()) {
	                      pb.setVisibility(View.VISIBLE);
	                  }
	                  pb.setProgress(newProgress);
	              }
				super.onProgressChanged(view, newProgress);
			}
			
		});
		
		mWebView.setWebViewClient(new WebViewClient()
		{
			//在app内打开网页
			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				// TODO Auto-generated method stub
				return false;
			}
			
			//处理https请求
			@Override
			public void onReceivedSslError(WebView view,
					SslErrorHandler handler, SslError error) {
				// TODO Auto-generated method stub
				handler.proceed();
			}
		});
		
		mWebView.setDownloadListener(new MyDownload());
		
		//加载JavaScript
		mWebView.getSettings().setJavaScriptEnabled(true);
		
	}
	
	class MyClick implements OnClickListener
	{

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			switch(v.getId())
			{
			case R.id.back : 
				//返回上一层页面
				mWebView.goBack();
				Log.d("click", "back");
				break;
			case R.id.refresh : 
				//刷新,重新加载
				mWebView.reload();
				Log.d("click", "refresh");
				break;
			default :
				break;
			}
		}
		
	}

	
	class MyDownload implements DownloadListener
	{

		//下载
		@Override
		public void onDownloadStart(String url, String userAgent,
				String contentDisposition, String mimetype, long contentLength) {
			// TODO Auto-generated method stub
			Uri uri = Uri.parse(url);
			Intent intent = new Intent(Intent.ACTION_VIEW,uri);
			startActivity(intent);

		}
		
	}
	
}



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值