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>

友情链接

最新文章

  1. windows编程环境
  2. jQuery知识点总结(第六天)
  3. 转:10条建议让你创建更好的jQuery插件
  4. java正则表达式取括号里面的内容
  5. R语言的向量化编程思维
  6. 【HDOJ】4341 Gold miner
  7. 【简译】jQuery对象的奥秘:基础介绍
  8. 5 Common Interview Mistakes that Could Cost You Your Dream Job (and How to Avoid Them)--ref
  9. Ajax 获取数据代码
  10. lua学习笔记(1)-基本语法
  11. MySQL中Procedure事务编写基础笔记
  12. linux sendmail 邮件服务器架设(fedora 8)
  13. app耗电优化之二 使用电源管理来安排任务
  14. bank_card.js
  15. java----java工具类
  16. vue.js及项目实战[笔记]— 02 vue.js基础
  17. MySQL InnoDB Engine--数据预热
  18. Velocity Obstacle
  19. windows 10 自适应布局
  20. jenkins部署springboot多项目

热门文章

  1. 对当前目录下的所有APK包执行Monkey测试,并自动保存Crash日志
  2. less-3
  3. test20190903 JKlover
  4. select 与 I/O多路转接
  5. Django ContentTypes框架使用场景
  6. Wiki with Herbal Medicine
  7. jupyter Notebook 设置密码
  8. redash oracle 数据源docker 镜像
  9. jmxtrans docker-compose 运行
  10. 个人Vim配置(即vim目录下vimrc_)