- 浏览: 2195496 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1240)
- mac/IOS (287)
- flutter (1)
- J2EE (115)
- android基础知识 (582)
- android中级知识 (55)
- android组件(Widget)开发 (18)
- android 错误 (21)
- javascript (18)
- linux (70)
- 树莓派 (18)
- gwt/gxt (1)
- 工具(IDE)/包(jar) (18)
- web前端 (17)
- java 算法 (8)
- 其它 (5)
- chrome (7)
- 数据库 (8)
- 经济/金融 (0)
- english (2)
- HTML5 (7)
- 网络安全 (14)
- 设计欣赏/设计窗 (8)
- 汇编/C (8)
- 工具类 (4)
- 游戏 (5)
- 开发频道 (5)
- Android OpenGL (1)
- 科学 (4)
- 运维 (0)
- 好东西 (6)
- 美食 (1)
最新评论
-
liangzai_cool:
请教一下,文中,shell、C、Python三种方式控制led ...
树莓派 - MAX7219 -
jiazimo:
...
Kafka源码分析-序列5 -Producer -RecordAccumulator队列分析 -
hp321:
Windows该命令是不是需要安装什么软件才可以?我试过不行( ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
hp321:
Chenzh_758 写道其实直接用一下代码就可以解决了:JP ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
huanghonhpeng:
大哥你真强什么都会,研究研究。。。。小弟在这里学到了很多知识。 ...
android 浏览器
WebView中支持超时处理,然后就开始翻api,非常奇怪的是Google竟然没有超时的这项设置。随后又Google到处查阅有没有现成的例子,结果还是一无所获。好吧,还是自己动手写个吧,先直接上代码。
其中要注意的是onPageFinished的两点,第一点,官方是这样解释的:
Notify the host application that a page has finished loading. This method is called only for main frame. When onPageFinished() is called, the rendering picture may not be updated yet. To get the notification for the new Picture, use onNewPicture(WebView, Picture).
也就是说,程序只认为DOM加载完成就完成了,正在加载的图片不在这个范围之内。
package com.iaiai.activity; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.graphics.Bitmap; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.Window; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; public class IaiaiActivity extends Activity { private long timeout = 5000; private WebView mWebView; private Handler mHandler = new Handler(); private Timer timer; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); mWebView = (WebView) findViewById(R.id.webview); WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setAllowFileAccess(true); mWebView.setWebViewClient(new WebViewClient() { /* * 创建一个WebViewClient,重写onPageStarted和onPageFinished * * * onPageStarted中启动一个计时器,到达设置时间后利用handle发送消息给activity执行超时后的动作. * */ @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { Log.d("testTimeout", "onPageStarted..........."); // TODO Auto-generated method stub super.onPageStarted(view, url, favicon); timer = new Timer(); TimerTask tt = new TimerTask() { @Override public void run() { /* * 超时后,首先判断页面加载进度,超时并且进度小于100,就执行超时后的动作 */ if (TestJsActivity.this.mWebView.getProgress() < 100) { Message msg = new Message(); msg.what = 1; mHandler.sendMessage(msg); timer.cancel(); timer.purge(); } } }; timer.schedule(tt, timeout, 1); } /** * onPageFinished指页面加载完成,完成后取消计时器 */ @Override public void onPageFinished(WebView view, String url) { // TODO Auto-generated method stub super.onPageFinished(view, url); timer.cancel(); timer.purge(); } }); mWebView.loadUrl("http://iaiai.iteye.com"); } }
其中要注意的是onPageFinished的两点,第一点,官方是这样解释的:
Notify the host application that a page has finished loading. This method is called only for main frame. When onPageFinished() is called, the rendering picture may not be updated yet. To get the notification for the new Picture, use onNewPicture(WebView, Picture).
也就是说,程序只认为DOM加载完成就完成了,正在加载的图片不在这个范围之内。
发表评论
-
带你深入理解 FLUTTER 中的字体“冷”知识
2020-08-10 23:40 626本篇将带你深入理解 Flutter 开发过程中关于字体和文 ... -
Flutter -自定义日历组件
2020-03-01 17:56 1099颜色文件和屏幕适配的文件 可以自己给定 import ... -
Dart高级(一)——泛型与Json To Bean
2020-02-23 19:13 989从 Flutter 发布到现在, 越来越多人开始尝试使用 Da ... -
flutter loading、Progress进度条
2020-02-21 17:03 1166Flutter Progress 1 条形无固定值进度条 ... -
Flutter使用Https加载图片
2020-02-21 01:39 1003Flutter使用Https加载图片 使用http加载图片出 ... -
flutter shared_preferences 异步变同步
2020-02-21 00:55 838前言 引用 在开发原生iOS或Native应用时,一般有判断上 ... -
Flutter TextField边框颜色
2020-02-19 21:31 924监听要销毁 myController.dispose(); T ... -
flutter Future的正确用法
2020-02-18 21:55 799在flutter中经常会用到异步任务,dart中异步任务异步处 ... -
记一次Flutter简单粗暴处理HTTPS证书检验方法
2020-02-18 14:13 948最近在做Flutter项目到了遇到一个无解的事情,当使用Ima ... -
flutter 获取屏幕宽度高度 通知栏高度等屏幕信息
2019-07-27 08:39 1326##MediaQuery MediaQuery.of(con ... -
关于flutter RefreshIndicator扩展listview下拉刷新的问题
2019-07-10 19:40 1110当条目过少时listview某些嵌套情况下可能不会滚动(条目 ... -
flutter listview 改变状态的时候一直无限添加
2019-07-10 16:01 773setstate的时候会一直无限的调用listview.bui ... -
Flutter Android端启动白屏问题的解决
2019-07-09 00:51 1505问题描述 Flutter 应用在 Android 端上启动时 ... -
Flutter中SnackBar使用
2019-07-08 23:43 765底部弹出,然后在指定时间后消失。 注意: build(Bui ... -
Flutter 之点击空白区域收起键盘
2019-07-08 18:43 1780点击空白处取消TextField焦点这个需求是非常简单的,在学 ... -
Flutter 弹窗 Dialog ,AlertDialog,IOS风格
2019-07-08 18:04 1369import 'package:flutter/mate ... -
flutter ---TextField 之 输入类型、长度限制
2019-07-08 14:30 2313TextField想要实现输入类型、长度限制需要先引入impo ... -
【flutter 溢出BUG】键盘上显示bottom overflowed by 104 PIXELS
2019-07-08 11:13 1542一开始直接使用Scaffold布局,body:new Colu ... -
解决Flutter项目卡在Initializing gradle...界面的问题
2019-07-07 12:53 864Flutter最近很火,我抽出了一点时间对Flutter进行了 ... -
关于android O 上 NotificationChannel 的一些注意事项
2019-07-04 11:47 931最近在适配android O,遇到个问题,应用中原本有设置界面 ...
相关推荐
当WebView加载完成时,我们希望头部(即SwipeRefreshLayout)消失。为此,我们需要监听WebView的页面加载状态。可以重写WebViewClient的`onPageFinished()`方法: ```java webview.setWebViewClient(new ...
在Android应用开发中,WebView是一个重要的组件,它允许开发者在应用程序内部展示网页内容。然而,在实际使用中,可能会遇到各种连接问题,比如如何控制网页链接的打开方式,是留在WebView内部还是跳转到系统浏览器...
另外,可以借助如`Android-Universal-Image-Loader`或`Volley`库处理网络请求。 4. **打开Word文档**: Android原生并不支持直接打开Word文档,但可以借助第三方库如`Apache POI`或者`Google Docs API`。更常见的...
在Android开发中,WebView...总的来说,处理WebView中的网络错误需要对Android网络请求机制有深入理解,同时考虑不同系统版本的兼容性。通过监听错误回调,我们可以优雅地处理各种异常情况,为用户提供良好的使用体验。
网页链接在Android App中打开一片空白,没有任何提示 问题原因 试了很多方法,最后发现是Https的证书有问题,由于网页链接是客户提供的,不知道证书是如何生成的,导致不被Android系统信任 问题的发现之旅 网页...
处理网络错误,如404或超时,提供友好的提示。 4. WebView的安全性:确保加载的网页是安全的,避免跨站脚本攻击(XSS)和其他网络安全问题。 总的来说,这个项目涵盖了Android UI设计、网络请求、图片加载优化和Web...
4. **处理重定向和错误**:注册WebViewClient并覆盖其shouldOverrideUrlLoading()和onReceivedError()方法,以便处理网页重定向和加载错误。 示例代码: ```java WebView webView = findViewById(R.id.web_view); ...
在Android开发中,为了提升用户体验,我们经常需要在加载网页内容时显示进度条,尤其是在使用WebView加载H5页面时。...记得在实际项目中,还要考虑网络错误处理、页面加载超时等问题,以提供更加完善的用户体验。
LLQ浏览器很可能通过WebView加载网页,并利用WebView提供的API实现诸如前进、后退、刷新、阻止弹窗等操作。开发者可以通过自定义WebViewClient和WebChromeClient,进一步控制网页的加载过程和用户交互行为。 2. ...
10. **异常处理**:考虑到网络环境的不稳定性,应适当地处理网络错误,如超时、无网络连接等,并向用户提供相应的错误信息。 11. **性能优化**:对于大型网页,考虑使用WebView的预加载和缓存策略,减少加载时间,...
9. **异常处理**:应用应该能够优雅地处理网络错误,如连接失败、超时等。可以使用`WebViewClient`的`onReceivedError()`方法来捕获并处理这些错误。 10. **性能优化**:由于`WebView`可能会消耗大量内存,因此需要...
为了确保良好的用户体验,需要处理网络异常,如网络连接失败、加载超时等。同时,检测网络状态并适时提醒用户。 通过对"android仿UCWEB界面源码.rar"的分析和学习,开发者可以掌握以上各项技术,从而构建一个功能...
- WebChromeClient:在WebView中,WebChromeClient是用来处理JavaScript中的警告、确认对话框以及获取网页加载进度等高级功能的类。选项C正确。 2. XML解析方法: - DOM解析:DOM解析方式会将整个XML文件加载到...
1. **WebView组件**:在Android中,`WebView`是用于展示网页内容的关键组件。它允许在应用内加载和显示HTML、CSS和JavaScript内容。开发者可以通过设置`WebViewClient`和`WebChromeClient`来控制页面加载行为和处理...
* WebView中可以用来处理JavaScript警示、确认等对话框的类是WebChromeClient。 * WebView可以使用loadUrl()方法加载HTML页面,需要传入正确的文件路径。 二、XML解析相关知识点 * Android中解析XML文件可以使用...
- **WebViewClient**:主要用于处理与WebView加载相关的事件,如页面开始加载、加载完成、加载失败等。 - **WebChromeClient**:用于处理JavaScript的对话框、网站图标、进度变化等。特别是处理JavaScript发起的...
1. **Android WebView组件**:WebView是Android系统提供的一种可以加载网页的组件,它允许我们在Android应用中嵌入网页内容。通过WebView,我们可以直接展示来自Web服务器的数据,如HTML、CSS和JavaScript。 2. **...
7. **异常处理**:在实现过程中,必须考虑到可能出现的异常情况,如网络连接失败、超时、数据解析错误等。通过try-catch语句捕获并处理这些异常,提供良好的用户体验。 8. **安全实践**:为了保护用户隐私,避免...
1. 在 WebView 中,可以用来处理 js 中警示、确认等对话框的是 WebChromeClient。 XML 解析 2. Android 解析 XML 的方法中,将整个文件加载到存中进展解析的是 DOM。 权限管理 3. 属于调用摄像头硬件的权限的是 ...
可能涉及到网络权限的声明(`<uses-permission android:name="android.permission.INTERNET"/>`),线程管理(通常在子线程中执行网络操作),以及错误处理。 至于"web"部分,可能是展示从服务器加载的网页,这可能...