1、获得网络权限
2、实例化一个webview
3、使用webview加载资源
此时会发现系统会用默认的方式打开资源而不是自己所写的app
4、覆盖掉默认打开方式,webViewClient帮助webView去处理一些控制和请求
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
//返回为true时用webview打开
webView.loadUrl(url);
return true;
}
});
5、启用javascript
WebSettings websettings=webView.getSettings();
websettings.setJavaScriptEnable(true);
6、修改物理返回按键的逻辑(返回上一个页面而不是退出)
重载Activity的onKeyDown(int KeyCode,KeyEvent event){
if(keyCode==KeyEvent.KEYCODE_BACK)
{
if(webView.canGoBack()){
webView.goBack();
return true;
}
}
else{
System.exit(0);
}
return super.onKeyDown(keyCode, event);
}
7、使用以下方法来监督页面加载进度
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
// TODO Auto-generated method stub
//newProgress是1到100的整数
if(newProgress==100){
//加载完成
}else{
//正在加载,刷新进度跳
}
super.onProgressChanged(view, newProgress);
}
});
8、优先使用缓存
settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
2、实例化一个webview
3、使用webview加载资源
此时会发现系统会用默认的方式打开资源而不是自己所写的app
4、覆盖掉默认打开方式,webViewClient帮助webView去处理一些控制和请求
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
//返回为true时用webview打开
webView.loadUrl(url);
return true;
}
});
5、启用javascript
WebSettings websettings=webView.getSettings();
websettings.setJavaScriptEnable(true);
6、修改物理返回按键的逻辑(返回上一个页面而不是退出)
重载Activity的onKeyDown(int KeyCode,KeyEvent event){
if(keyCode==KeyEvent.KEYCODE_BACK)
{
if(webView.canGoBack()){
webView.goBack();
return true;
}
}
else{
System.exit(0);
}
return super.onKeyDown(keyCode, event);
}
7、使用以下方法来监督页面加载进度
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
// TODO Auto-generated method stub
//newProgress是1到100的整数
if(newProgress==100){
//加载完成
}else{
//正在加载,刷新进度跳
}
super.onProgressChanged(view, newProgress);
}
});
8、优先使用缓存
settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);