1、添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。
在Androidmanifest.xml文件中添加 |
<uses-permission android:name= "android.permission.INTERNET" />
|
2、在要Activity中生成一个WebView组件:WebView webView = new WebView(this);
3、设置WebView基本信息:
如果访问的页面中有Javascript,则webview必须设置支持Javascript。
webview.getSettings().setJavaScriptEnabled(true);
触摸焦点起作用
requestFocus();
取消滚动条
this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);
4、设置WevView要显示的网页:
互联网用:webView.loadUrl("http://www.google.com");
本地文件用:webView.loadUrl(file:///android_asset/xx.html);固定格式
本地文件存放在:assets文件中
5、如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。
给WebView添加一个事件监听对象(WebViewClient)
并重写其中的一些方法
shouldOverrideUrlLoading:对网页中超链接按钮的响应。
当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url
onLoadResource
onPageStart
onPageFinish
onReceiveError
onReceivedHttpAuthRequest
6、如果用webview点链接看了很多页以后,如果不做任何处理,点击系统“Back”键,整个浏览器会调用finish()而结束自身,如果希望浏览的网页回退而不是退出浏览器,需要在当前Activity中处理并消费掉该Back事件。
覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法。
public boolean onKeyDown( int keyCoder,KeyEvent event ){
|
if (webView.canGoBack() && keyCoder == KeyEvent.KEYCODE_BACK){
|
webview控件返回事件 :
webView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
if ((keyCode == KeyEvent.KEYCODE_BACK)
&& webView.canGoBack()) {
webView.goBack();
return true;
}
}
return false;
}
});
String strURI = ("file:///android_asset/first/first.html"); //本地文件
// String strURI="http://www.baidu.com"; //网络文件
//String strURI="content://com.android.htmlfileprovider/sdcard/index.html"; //打开本地sd卡内的index.html文件
final WebView mWebView;
mWebView = new WebView(this);
mWebView.loadUrl(strURI);
mWebView.setWebViewClient(new WebViewClient() {
// 得到请求时的错误 提示
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
System.out.println("2222222222222222222222222222222"
+ errorCode);
}
// 打开连接前的事件
public boolean shouldOverrideUrlLoading(WebView view, String url) {
mWebView.loadUrl(strURI1);
return false;
}
});
webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);//滚动条风格
setContentView(webView);
webView.setWebViewClient(new ViewClient());
webView.getSettings().setJavaScriptEnabled(true);//js可用
webView.getSettings().setPluginsEnabled(true);//设置支持flash插件
webView.getSettings().setLoadsImagesAutomatically(true); //自动加载图片
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);//设置缓存模式
webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);//设置页面固定大小
webView.getSettings().setBuiltInZoomControls(true); //支持多点触摸
分享到:
相关推荐
在Android应用开发中,WebView是一个非常重要的组件,它允许我们加载和显示网页内容。当需要在WebView中实现图片的选择和上传功能时,这通常涉及到与HTML5的交互、Android权限管理以及服务器端的处理。本篇文章将...
【WebView2Loader.dll详解】 WebView2 是微软推出的一款现代Web技术框架,用于在桌面应用程序中嵌入Web内容。它基于Chromium项目,提供了与最新Web标准兼容的浏览器内核,使得开发者可以在桌面应用中轻松集成网页...
在移动应用开发中,Webview是一个关键组件,它允许开发者在原生应用程序内嵌入网页内容。Android系统自带的WebView是Android应用中常用的一种方式,但随着时间的推移,开发者们发现了一些限制,比如性能问题、版本...
在某些场景下,我们可能需要在小程序中嵌入网页内容,这就是Webview的功能所在。Webview是微信小程序中用于加载H5页面的一个组件,它可以让小程序具备更丰富的交互体验和功能扩展。 小程序与Webview的交互是实现...
在Android开发中,Webview是一个非常重要的组件,它允许我们加载和展示网页内容。当涉及到在Webview中播放网页视频时,这个问题可能会变得稍微复杂,因为Android原生的Webview并不总是支持所有现代HTML5视频特性。...
Android webview 内存泄露的解决方法 最近在activity嵌套webview显示大量图文发现APP内存一直在涨,没法释放内存,查了很多资料,大概是webview的一个BUG,引用了activity导致内存泄漏,所以就尝试传递...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。有时候,我们可能希望去除WebView中的标题部分,以实现更自定义化的界面设计。本篇文章将详细探讨如何在Android的...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容,无需跳转到外部浏览器。这个“Android webview加载网页.zip”文件可能包含了一个示例项目或者教程,帮助开发者理解...
本文将详细介绍如何在Android中使用`WebView`来获取网页的源码,并封装成一个自定义的`ArthurWebView`组件。 首先,我们了解`WebView`的基本用法。`WebView`继承自`View`,主要通过以下步骤进行初始化: 1. 在布局...
在Android平台上,WebView是一个至关重要的组件,它允许开发者在应用程序中嵌入网页浏览功能,而无需启动完整的浏览器应用。在给定的标题“android webview 版本69.0”中,提到的是一个特定版本的WebView,即69.0。...
WPF与WebView2之间的相互通信具有以下优点: 灵活性: 双向通信使得本地应用程序能够与网页内容无缝集成,提供丰富的交互体验。 代码复用: 网页开发者可以复用现有的Web技术栈和前端框架,同时利用WPF的强大功能...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容。通过WebView,我们可以展示HTML、CSS和JavaScript等Web技术构建的页面,同时也可以与原生应用进行交互。本文将深入探讨如何...
在Android开发中,Webview是一个非常重要的组件,它允许开发者在原生应用中嵌入网页内容,实现网页与原生应用的交互。本篇将详细讲解如何在Android Webview中实现滑动监听以及图片的放大缩小功能。 首先,我们要...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中嵌入网页内容,实现类似浏览器的功能。然而,对于大型或者资源丰富的网页,WebView的加载性能可能会成为用户体验的一个瓶颈。"Android实现...
在Android平台上,Webview是一个非常重要的组件,它允许开发者在原生应用中嵌入网页内容。这个项目"Android Webview视频播放器"是利用Webview来实现HTML5视频播放功能的示例。以下是对这个项目的详细解读: 1. **...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。当涉及到安全的网络通信时,HTTPS协议因其数据加密和身份验证特性成为首选。本文将深入探讨如何在Android...
在Android开发中,Webview是一个非常重要的组件,它允许我们加载和展示网页内容,同时还能与JavaScript进行交互。本文将详细讲解如何在Webview中显示图片以及实现图片的下载功能。 1. **Webview基本使用** 首先,...
在Android应用开发中,WebView是一个非常重要的组件,它允许开发者在应用程序内嵌入网页内容,实现类似浏览器的功能。然而,在实际使用中,由于网络问题、页面不存在或编码错误等原因,WebView可能会加载失败。这时...
Android WebView 加载网页是移动应用开发中的一项基本需求。然而,在加载 HTTPS 和 HTTP 网页时,WebView 可能会出现一些问题,本文将详细介绍这两个错误的解决方法。 错误一:加载 HTTPS 请求的网页时,WebView ...
X5WebView是腾讯QQ浏览器团队开源的一个高性能、跨平台的WebView组件,它基于Chromium内核,为Android开发者提供了更强大的网页渲染和交互能力。在"Android 基于x5Webview 浏览文件 office文档"的场景中,我们将探讨...