Android WebView的使用

 webview是android中的浏览器控件,在一些手机应用中常会用到b/s模式去开发应用,这时webview的强大功能就会显示出来。
  一、webview的几点设置
 
  权限设置:.AndroidManifest.xml中必须使用许可"android.permission.INTERNET",不然会出Web page not available错误
  js开放设置:  若是访问的页面中有Javascript,则webview必须设置支持Javascript。webview.getSettings().setJavaScriptEnabled(true);  不然,页面的js将不会起做用.
滚动条设置:this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);
设置缓存模式:setCacheMode
二、事件监听对象(WebViewClient) 
事件监听对象WebViewClient中,主要有以下几个经常使用方法:
shouldOverrideUrlLoading:在web页面里单击连接的时候,会自动调用android自带的浏览器来打开连接,须要经过该方法在本页面打开;
@Override
    
public   boolean  shouldOverrideUrlLoading ( WebView  view ,   String  url )   {
        view
. loadUrl ( url );
        
return   true ;
    
}
onLoadResource:加载资源时响应
onPageStart:在加载页面时响应
onPageFinish:在加载页面结束时响应
onReceiveError:在加载出错时响应
onReceivedHttpAuthRequest:
三、返回处理
若是不作任何处理,浏览网页,点击系统“Back”键,整个Browser会调用finish()而结束自身,若是但愿浏览的网 页回退而不是推出浏览器,须要在当前Activity中处理并消费掉该Back事件。
public boolean onKeyDown(int keyCode, KeyEvent event) {         
        if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {         
            mWebView.goBack();         
                   return true;         
        }         
        return super.onKeyDown(keyCode, event);         
    }
四、支持javascripte自定义对象
能够经过addJavascriptInterface()方法,添加js自定义对象,使用web页面与手机java程序可以进行通讯交互。
五、DownloadListener接口
该接口里面有一个方法,onDownloadStart()下载侦听接口,若是客户代码实现该接口,则在下载开始、失败、挂起、完成等状况下,DownloadManagerCore对象会调用客户代码中实现的DownloadListener方法。
六、几个注意点
1)为了让WebView从apk文件中加载assets,Android SDK提供了一个schema,前缀为" file:///android_asset/"。WebView遇到这样的schema,就去当前包中的 assets目录中找内容。如上面的" file:///android_asset/demo.html" 2)addJavascriptInterface方法中要绑定的Java对象及方法要运行另外的线程中,不能运行在构造他的线程中,这也是使用 Handler的目的(今天我是在没有在handler中处理,因此致使webviewclient中的onPageStart方法与addJavascriptInterface中的方法起了冲突,二我的的执行顺序时常互换,以后改为handlder实现,就解决其中的问题,正确的顺序是onPageStart在addJavascriptInterface中的handlder事件处理以前执行)。
相关文章
相关标签/搜索