在Android开发中往往需要实现网页的浏览,webview就是android开发控件中功能极其强大的一员,它完全可以充当一个简易的浏览器,能够自己设置主页。试想,用自己开发的app把主页设成自己技术博客地址,一打开便进入了自己的空间,何其的方便。
在webview使用中有以下几点需要注意:
1、关于访问网络的问题
由于webview需要通过数据通信来访问网络,所以在manifest.xml配置文件中需要进行权限的设置(声明)
代码如下
<uses-permission android:name="android.permission.INTERNET"/>
2、如何实现不调用第三方浏览器即可进行页面反应
/*在webview加载网页时,不调用第三方浏览器打开的办法:
* 设置WebViewClient,并重写WebViewClient的shouldOverrideUrlLoading方法
* 返回true为不调用,反之 false为调用第三方浏览器
*/
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
});
3、网页中包含JavaScript内容时如何设置
android webview之所以功能强大就是能够和js进行交互 把js写成的网页嵌套到app中。
//网页中包含JavaScript内容需调用以下方法,参数为true
webView.getSettings().setJavaScriptEnabled(true);
4、如何使得物理返回键实现页面上翻而不是退出程序
用过浏览器的同学应该都知道,浏览网页时点按手机上的返回键并不会导致程序的退出,而是回到之前打开的网页,这时候就需要重写onKeyDown(keyCode, event)方法 改写物理按键返回的逻辑。以下是设置方法:
//重写onKeyDown(keyCode, event)方法 改写物理按键 返回的逻辑
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK)
{
if(webView.canGoBack())
{
webView.goBack();//返回上一页面
return true;
}