参考网址:http://www.cnblogs.com/tinyphp/p/3858997.html
使用webview简单启用网页资源
android studio 追加 assets目录:AS工程下默认没有assets文件夹,你要自己创建,创建方式为:依次展开工程下的app文件夹 ->src文件夹,然后选中main文件夹,右键选择New -> Folder -> Assets Folder,这样可就新建了assets文件夹了
webview参数说明
WebView wv = new WebView(content);
WebSettings ws = wv.getSettings();
设置参数明细如下:
setPluginsEnabled(true) ;//支持插件
setUserWideViewPort(false) ;//将图片调整到适合webview的大小
setSupportZoom(true) ;//支持缩放
setLayoutAlgorithm(LayoutAlgrithm.SINGLE_COLUMN) ;//支持内容从新布局
supportMultipleWindows() ;//多窗口
setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK) ;//关闭webview中缓存
setAllowFileAccess(true) ;//设置可以访问文件
setNeedInitialFocus(true) ;//当webview调用requestFocus时为webview设置节点
setjavaScriptCanOpenWindowsAutomatically(true) ;//支持通过JS打开新窗口
setLoadsImagesAutomatically(true) ;//支持自动加载图片
setBuiltInZoomControls(true);
//支持缩放
webView.setInitialScale(35);
//设置缩放比例
webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
//设置滚动条隐藏
webView.getSettings().setGeolocationEnabled(true);
//启用地理定位
webView.getSettings().setRenderPriority(RenderPriority.HIGH);
//设置渲染优先级
String dir = "/sdcard/temp";//设置定位的数据库路径
webView.getSettings().setGeolocationDatabasePath(dir);
这里是使用webview以及webview的相关设置,课根据实际情况进行设置.
WebViewClient的方法全解
doUpdateVisitedHistory(WebView view, String url ,boolean isReload)
更新历史记录
onFormResubmission(WebView view, Message dontResend, Message resend)
应用程序重新请求页面数据
onLoadResource(WebView view, String url)
在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次
onPageStarted(WebView view, String url, Bitmap favicon)
这个事件就是开始载入页面调用的,通常我们可以在这个设定一个loading的页面,告诉用户程序在等待网络相应。
onPageFinished(WebView view, String url)
在页面加载结束时调用,同样道理,我们知道一个页面载入完成,于是我们可以关闭loading条,切换程序动作。
onReceivedError(WebView view, int errorCode, String description, String failingUrl)
报告错误信息onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host,Stirng realm)
获取返回信息授权请求onScaleChanged(WebView view, float oldScale, float newScale)WebView 发生改变时调用onUnhandledKeyEvent(WebView view, KeyEvent event)key事件未被加载时调用
shouldOverrideUrlLoading
并不是每次都在onPageStarted之前开始调用的,就是说一个新的URL不是每次都经过
shouldOverrideUrlLoading的,只有在调用webview.loadURL的时候才会调用。
//设置在同一个webview中打开新的网页
webView.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } });
//设置WebChromeClientwebView.setWebChromeClient(new WebChromeClient(){//配置权限
public void onGeolocationPermissionsShowPrompt(String origin,GeolocationPermissions.Callback callback){callback.invoke(origin, true, false);
super.onGeolocationPermissionsShowPrompt(origin, callback);}
//处理javascript中的alertpublic boolean onJsAlert(WebView view, String url, String message, final JsResult result) {//构建一个Builder来显示网页中的对话框
Builder builder = new Builder(MainAcitivity.this);
builder.setTitle("提示");
builder.setMessage(message);
builder.setPositiveButton(android.R.string.ok,new AlertDialog.OnClickListener() {public void onClick(DialogInterface dialog, int which) {result.confirm();}});
builder.setCancelable(false);
builder.create();
builder.show();
return true;
@Override//设置网页加载的进度条
public void onProgressChanged(WebView view, int newProgress) {MainAcitivity.this.getWindow().setFeatureInt(Window.FEATURE_PROGRESS, newProgress * 100);
super.onProgressChanged(view, newProgress);}
//设置应用程序的标题
titlepublic void onReceivedTitle(WebView view, String title) {MainAcitivity.this.setTitle(title);
super.onReceivedTitle(view, title);}});
//判断是否联网
ConnectivityManager cm;
cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
boolean isWifiConnected=cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED;
if(!isWifiConnected){boolean isGprsConnected=cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED;
if(!isGprsConnected){new AlertDialog.Builder(this) .setTitle("提示" ) .setMessage("离线状态,启用离线模式" ) .setPositiveButton("确定" , null ) .show(); }else{result = CallWCF();}}
相关推荐
本文将深入探讨如何在Android中使用WebView显示网页,并涉及如何打包本地网页、加载Web页面、设置启用JavaScript以及使用缓存等关键知识点。 1. **使用WebView组件** Android中的WebView是Android SDK提供的一种...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容,无需跳转到外部浏览器。这个“Android webview加载网页.zip”文件可能包含了一个示例项目或者教程,帮助开发者理解...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。当涉及到用户界面交互,特别是展示包含图片的网页时,我们可能需要实现一些额外的功能,比如点击图片放大查看。本篇文章...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。这篇博文“android 使用WebView浏览网页”可能是关于如何在Android应用中集成和使用WebView来展示网页内容...
在Android应用开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容。有时,我们可能需要获取用户通过WebView浏览的网页源代码,以便进行进一步的数据分析或者实现特定功能。这篇博客...
electron做一个丐版浏览器,只有输入网址显示网页的功能,适合学习 博客:用electron做一个浏览器 博客地址:https://tinycool.blog.csdn.net/article/details/124565497
它能够解析和呈现HTML、CSS、JavaScript等Web标准格式的内容,使得Qt应用程序能够像浏览器一样显示网页。 **QtWebView的使用** 在Qt项目中,你需要包含必要的头文件并创建一个QtWebView对象。例如: ```cpp #...
在实际开发中,需要根据具体情况进行排查和优化,确保WebView能够顺利加载和显示网页内容。对于压缩包中的`webview`文件,可能是示例代码、日志文件或者问题复现步骤,这些都可以辅助我们更好地理解和解决问题。
在Android开发中,Webview是一个非常重要的组件,它允许我们加载和展示网页内容。当涉及到在Webview中播放网页视频时,这个问题可能会变得稍微复杂,因为Android原生的Webview并不总是支持所有现代HTML5视频特性。...
现在需要c#的数据与显示的网页能双向通信 WPF与WebView2之间的相互通信具有以下优点: 灵活性: 双向通信使得本地应用程序能够与网页内容无缝集成,提供丰富的交互体验。 代码复用: 网页开发者可以复用现有的Web...
在 Android 中,当 WebView 加载 HTTP 请求的网页时,如果网页中有一张图片,并且该图片的地址是 HTTPS 请求的,这时候 WebView 加载的网页,图片是不显示的。这种情况被称为“Mixed Content”(混合内容),是由于 ...
在Android开发中,`WebView` 是一个非常重要的组件,它允许开发者在应用程序内嵌入一个浏览器,用于显示网页内容。本篇文章将详细讲解如何利用 `WebView` 实现网页数据的缓存,使得在网络不稳定或者断开的情况下,...
不过,实际开发中可能还需要考虑其他因素,如网页加载进度的显示、设置自定义加载错误页面、处理JavaScript与Java之间的交互等。这些更高级的功能可以通过进一步研究WebView的相关API和特性来实现。
// 如果需要在WebView中显示网页,而不是在内置浏览器中浏览, // 则需要mWebView.setWebViewClient,并重写 // shouldOverrideUrlLoading方法。 webview.setWebViewClient(new WebViewClientDemo()); // ...
然而,在实际使用过程中,有时会遇到一个常见的问题,即WebView加载的网页在显示时会被自动放大,导致用户体验不佳。本文将详细介绍如何解决这一问题。 首先,我们要了解这个问题出现的原因。在高分辨率的设备上,...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容,而无需离开应用。WebView不仅能够加载远程HTTP/HTTPS网址,还能处理本地HTML、CSS和JavaScript资源,极大地增强了应用...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容。"WebView播放网页视频"这个主题涉及到如何在WebView中嵌入并流畅地播放网页上的视频资源,这对于提供丰富的用户体验至...
本教程将引导你快速掌握如何使用WebView加载并显示网页,整个过程只需短短三分钟。 首先,我们需要在AndroidManifest.xml文件中为我们的应用添加Internet权限,因为加载网页需要网络访问权限: ```xml ``` 接...