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"));