WebView控件的使用

!!!首先要加权限

<uses-permission android:name="android.permission.INTERNET"/>

webView 的介绍:
是一个可以显示网页的控件,他的网页渲染引擎和Safari、Chrome一样都是Webkit(一个开源的浏览器引擎)。 即有本地应用的功能,又有B/S应用(Browser/Server浏览器/服务器)模式的优势,可以说是二者的结合体)。
使用webView来开发应用,有几个很明显的优势:
1、搭建Java和Javascript之间交互的桥梁。
2、跨平台,网页代码编写一次,即可以在任何支持web的平台上运行,如adnroid iphone win节省开发成本,提高开发效率。
3、资源利用最大化,web开发人员只用很少的学习成本即可以使用webView开发。
4、应用程序维护成本大大降低,只用维护服务器端代码即可。

WebView加载页面

LoadDataWithBase():直接加载本地信息。---------- 和 --------loadDataWithBaseURL():通过URL加载本地信息。

1.)直接加载一个网址:
WebView.loadUrl(Sring url)(如果是在assert 目录下:地址为file:///android_asset/jstest.html)。
2.)直接加载一个html字符串:webView.loadData()。
如果想在APP中显示一个网页内容?
:答案:1、调用系统内置的浏览器应用。2、是WebView控件。
WebView的常用设置属性WebSetting:如何获得?
常用方法:
WebSetting ws=wv. getSettings();//获得当前webView的设置对象
setJavaScriptCanOpenWindowsAutomatically(true):支持通过js打开新的窗口
setJavaScriptEnabled(true):支持加载javaScript,默认是false,
setSupportZoom(true):支持缩放(大小)
setDefaultZoom(ZoomDensity.FAR):设置webView的默认缩放
setBuiltInZoomControls(true):支持出现放大缩小工具(打开自带的缩放按钮)
setPluginsEnabled(true):设置为支持插件,如flashPlayer插件。
WebChromeClient:
当遇到影响浏览网页的一些事情。比如显示进度条或弹出js对象框,就需要设置WebChromeClient对象。常用方法:onProgressChanged
wv.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
// TODO Auto-generated method stub
super.onProgressChanged(view, newProgress);
Log.d("zzz", "pro"+newProgress);
//显示出来
bar.setVisibility(View.VISIBLE);
//赋值
bar.setProgress(newProgress);
if (newProgress==100) {
bar.setVisibility(View.GONE);
}
}
});
WebViewClient:
当影响网页渲染内容的事情发生时,比如,加载出现错误,我们就可以它拦截错误。
常用方法:
shouldOverrideUrlLoading
网页中的超链接被按下时回调(拦截url)
onPageFinished
网页加载完成时被回调
onReceivedError
加载网页发生错误时被回调
-----------------------------------------------------------------
WebView ww=(WebView) findViewById(R.id.webView1);
//网页显示在当前的页面
ww.setWebViewClient(new WebViewClient());
//设置支持网页中的js脚本
WebSettings settings=ww.getSettings();
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setJavaScriptEnabled(true);
//第一种方法加载一个网页
ww.loadUrl("http://www.baidu.com");
/* //第二种方式
String data="<html><body>This is my love</body></html>";
ww.loadData(data, "text/html", "utf-8");*/
}
--------------------------------------
//直接启动系统默认的浏览器应用加载页面
public void openweb(View v){
Intent it=new Intent(Intent.ACTION_VIEW);
it.setData(Uri.parse("http://www.baidu.com"));
startActivity(it);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值