WebView中的方法及用法

本文介绍了一个具体的WebView应用案例,展示了如何在Android应用中配置和使用WebView加载网页内容,包括JavaScript支持、缓存策略、图像加载等设置。

webView中方法用法

package com.xinhua.xinhuashe.option.china;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;



/**
 * 中国网事
 *
 * 
 *
 */
public class ChinaFragment extends ParentFragment {

	public static WebView news_detail_WebView;
	
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		View contextView = super.onCreateView(inflater, container,
				savedInstanceState);
		threadTask();
		SlidingMenuControlActivity.main_header_title_TextView.setText("中国网事");
		return contextView;
	}
	
	@Override
	protected int getLayoutId() {
		return R.layout.china;
	}

	@SuppressLint("SetJavaScriptEnabled")
	@Override
	protected void setupViews(View parentView) {
		news_detail_WebView = (WebView) parentView
				.findViewById(R.id.news_detail_WebView);
		//是否支持javascript
		news_detail_WebView.getSettings().setJavaScriptEnabled(true);
		//设置webView缓存存储数据缓存分为两种:AppCache和DOM Storage(Web Storage)。他们是因为页<span style="white-space:pre">		</span>//面开发者的直接行为而产生。所有的缓存数据都由开发者直接完全地掌控。
		//AppCache使我们能够有选择的缓冲web浏览器中所有的东西,从页面、图片到脚本、css等等。尤其在<span style="white-space:pre">		</span>//涉及到应用于网站的多个页面上的CSS和JavaScript文件的时候非常有用。其大小目前通常是5M。
		//在Android上需要手动开启(setAppCacheEnabled),并设置路径(setAppCachePath)和容量(set<span style="white-space:pre">		</span>//AppCacheMaxSize)
		//Android中Webkit使用一个db文件来保存AppCache数据(my_path/ApplicationCache.db)
		//更详细的资料可以参考这里:http://www.itboat.net/thread-23674-1-1.html
		//
		//如果需要存储一些简单的用key/value对即可解决的数据,DOM Storage是非常完美的方案。根据作用<span style="white-space:pre">		</span>//范围的不同,有Session Storage和Local Storage两种,分别用于会话级别的存储(页面关闭即消失<span style="white-space:pre">		</span>//)和本地化存储(除非主动删除,否则数据永远不会过期)。
		//在Android中可以手动开启DOM Storage(setDomStorageEnabled),设置存储路径(setDatabaseP<span style="white-space:pre">		</span>//ath)
		//Android中Webkit会为DOM Storage产生两个文件(my_path/localstorage/http_h5.m.taobao.com<span style="white-space:pre">		</span>//_0.localstorage和my_path/localstorage/Databases.db)。
		news_detail_WebView.getSettings().setAppCacheEnabled(true);
		// 设置是否显示网络图像---true,封锁网络图片,不显示 false----允许显示网络图片
		news_detail_WebView.getSettings().setBlockNetworkImage(false);
		// 设置自动加载图片
		news_detail_WebView.getSettings().setLoadsImagesAutomatically(true);
		//增大webview中字体
		news_detail_WebView.getSettings().setTextSize(TextSize.LARGER);
		//设置自动手动改变字体大小
		news_detail_WebView.getSettings().setBuiltInZoomControls(true);
		//webview中加载进来的页面自适应页面 同时解决放大缩小自适应
		news_detail_WebView.getSettings().setUseWideViewPort(true); 
		news_detail_WebView.getSettings().setLoadWithOverviewMode(true);
	}

	@Override
	protected void initialized() {
		String url = "http://zgws.xinhuanet.com/api/open/List.aspx?siteid=156&r=0.772346173645<span style="white-space:pre">		</span>9285&wt=中国网事";
		news_detail_WebView.loadUrl(url);
		//设置webView在当前的webView中跳转到新的url
		news_detail_WebView.setWebViewClient(new WebViewClient() {
			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				view.loadUrl(url); 
				return true;
			}
		});
	}

	@Override
	protected void threadTask() {
		
	}

}
方法不全,后期会更新。

当用webView访问本地HTML(js页面)时,所用方法:

<span style="white-space:pre">		</span>String data=null;
		news_detail_WebView.loadDataWithBaseURL(null, data, "text/html", "utf-8", null);
当webView用post请求访问某个网页时

Android WebView 通过post形式访问
		//需要访问的网址
		String url = "http://www.cqjg.gov.cn/netcar/FindThree.aspx";
		//post访问需要提交的参数
		String postDate = "txtName=zzz&QueryTypeLst=1&CertificateTxt=dsds";
		//由于webView.postUrl(url, postData)中 postData类型为byte[] ,
		//通过EncodingUtils.getBytes(data, charset)方法进行转换
		webView.postUrl(url, EncodingUtils.getBytes(postDate, "BASE64"));





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值