Android WebView学习(参考代码)

参考代码如下:

public class MainActivity extends Activity {
	private Button mButton;
	private WebView mWebView;
	private ProgressDialog pd;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		mButton = (Button) findViewById(R.id.mButton);
		mWebView = (WebView) findViewById(R.id.mWebView);
		
		mWebView.getSettings().setJavaScriptEnabled(true);
		mWebView.setWebViewClient(new MyWebViewClient());
		
		mButton.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				runOnUiThread(new Runnable(){
					@Override
					public void run() {
						mWebView.loadUrl("http://account.moretv.com.cn/sources/weixin/qr.html");
					}
				});
			}
		});
	}
	//按back键可以回到上个网页
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		 if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {  
		        mWebView.goBack();  
		        return true;  
		    }  
		return super.onKeyDown(keyCode, event);
	}
 class MyWebViewClient extends WebViewClient{
<span style="white-space:pre">		</span>@Override
<span style="white-space:pre">		</span>public boolean shouldOverrideUrlLoading(WebView view, String url) {
<span style="white-space:pre">			</span>view.loadUrl(url);
<span style="white-space:pre">			</span>return true;
<span style="white-space:pre">		</span>}
<span style="white-space:pre">		</span>// 开始加载网页时要做的工作  
<span style="white-space:pre">		</span>@Override
<span style="white-space:pre">		</span>public void onPageStarted(WebView view, String url, Bitmap favicon) {
<span style="white-space:pre">		</span>    mWebView.setVisibility(4);
<span style="white-space:pre">		</span>    pd = ProgressDialog.show(MainActivity.this, "", "",true,true);
<span style="white-space:pre">			</span>super.onPageStarted(view, url, favicon);
<span style="white-space:pre">		</span>}
<span style="white-space:pre">		</span>// 加载完成时要做的工作
<span style="white-space:pre">		</span>@Override<span style="white-space:pre">	</span>
<span style="white-space:pre">		</span>public void onPageFinished(WebView view, String url) {
<span style="white-space:pre">			</span>pd.dismiss();
<span style="white-space:pre">			</span>mWebView.setVisibility(0);
<span style="white-space:pre">			</span>super.onPageFinished(view, url);
<span style="white-space:pre">		</span>}
<span style="white-space:pre">		</span>// 加载错误时要做的工作 
<span style="white-space:pre">		</span>@Override
<span style="white-space:pre">		</span>public void onReceivedError(WebView view, int errorCode,
<span style="white-space:pre">				</span>String description, String failingUrl) {
<span style="white-space:pre">			</span>Toast.makeText(MainActivity.this, "抱歉,加载出错了", 0).show();
<span style="white-space:pre">			</span>super.onReceivedError(view, errorCode, description, failingUrl);
<span style="white-space:pre">		</span>}
<span style="white-space:pre">		</span>
<span style="white-space:pre">	</span>}

 


 Android中webView组件

1. Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装成名为WebView的组件,浏览器能做的,webview也可以实现

2.webView的基本用法

1.加载一个网络的url

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. mWebView = (WebView) this.findViewById(R.id.mWebview);  
  2. mWebView.loadUrl(url);  

2.加载一个本地存放在assets文件下的html文件

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  
  1. webView.loadUrl("file:///android_asset/XX.html")  
   注意: 当你在本地html 文件中用到图片, js 等的时候就要注意加载的方式,我在刚刚开始的时候也是通过上面的方法直接加载,结果都是失败的,在这里首先我们要在本地的 html 文件中配置 img,js 的方式要如: <img src="file:///android_asset/img/01.jpg"/> 的格式,然后将整个 html 文件的内容获取,最后调用

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. wv_liebao.loadDataWithBaseURL("file:///android_asset/my.html",Str_html, "text/html""utf-8"null);  

其中第二个参数就是整个html的的String

3. WebviewWebSetting

1.webview允许加载js(详细用法后面介绍)

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. mWebView.getSettings().setJavaScriptEnabled(true);  

2.webview 允许调用本地文件

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. mWebView.getSettings().setAllowFileAccess(true);  

3.webview 自适应手机屏幕大小

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. wv_liebao.getSettings().setUseWideViewPort(true);  
  2. wv_liebao.getSettings().setLoadWithOverviewMode(true);  
   其他操作设置参考:http://blog.csdn.net/k1457047898/article/details/35579261

                                                       http://blog.csdn.net/zhanglongit/article/details/9018693

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值