webView的使用

我们通过一个小的测试程序来体会webView的简单使用,项目结构如下:

aaarticlea/png;base64,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" alt="" />

一、 webView加载页面,重写shouldOverrideUrlLoading方法,不使用系统默认的浏览器:

private WebView webView;
private EditText editText;
private String htmlUrl = "file:///android_asset/index.html"; private void initComponent() {
webView = (WebView) findViewById(R.id.webView);
editText = (EditText) findViewById(R.id.editText);
} @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initComponent(); webView.getSettings().setJavaScriptEnabled(true); // 支持javascript
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url); // 根据传入的参数再去加载新的网页
return true; // 表示当前WebView可以处理打开新网页的请求,不用借助系统浏览器
}
});
}

二、 用webView加载url资源:

// 请求url资源:
public void searchURL(View view) {
String urlStr = editText.getText().toString();
webView.loadUrl(htmlUrl);
}

三、 用webView加载数据:

// 加载html代码片断
public void loadDataMethod(View view) {
String summary = "<html><body>You scored <b>192</b> points.</body></html>";
webView.loadData(summary, "text/html", "utf-8");
}

四、 我们还可心在请求的html资源中,加入带有andoroid支持的JS代码。例如在js中使用toast,首先我们定义一个类,供在js中调用:

public class AppUseJSInterface {
Context mContext; AppUseJSInterface(Context c) {
mContext = c;
} @JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast, Toast.LENGTH_LONG).show();
}
}

接着我们在android代码中使用addJavascriptInterface方法,关联js与android:

// 请求html资源,在js中使用android
public void searchHTML(View view) {
// 给这个对象起的别名叫“huhxJS”
webView.addJavascriptInterface(new AppUseJSInterface(this), "huhxJS");
webView.loadUrl(htmlUrl);
}

最后我们在js中使用android定义的接口:

<script type="text/javascript">
function androidJS() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
huhxJS.showToast("username: " + username + ", password: " + password);
}
</script>

五、 我们还可以在andoird中调用js代码,如下:

在android调用js中的javascriptJS函数:

// 在android中调用js
public void useJSInAndroid(View view) {
String name = "I love you";
webView.loadUrl("javascript:javascriptJS('" + name + "')");
}

在js中定义javascriptJS()函数:

function javascriptJS(some) {
huhxJS.showToast(some);
}

六、 实现webView的回退功能:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// Check if the key event was the Back button and if there's history
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
} else if (keyCode == KeyEvent.KEYCODE_FORWARD && webView.canGoForward()) {
webView.goForward();
return true;
}
return super.onKeyDown(keyCode, event);
}

七、 测试加载用的页面:index.html

<html>
<head>
<script type="text/javascript">
function androidJS() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
huhxJS.showToast("username: " + username + ", password: " + password);
}
function javascriptJS(some) {
huhxJS.showToast(some);
}
</script>
</head>
<body>
<form action="#" method="get">
<font color="red">username:</font> <input type="text" id="username" name="username"><br>
<font color="red">password:</font> <input type="password" id="password" name="password"><br>
<input type="submit" value="submit">
</form>
<Button onclick="androidJS()">ClickOnMe</Button>
</body>
</html>

友情链接

android基础---->WebView的使用的更多相关文章

  1. Android中webView的基础使用(一)

    WebView是View的一个子类,可以让你在activity中显示网页. 可以在布局文件中写入WebView:比如下面这个写了一个填满整个屏幕的WebView: <?xml version=& ...

  2. Android之webview详解

    文章大纲 一.webview基本介绍1.什么是webview2.为什么要使用webview3.webview基本操作 二.webview高级使用1.WebView状态2.资源加载3.WebView加载 ...

  3. Android Chromium WebView学习启动篇

    Android从4.4起提供基于Chromium实现的WebView.此前WebView基于WebKit实现.WebKit提供网页解析.布局和绘制以及JS执行等基础功能.Chromium在WebKit ...

  4. android 之WebView

    (一)使用中遇到的问题: 1.解决webview缓存: WebSettings.LOAD_NO_CACHE   或者直接清除缓存 webView.getSettings().setCatchMode( ...

  5. Android中webView和网页的交互

     Android中webView和网页的交互 Android中webView跟网页的交互式通过JavaScript进行的.具体步骤: 1.创建JavaScript,在点击的时候调用JavaScript ...

  6. Android基础测试题(四)

    看了前两道题大家有没有发现,测试题少了(一),大家猜猜测试题(一)是什么? Android基础测试题(四): 需求: 建一个方法,格式化输出2016-11-14 10:15:26格式的当前时间,然后截 ...

  7. Android基础测试题(二)

    今天给大家带来的是Android基础测试题(二) 题目要求: 定义一个5位长度的整型数组并初始化,然后构建方法根据用户传入的数字判断是否存在数组中,如果存在,返回所在位置,如果不存在,返回-1 首先第 ...

  8. Mono.Android 基础

    Mono.Android 基础 (地址) Mono.Android项目结构是 — Project + Assets + Resources + drawable + layout + values R ...

  9. Android 显示 WebView ,加载URL 时,向webview的 header 里面传递参数

    1.主要布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:and ...

随机推荐

  1. P1197 [JSOI2008]星球大战[并查集+图论]

    题目来源:洛谷 题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系. 某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球 ...

  2. Alpha冲刺随笔八:第八天

    课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(十天冲刺) 团队名称:葫芦娃队 作业目标:在十天冲刺里对每天的任务进行总结. 随笔汇总:https://www.cnblogs ...

  3. linux下载安装常用的配置,jdk,mysql,tomcat,redis

    1.特别强调,本教程适合于VMware Workstation创建的虚拟机linux配置. 2.ssh---linux连接的工具 https://pan.baidu.com/s/1MGIr5WOkkH ...

  4. python_并发编程——数据共享

    1.数据共享 实现进程之间的数据共享 from multiprocessing import Manager,Process class MyPro(Process): def __init__(se ...

  5. 10、Python迭代器与生成器(iterator、for循环、generator、yield)

    一.迭代器(foreach) 1.可迭代的对象 内置有__iter__方法的都叫可迭代的对象. Python内置str.list.tuple.dict.set.file都是可迭代对象. x = 1._ ...

  6. linux 读取文件

    linux读取文件是经常要用到的操作,以下示例(说明看注释): #读取文件snlist.txt中的每一行内容赋给sn变量 while read sn do echo ">>> ...

  7. AtCoder Beginner Contest 125 解题报告

    那天晚上刚好有事就咕了. 最近的那一场E题还不会写.F题全场又只过了三个?留坑吧... A - Biscuit Generator #include <cstdio> using name ...

  8. 2019.12.10 定义数组及java内存划分

    //数据类型[ ] 数组名 = new 数据类型[元素个数或数组长度]; int[] x = new int[100]; //类型[] 数组名 = new 类型[]{元素,元素,……}; String ...

  9. Linux 系统管理——服务器RAID及配置实战

    RAID称为廉价磁盘冗余阵列.RAID的基本想法是把多个便宜的小磁盘组合在一起.成为一个磁盘组,使性能达到或超过一个容量巨大.价格昂贵的磁盘. 2.级别介绍 RAID 0连续以位或字节为单位分割数据, ...

  10. 缺失值处理(Missing Values)

    什么是缺失值?缺失值指数据集中某些变量的值有缺少的情况,缺失值也被称为NA(not available)值.在pandas里使用浮点值NaN(Not a Number)表示浮点数和非浮点数组中的缺失值 ...