第一种方法:
直接用 webview.loadUrl(url);
这种方法很简单,但是效果不是很好,它会默认的打开浏览器去加载这个网页,而不是在APP中,很让人纠结。
第二种方法:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webview = (WebView) findViewById(R.id.webview);
WebSettings webSettings = webview.getSettings();
//设置WebView属性,能够执行Javascript脚本
webSettings.setJavaScriptEnabled(true);
//设置可以访问文件
webSettings.setAllowFileAccess(true);
//设置支持缩放
webSettings.setBuiltInZoomControls(true);
//加载需要显示的网页
webview.loadUrl("http://www.baidu.com");
//设置Web视图
webview.setWebViewClient(new webViewClient ());
}
@Override
//设置回退
//覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack(); //goBack()表示返回WebView的上一页面
return true;
}
finish();//结束退出程序
return false;
}
//Web视图
private class webViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
第三种方法:
//加载webview的方法
private void initWebView() {
final WebSettings webSettings= webview.getSettings();
webSettings.setJavaScriptEnabled(true);//是否支持JavaScrip
webSettings.setDefaultTextEncodingName("utf-8");//设置解码时默认编码
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
@Override //页面启动的时候
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
});
webview.loadDataWithBaseURL(null,"这里是url", "text/html", "utf-8", null);
}