Android Webview 使用实例

一星期前做了一个手机端的内容型网站,本来是用来跟我的微信订阅号捆绑的,为订阅号提供内容和交互服务。但在找到合适的切入点之前,办这个微信订阅号只是想体验一下整个流程,亲身弄一遍下来肯定会对甄选项目有帮助。但既然微站有了,里面内容也有了些,那正好做一个Android APP,这样即使在微信订阅号的入口上做了限制,也可以从APP访问全站内容。

下面是主要代码、效果图和源码工程下载。

  • 主要代码
webView = (WebView) findViewById(R.id.webView);

        //覆盖WebView默认使用系统默认浏览器打开网页的行为,用WebView打开
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                //以下两行本意是用来控制用WebView打开点击后的页面,而不调用系统浏览器,但它会导致对于主页重定向的网页,无法退出的问题
                //view.loadUrl(url);
                //return true;
                return false; //解决重定向页面后退不了的问题
            }
        });

        //支持Javascript
        WebSettings settings = webView.getSettings();
        settings.setJavaScriptEnabled(true);

        //优先使用缓存
            webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

        // 判断页面加载过程
        webView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                // TODO Auto-generated method stub
                if (newProgress == 100) {
                    // 网页加载完成

                } else {
                    // 加载中

                }

            }
        });

如果你的网站上有页面重定向,注意这个方法:

public boolean shouldOverrideUrlLoading(WebView view, String url) {
      //以下两行本意是用来控制用WebView打开点击后的页面,而不调用系统浏览器,但它会导致对于主页重定向的网页,无法退出的问题
      //view.loadUrl(url);
      //return true;
      return false; //解决重定向页面后退不了的问题
}
  • 效果图:

Android Webview 使用实例_第1张图片

  • 源码下载
    http://download.csdn.net/detail/sealeader/9403263

你可能感兴趣的:(移动应用开发)