WebView控件的使用
来源:互联网 发布:c语言abs 编辑:程序博客网 时间:2024/06/05 02:08
!!!首先要加权限
<uses-permission android:name="android.permission.INTERNET"/>
是一个可以显示网页的控件,他的网页渲染引擎和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控件。
:答案:1、调用系统内置的浏览器应用。2、是WebView控件。
WebView的常用设置属性WebSetting:如何获得?
常用方法:
WebSetting ws=wv. getSettings();//获得当前webView的设置对象
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
当遇到影响浏览网页的一些事情。比如显示进度条或弹出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
- WebView控件的使用
- 控件WebView的使用
- 控件WebView的使用
- WebView控件的使用
- WebView控件的使用
- Webview控件的使用
- webview控件的使用
- android Android:控件WebView显示网页webview的使用
- Android中WebView控件的使用
- Android中WebView控件的基本使用
- Android开发---WebView控件的使用
- [android进阶]webview控件的使用
- android控件:WebView的初使用
- Android-控件WebView的基本使用
- webView控件基本使用
- 学习webView控件使用
- WebView控件使用
- WebView 控件使用Demo
- Error:Error converting bytecode to dex:
- Linux I2C core
- php 设计模式之工厂模式
- Linux文件类型、属性
- 清园 沉没的Atlantis redis.conf配置详细解析
- WebView控件的使用
- android WebView 和 Html 的相互调用
- spring整合activemq步骤
- CentOS7安装MySQL数据库
- Android View事件分发机制
- 脚本实现自动建立swap分区
- Android 平台下使用 i2c-tools
- Neo4j安装
- 算法--快速排序