第一步:
在项目中的assets目录中新建text.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function showInfo(content){
document.getElementById("countent").innerHTML=
"这是我的javascript调用. 这是:"+content;
}
</script>
</head>
<body>
<h1>测试</h1><br>
<!--
demo.startPhone(456)是调用android中的方法
demo对应android代码webView.addJavascriptInterface(new JavaObject(), "demo");中的demo
startPhone对应android代码中类JavaObject的startPhone()的方法
-->
<input type="button" onclick="javascript:demo.startPhone(456)" value="显示数据">
<p id="countent">html原始数据</p>
</body>
</html>
第二步:
写MainActivity.java类
package com.su.webkit.activity;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
public class MainActivity extends Activity {
private WebView webView;
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView)findViewById(R.id.web);
//设置javascript和android的能交互
WebSettings setting=webView.getSettings();
setting.setJavaScriptEnabled(true);
//设置给javascript调用android的方法
webView.addJavascriptInterface(new JavaObject(), "demo");
//加载html
webView.loadUrl("file:///android_asset/text.html");
}
//调用javascript里的方法showInfo();
public void showJavascript(View view){
webView.loadUrl("javascript:showInfo('activity传过来的数据')");
}
class JavaObject{
/*
在javascript调用的方法
*/
public void startPhone(String num){
System.out.println("ad");
Toast.makeText(MainActivity.this,num, Toast.LENGTH_LONG);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
第三步:
运行项目
相关推荐
利用Qt中的WebKit与网页中的javascript进行交互; Demo中实现用javascript代码调用Qt中的函数,用Qt中的代码调用javascript中的函数; 测试网页:myjstest.html
qt webkit web native communicate
android_webkit android_webkit android_webkit android_webkit android_webkit android_webkit android_webkit android_webkit android_webkit
基于Webkit的新手级浏览器源码是一个简易web浏览器,基于安卓Webkit开发的。
关于 Android Webkit的一些原理性应用
Webkit,Android Brower的主要类图和时序图
android4.0.1 webkit 系列文章所有图。
WebKit是一个开源的浏览器网页排版引擎,...引擎框架采用了WebKit项目中的WebCore和JSCore部分,上层由Java语言封装,并且作为API提供给Android应用开发者,而底层使用WebKit核心库(WebCore和JSCore)进行网页排版。
android跟js交互demo基于webkit的demo,
Android WebKit HTML主资源加载过程
Android 的 webview 是基于 webkit 内核的,webview 中集成了js与java互调的接口函数,通过addJavascriptInterface方法
Android 2.3 WebKit流程分析图
关于android的webkit的介绍,包括各个类之间的关系,写的非常不错,希望大家参考
Android 浏览器(基于WebKit)的源代码
Android4.1 WebKit流程分析图包括 详细的网络请求流程,下载流程,代理流程
Android ICS webkit移植分析
A JavaScript implementation of the TUIO protocol for multitouch and tangible interaction for NodeWebkit (nw).
请先查看博客http://blog.csdn.net/longsir_area/article/details/42965565 再确定是否下载
WebKit for Android,一个文档将的是WebKit的框架
这个demo主要实现了OC页面传值到js页面,并修改html 页面的值,同时实现了html 页面的数据传递到 OC页面,很经典的哦