缘起 前端开发离不开Chrome的开发者工具,尤其是调试Android WebView时.然而,如果使用chrome://Inspect的方法,国内的开发者会惊奇地发现“空白啊”!为此,我发布过这个离线包的解决方案!已经可以无需Fan墙就能调试了.但是,在使用过程中发现了以下问题: 频繁覆盖的问题.合并版太大,chrome直接清除.专用版只能同时调试一款手机,会把前一个版本覆盖掉. 过期问题.chrome会定时清除掉离线包,空白了又要重新覆盖. 版本问题,有的网友使用的Chrome版本和要调试的…
起因 使用HTML5开发Android应用时,少不了调试WebView.做前端的还是习惯Chrome的开发者工具,以前都是输入Chrome://inspect就可以调试WebView了,太方便了. 最近老是出现空白页面,各种搜索,最后还是Fan墙解决了.好在翻一次能用一段时间,郁闷的是当你需要调试的时候,又空白了. 而且最近不好翻了,大多数都收费了,而且是按月收费.对我来说太浪费了,一年下来也要花不少银子. 要是有离线包就好了,一劳永逸地解决这个问题! 解决方法 最后终于找到了解决方法:离线开发…
一.Android中WebView的漏洞分析最近在开发过程中遇到一个问题,就是WebView使用的时候,还是需要解决之前系统(4.2之前)导致的一个漏洞,虽然现在这个系统版本用户很少了,但是也不能忽视,关于这个漏洞,这里就不多做解释了,可能有的同学早就了解了,本来想写一篇文章详细介绍一下,但是网上的知识太多了,而且都很详细,就没弄了,这里大致简单明了的说几句:第一.漏洞产生的原因这个漏洞导致的原因主要是因为Android中WebView中的JS访问本地方法的方式存在缺陷,我们做过交互的都知道,A…
 Android中webView和网页的交互 Android中webView跟网页的交互式通过JavaScript进行的.具体步骤: 1.创建JavaScript,在点击的时候调用JavaScript中的方法 2.在Android中创建对应的Java文件,使用@JavaScriptInterface进行方法修饰,这个方法的名字要和JavaScript中保持一致 3.在WebView上注册JavaScript接口对应的类对象 js中:window.契约名.方法名(参数)参数一般转换成string型…
1.主要布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_paren…
先说为什么需要讨论这个问题. 现在很多的手机应用,都可能会直接嵌入一个web页面.这样做的好处:一个是功能更新方便,维护起来容易,只需要维护服务器的页面即可,不需要更新客户端:另一个是功能通用,不仅android可以用,ios也可以用,symbian也可以直接用. 那为什么现在很多手机应用并不做成web方式的呢?原因很多.一个是现阶段web方式展现能力相对较弱,如果对于应用的美观程度要求比较高,就无法使用web方式:一个是web方式速度相对较慢,用户体验会受一些影响:一个是现阶段流量还是相对宝贵…
package com.example.webview; import java.io.File; import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.annotation.SuppressLint;import android.app.Activity;import android.content.Intent;import android.webkit.Val…
前言 本篇博客要实现的是一个离线下载和离线阅读的功能,这是很多阅读类app都常见的一个功能,典型的应用就是网易新闻.什么是离线下载?其实这个概念是比较模糊,是离线之后下载呢,还是下载之后离线,但稍微有点脑子的人都知道没有网络之后怎么下载呢?所以离线下载这个功能是”在有网络的情况下,把资源下载到本地“,离线阅读就是”在没有网络或者网络不好的时候,阅读本地好缓存的文章资源“.这样就很清楚我们要的这两个具体的功能需求了. 实现思路 小巫这里提供两个实现思路,一个就是自己写逻辑,一个是通过WebView…
在Android的webview中定制js的alert,confirm和prompt对话框的方法 http://618119.com/archives/2010/12/20/199.html 1.首先继承android.webkit.WebChromeClient实现MyWebChromeClient. 2.在MyWebChromeClient.java中覆盖onJsAlert,onJsConfirm,onJsPrompt三个方法. 3.在初始化Webview时设置调用webview.setWe…
最近碰到个新需求需要点击webview中的图片进行放大显示. 整理了下思路,想到了下面的一个可行的方案. 方案思路, 1.在点击图片的时候调用本地的java方法并给出响应的图片地址 2.本地获得图片地址后,开启一个遮罩activity进行显示和处理 第二步的实现很容易实现,关键是第一步的实现,在网页中点击图片不会调用本地的java代码.那么我们需要给这个点击事件加上相应的js函数,让点击事件调用的js函数来调用我们提前准备好的java函数,等我们捕获到图片的url剩下的就好处理了. 关键点就是给…
android提供了封装浏览器的接口,可以让开发者利用自己的view显示网页内容.今天又实现研究了一下,利用WebView显示浏览器内容,还可以利用 WebViewClient显示自己需要的内容. 参考:http://developer.android.com/reference/android/webkit/WebView.html 效果如下: 上面两张图分别是首页的截图,当点击java时的截图.可以看到在浏览器上面已经没有地址栏了.这个是利用WebViewClient显示的内容.相关代码如下…
问题 webView调用JS出错. class TestJS {         ......         public TestJS(){         }                  public void save(String data){                         webView.loadUrl("javascript: alert(" + data +")");         }         ......     …
android 字段webview几乎实现了浏览器的全部功能,最近在使用webview加载不固定格式的文章,文章中有一部分嵌入了flash,下面就是webview可以进行视频需要进行的设置,代码如下: mWebView = (WebView) findViewById(R.id.id_webview); mWebView.loadUrl("http://abc.com/flash/kucg.swf"); // mWebView.loadDataWithBaseURL(null, //…
随笔 - 478  文章 - 3  评论 - 113 Android 中Webview 自适应屏幕   webview中右下角的缩放按钮能不能去掉 settings.setDisplayZoomControls(false); //隐藏webview缩放按钮 让Webview加载的页面居中显示有我知道的几种方法 第一种方法: WebSettings settings = webView.getSettings(); settings.setLayoutAlgorithm(LayoutAlgori…
Android UI WebView的使用: /** * @author smiling * @date 2016/10 */ 布局: <?xml version="1.0" encoding="utf-8"?><WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fi…
1.首先继承android.webkit.WebChromeClient实现MyWebChromeClient. 2.在MyWebChromeClient.java中覆盖onJsAlert,onJsConfirm,onJsPrompt三个方法. 3.在初始化Webview时设置调用webview.setWebChromeClient(new MyWebChromeClient()); 4.在Webview载入的html中使用window.alert,window.confirm,window.p…
WebView是View的一个子类,可以让你在activity中显示网页. 可以在布局文件中写入WebView:比如下面这个写了一个填满整个屏幕的WebView: <?xml version="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webvi…
使用webview最重要的三点: 1 WebView加载本地资源(webView.loadUrl("file:///android_asset/example.html");) 2 WebView加载web资源(webView.loadUrl(url);) 3 覆盖WebView默认通过第三方或者是系统浏览器打开网页的行为,使得网页可以在WebVIew中打开 mainactivity: package com.imooc.android_webview; import android.…
在日常学习.我们会看到,当手机应该检查注册协议.单击协议时,以查看内部协议的全部内容! 以下给大家看看实现的过程: 首先贴show_xy.XML代码: <WebView android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none" android:id="@+id/show_xy"/&g…
原文链接:http://developer.android.com/guide/webapps/webview.html reference:http://developer.android.com/reference/android/webkit/WebView.html 假设你想实现一个Web应用(或不过一个网页)作为你应用中的一部分,你能够使用WebView来实现它.WebView是Android的View类的扩展,它同意你显示一个网页作为Activity布局的一部分.它不包括成熟的浏览器…
文章大纲 一.webview基本介绍1.什么是webview2.为什么要使用webview3.webview基本操作 二.webview高级使用1.WebView状态2.资源加载3.WebView加载优化4.数据缓存5.Android 和 JavaScript 交互6.网页前进与后退7.内存管理8.Cookie操作9.页面监听与拦截10.定位设置11.常见问题处理 三.参考文章   webview基本介绍 1.什么是webview   WebView是Android中的原生UI控件,主要用于在a…
Android从4.4起提供基于Chromium实现的WebView.此前WebView基于WebKit实现.WebKit提供网页解析.布局和绘制以及JS执行等基础功能.Chromium在WebKit基础上为WebView提供进程.线程和渲染等基础构架.因此基于Chromium实现的WebView更好地提供了网页浏览功能. 从本文開始我们启动对Android Chromium WebView的学习. 老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注. <And…
http://www.cnblogs.com/android-blogs/p/4891264.html Html页面和Java代码结合的方式一般用在界面经常被更改 的情况下,可以讲html放在网络中,软件一打开就会访问网络获取到最新的界面.缺点是会受到网络信号的影响,从而导致访问速度慢. 1.用WebView来显示HTML代码 2.允许WebView执行JavaScript webView.getSettings().setJavaScriptEnabled(true); 3.获取到HTML文件…
在android源码中编译app通过,运行时出现错误: "android.uid.systemandroid.view.InflateException: Binary XML file line #7: Error inflating class android.webkit.WebView 原因是在AndroidManifest.xml中添加了android:sharedUserId="android.uid.system"可以共享系统权限.所以导致报错. 将这个删除之后…
Android的WebView控件载入网页显示速度慢的究极解决方案 [转载来源自http://hi.baidu.com/goldchocobo/] 秒(甚至更多)时间才会显示出来.研究了很久,搜遍了国外很多网站,也看过PhoneGap的代码,一直无解. 一般人堆WebView的加速,都是建议先用webView.getSettings().setBlockNetworkImage(true); 将图片下载阻塞,然后在浏览器的OnPageFinished事件中设置webView.getSetting…
在android的应用程序中,可以直接调用webview中的javascript代码,而webview中的javascript代码,也可以去调用ANDROID应用程序(也就是JAVA部分的代码).下面举例说明之: 1 JAVASCRIPT脚本调用android程序    要在webview中,调用addJavascriptInterface(OBJ,interfacename) 其中,obj为和javascript通信的应用程序,interfacename为提供给JAVASCRIPT调用的 名称…
使用android.webkit.WebView控件 在xml布局文件中定义 <WebView   android:id="@+id/webkit01"   android:layout:width="fill_parent"   android:layout:height="fill_parent"   android:layout:weight="1" /> 在程序中使用WebView mWebView = (…
构建WebView就可以显示Web信息.因为我觉得这里会讲述很多方式来实现WebView,所以我决定为每一种方式创建一个对应的Activity,MainActivity通过Button可以点击进入对应的Activity. 通过Intent调用系统浏览器只需要用到3行代码:Uri uri = Uri.parse(url);Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);注:url为我需要访问的网页:…
package gzdewei.com.android; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.webkit.WebView; import android.webkit.WebViewClient; public class EJgrzActivity extends Activit…
1.添加布局界面代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android…