Android项目---webView

之前用webView的时候,只知道它可以加载出html页面,竟然不知道,它也可以与js进行交互。

WebView是一个网络视图,能加载显示网页,可以将它看作一个浏览器。它使用WebKit渲染引擎加载显示网页

在Andriod中很多控件都有两种方法得到,一种是在java文件中实例化;一种是在布局文件中声明

第一种方法的步骤:
1.在要Activity中实例化WebView组件:WebView
webView = new
WebView(this);
2.调用WebView的loadUrl()方法,设置WevView要显示的网页:
 
互联网用:webView.loadUrl("http://www.google.com");
 
本地文件用:webView.loadUrl("file:///android_asset/XX.html");
本地文件存放在:assets 文件中
3.调用Activity的setContentView(
)方法来显示网页视图
4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web
page not available错误。
  <uses-permission
android:name="android.permission.INTERNET" />

第二种方法的步骤:
1、在布局文件中声明WebView
2、在Activity中实例化WebView
3、调用WebView的loadUrl(
)方法,设置WevView要显示的网页
4、为了让WebView能够响应超链接功能,调用setWebViewClient(
)方法,设置 
WebView视图
5、用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
6、需要在AndroidManifest.xml文件中添加权限,否则出现Web
page not available错误。
<uses-permission
android:name="android.permission.INTERNET"/>

---------------------------------------------------------------------------------------------

还有就是解决WebView自适应屏幕的问题

如果用html类进行解析的话不存在这个问题,但是,WebView可以让文字自适应,图片却容易溢出,使屏幕出现横向滚动条

//设置加载进来的页面自适应手机屏幕
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);

Android项目---webView,布布扣,bubuko.com

时间: 2024-10-12 04:26:00

Android项目---webView的相关文章

我的项目10:Android的webview支持HTML5的离线应用功能详细配置

因为需要,我要在andriod手机上用webview给我的HTML5项目加一个壳,但第一次将项目封装进andriod里面时,我测试输出的alert尽然是不支持HTML5 web缓存,这让我很郁闷,在网上找了了一些资料看了一下,测试了几次终于通了,因为我不是搞andriod的,所以就不详细介绍了,把代码分享给大家: MainActivity.java类: package com.example.test; import android.app.Activity; import android.co

Android的WebView通过JS调用java代码

做项目时候会遇到我们用WebView 打开一个web,希望这个web可以调用自己的一些方法,比如我们在进一个web页面,然后当我们点击web上的某个按钮时,希望能判断当前手机端是否已经登录,如果未登录,那么就会跳转到登录页面(登陆页面是另一个Activity).这个时候,一个简单的做法就是在按钮动作事件的js上调用java的方法,从而起到判断是否登录,并决定是否跳转到另一个页面. Google的WebView为我们提供了 addJavascriptInterface(Object obj, St

Android中WebView的相关使用

近期做的项目中,遇到个非常棘手的问题: 客户给我的数据是有限制的,因此,在返回某条详细页面内容的时候,他仅仅能给我一个html片段,里面包括 文字,图片以及附件的下载地址.假设网页模版规范的爱比較好说,可是他给我的数据中,不确定的因素非常多: 比方 可能没有图片,图片和文字穿插在一起,最为重要的是html便签他的嵌套层次和标签个数都是不确定的. 假设我採用解析html提取内容出来的话,预计就掉进坑里了....... 但实际情况中,打算server先将客户代码的标签属性删除,仅仅剩骨头,但结果还是

某技术大牛的帖子(android项目总结)

1. 一般性控件需要设置onclick事件才会有点击效果(selector). 2.  <item android:drawable="@drawable/btn_ct_green" />要写在selector的最后才会有点击效果. 3. 制作.9格式图片选最小图,否则默认大小撑大控件. 4. 如果将一个对象的属性设置为static,那么就算对象实例被回收了,该属性也存在内存,生命周期为app的生命周期. 5. OOM:普通视图和listvew等大数据量展示视图的图片控制分

Android中WebView的JavaScript代码和本地代码交互的三种方式

一.Android中WebView的漏洞分析 最近在开发过程中遇到一个问题,就是WebView使用的时候,还是需要解决之前系统(4.2之前)导致的一个漏洞,虽然现在这个系统版本用户很少了,但是也不能忽视,关于这个漏洞,这里就不多做解释了,可能有的同学早就了解了,本来想写一篇文章详细介绍一下,但是网上的知识太多了,而且都很详细,就没弄了,这里大致简单明了的说几句: 第一.漏洞产生的原因 这个漏洞导致的原因主要是因为Android中WebView中的JS访问本地方法的方式存在缺陷,我们做过交互的都知

Android项目实战(二十五):Android studio 混淆+打包+验证是否成功

前言: 单挑Android项目,最近即时通讯用到环信,集成sdk的时候 官方有一句 在 ProGuard 文件中加入以下 keep. -keep class com.hyphenate.** {*;} -dontwarn com.hyphenate.** 即:混淆规则. 自己没写过关于混淆打包的文章,在此补上. 下面了解Android studio环境下 项目混淆打包的操作. ------------------------------------------------------------

Android 项目的代码混淆,Android proguard 使用说明

简单介绍 Java代码是非常easy反编译的. 为了非常好的保护Java源码,我们往往会对编译好的class文件进行混淆处理. ProGuard是一个混淆代码的开源项目.它的主要作用就是混淆,当然它还能对字节码进行缩减体积.优化等,但那些对于我们来说都算是次要的功能. 官网地址:http://proguard.sourceforge.net/ 原理 Java 是一种跨平台的.解释型语言,Java 源码编译成中间"字节码"存储于 class 文件里.因为跨平台的须要,Java 字节码中包

Android使用WebView打包网页成app

原生app的开发成本和网页相比相对较高,所以越来越多的app使用网页来作为界面,甚至完全将一个网站封装成app,可以提高开发速度,还能基本实现跨平台. 下面以Android为例,在ubuntu-14.04.4-desktop-amd64环境实现一个简单的WebView封装网站成app的过程. 环境准备 开发环境需要Java SDK(官网下载),Android SDK(官网下载). Java SDK安装 wget http://download.oracle.com/otn-pub/java/jd

Android项目的目录结构

1. src毫无疑问,src目录是放置我们所有Java代码的地方,它在这里的含义和普通Java项目下的src目录是完全一样的,展开之后你将看到我们刚才创建的HelloWorldActivity文件就在里面.2. gen这个目录里的内容都是自动生成的,主要有一个R.java文件,你在项目中添加的任何资源都会在其中生成一个相应的资源id.这个文件永远不要手动去修改它.3. assets这个目录用得不多,主要可以存放一些随程序打包的文件,在你的程序运行时可以动态读取到这些文件的内容.另外,如果你的程序