Android WebView-应用内嵌入浏览器
移动应用开发,web app、Native app的讨论已经很久了,纯粹的web app还很少,多少能见到Native + web混合的app,混合的app是在Native app中写一个浏览器加载 web,说浏览器可能有点大了,简单一点就是Native app中使用了webview。webview主要用途是用来渲染网页。由于于良好的封装,WebView屏蔽了底层webkit复杂的细节,应用程序只需要寥寥几行代码,就可以为应用程序增加HTML支持,为混合 app开发提供了强力支持。
WebView在android.webkit包下,这个包还包含、WebSettingsWebViewClient、WebChromeClient辅助类。WebViewClient是辅助WebView处理各种通知、请求事件,WebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等。WebSettings管理WebView的设置状态。该对象可以通过WebView.getSettings()方法获得。看下面的例子:
webView = (WebView) findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient() {
// Load opened URL in the application instead of standard browser
// application
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}); webView.setWebChromeClient(new WebChromeClient() {
// Set progress bar during loading
public void onProgressChanged(WebView view, int progress) {
BrowserActivity.this.setProgress(progress * 100);
}
}); // Enable some feature like Javascript and pinch zoom
WebSettings websettings = webView.getSettings();
websettings.setJavaScriptEnabled(true); // Warning! You can have XSS vulnerabilities!
websettings.setBuiltInZoomControls(true);
demo下载:http://download.csdn.net/detail/xyz_lmn/6277799
Android WebView-应用内嵌入浏览器的更多相关文章
- 探讨Android中的内置浏览器和Chrome
1.Android默认浏览器和Chrome的区别 Android出厂自带的浏览器:安卓WebKit浏览器,也成内置浏览器或者默认浏览器. 安卓WebKit不是Chrome.Chrome浏览器在它的用户 ...
- android webview 添加内置对象
package com.android.EBrowser; import android.app.Activity;import android.graphics.Rect;import androi ...
- webview和 内置浏览器的调用
http://blog.csdn.net/hudashi/article/details/8176298/ 一.启动android默认浏览器 在Android程序中我们可以通过发送隐式Intent来启 ...
- webview之如何设计一个优雅健壮的Android WebView?(上)(转)
转接:https://iluhcm.com/2017/12/10/design-an-elegant-and-powerful-android-webview-part-one/ 前言 Android ...
- 如何设计一个优雅健壮的Android WebView?(上)
转:如何设计一个优雅健壮的Android WebView?(上) 前言 Android应用层的开发有几大模块,其中WebView是最重要的模块之一.网上能够搜索到的WebView资料可谓寥寥,Gith ...
- 【整理总结】代码沉淀 - CefSharp - 比较流行的第三方内嵌浏览器组件
.NET (WPF and Windows Forms) bindings for the Chromium Embedded Framework web: https://github.com/ce ...
- 微信内置浏览器不支持 onclick 如何解决?(原因是因为内面中的内容或者标签大部分是动态生成的)
使用了很多onclick事件,但是在Android的微信内置浏览器中,onclick是不能被执行的. 开始的写法是: // $(".contentPic").click(funct ...
- android之在view中内嵌浏览器的方法
我要做的一个东西是在一个页面的中间嵌入浏览器,一开始不知道从哪里开始,因为以前用的都是Textveiw或者editVeiw之类的控件,而它们并不能用来显示网页的内容,怎么办呢? 首先想到的是:是不是有 ...
- [Android] WebView内的本地网页,使用XMLHttpRequest读取本地档案
[Android] WebView内的本地网页,使用XMLHttpRequest读取本地档案 问题情景 在Android里,可以使用WebView来呈现本地或是远程的网页内容.但是在显示本地网页时,如 ...
随机推荐
- webmagic 初始化 startRequests
在spider类中有三个方法可以初始化startRequests.可以对这些地方进行扩展. /** * create a spider with pageProcessor. * * @param p ...
- Java ActiveMQ队列模式案例
创建Eclipse项目并运行 创建java project:ActiveMQ-5.14,新建lib文件夹 打开apache-activemq-5.14.0-bin\apache-activemq-5. ...
- axios 和 vue-axios
1.main.js 全局引入 /** * 引入 axios 数据请求方式 * axios 和 VueAxios 必须同时注入 */ import axios from 'axios' import V ...
- Linux /bin, /sbin, /usr/bin, /usr/sbin 区别(转)
在linux下我们经常用到的四个应用程序的目录是:/bin./sbin./usr/bin./usr/sbin bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat.cp ...
- JDBC数据库常用操作(mysql)
JDBC英文名称:JavaDataBaseConnectivity中文名称:java数据库连接简称:JDBCJDBC是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组 ...
- java的IO操作:字节流与字符流操作
流的概念 程序中的输入输出都是以流形式,流中保存的实际上都是字节文件. 字节流与字符流 字节流的操作: 1)输入:inputStream, 2)输出:outPutStream; 字符流的操作: 1)输 ...
- datagridview 日期列排序
1.datagridview 日期列排序 private void Form1_Load(object sender, EventArgs e) { //方法1 dataGridView1.Colum ...
- CefSharp.WinForms
CefSharp.WinForms 一. 前言 银医通项目,现在另外一家医院需要上系统,所以项目需要重新搭建,由于这家医院的His系统和另外一家医院的His系统不同,界面风格也不一致,所以重新搭建, ...
- 转:Window10下RabbitMQ安装图文教程
一.erlang下载安装 1.下载 下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang.org/downloads,双 ...
- 使用 %matplotlib inline 出错?
%matplotlib inline 是一个魔法函数(Magic Functions).官方给出的定义是:IPython有一组预先定义好的所谓的魔法函数(Magic Functions),你可以通过命 ...