博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android:WebView(慕课网)
阅读量:7051 次
发布时间:2019-06-28

本文共 3397 字,大约阅读时间需要 11 分钟。

使用webview最重要的三点:

1 WebView加载本地资源(webView.loadUrl("file:///android_asset/example.html");)

2 WebView加载web资源(webView.loadUrl(url);)

3 覆盖WebView默认通过第三方或者是系统浏览器打开网页的行为,使得网页可以在WebVIew中打开

mainactivity:

package com.imooc.android_webview;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.app.ProgressDialog;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Toast;import android.os.Build;public class MainActivity extends Activity {	private String url = "http://2014.qq.com/";	private WebView webView;    private ProgressDialog dialog;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.web);		// Uri uri = Uri.parse(url); //url为你要链接的地址		// Intent intent =new Intent(Intent.ACTION_VIEW, uri);		// startActivity(intent);		init();	}	private void init() {		// TODO Auto-generated method stub		webView = (WebView) findViewById(R.id.webView);		// 1 WebView加载本地资源		// webView.loadUrl("file:///android_asset/example.html");		// 2 WebView加载web资源		webView.loadUrl(url);		// 3 覆盖WebView默认通过第三方或者是系统浏览器打开网页的行为,使得网页可以在WebVIew中打开		webView.setWebViewClient(new WebViewClient(){						@Override			public boolean shouldOverrideUrlLoading(WebView view, String url) {				// TODO Auto-generated method stub				//返回值是true的时候控制网页在WebView中去打开,如果为false调用系统浏览器或第三方浏览器去打开				view.loadUrl(url);				return true;			}			//WebViewClient帮助WebView去处理一些页面控制和请求通知					});		//启用支持JavaScript		WebSettings settings = webView.getSettings();		settings.setJavaScriptEnabled(true);		//WebView加载页面优先使用缓存加载		settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);		webView.setWebChromeClient(new WebChromeClient(){						@Override			public void onProgressChanged(WebView view, int newProgress) {				// TODO Auto-generated method stub                //newProgress 1-100之间的整数				if(newProgress==100)				{					//网页加载完毕,关闭ProgressDialog					closeDialog();				}				else				{					//网页正在加载,打开ProgressDialog					openDialog(newProgress);				}			}			private void closeDialog() {				// TODO Auto-generated method stub                  if(dialog!=null&&dialog.isShowing())                  {                	     dialog.dismiss();                	     dialog=null;                  }			}			private void openDialog(int newProgress) {				// TODO Auto-generated method stub				if(dialog==null)				{					dialog=new ProgressDialog(MainActivity.this);					dialog.setTitle("正在加载");					dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);					dialog.setProgress(newProgress);					dialog.show();									}				else				{					dialog.setProgress(newProgress);				}										}		});							}		//改写物理按键——返回的逻辑	@Override	public boolean onKeyDown(int keyCode, KeyEvent event) {		// TODO Auto-generated method stub		if(keyCode==KeyEvent.KEYCODE_BACK)		{			//Toast.makeText(this, webView.getUrl(), Toast.LENGTH_SHORT).show();			if(webView.canGoBack())			{				webView.goBack();//返回上一页面				return true;			}			else			{				System.exit(0);//退出程序			}		}		return super.onKeyDown(keyCode, event);	}		}

  

转载地址:http://cwpol.baihongyu.com/

你可能感兴趣的文章
Django框架简介-模型系统
查看>>
可集成到APP的车架号识别软件
查看>>
导出查询结果到csv文件
查看>>
Algs4-2.3.19五取样切分
查看>>
Numpy 数据类型和基本操作
查看>>
HanzFontMaker--支持所有字体的点阵取模软件
查看>>
IDEA常用快揵键
查看>>
git 学习笔记
查看>>
[HDU5528]Count a * b
查看>>
[HDU5968]异或密码
查看>>
Vue的安装
查看>>
iOS开发~CocoaPods使用详细说明
查看>>
书城项目第五阶段---book表的curd
查看>>
分割字符串
查看>>
图形绘制管线
查看>>
C#扩展方法
查看>>
资源记录
查看>>
逆置单链表
查看>>
33 ArcToolBox学习系列之数据管理工具箱——投影与变换(Projections and Transformations)未完待续……...
查看>>
iOS 9 的新功能 universal links
查看>>