Android中WebView和JavaScript之间传递json格式数据
在Android中WebView和JavaScript进行简单通信的基础上,实现了传递json格式数据功能,效果类似这样:
点击发起请求,得到Activity返回数据
只对MainActivity和demo.html代码进行了修改。首先声明了json格式字符串:
String jsonText = "{\"name\":\"vsp\",\"password\":\"vsp\"}";
DemoJavaScriptInterface类中,增加了方法clickOnAndroid,用来调用JavaScript中的方法,向Html页面传递数据:
final class DemoJavaScriptInterface {
DemoJavaScriptInterface() {
}/**
* This is not called on the UI thread. Post a runnable to invoke
* loadUrl on the UI thread.
*/
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
mWebView.loadUrl("javascript:wave("+jsonText+")");
}
});}
}
WebView中设置了WebChromeClient,这样就能在控制台打印JavaScript中alert等信息,用来调试JavaScript
mWebView.setWebChromeClient(new MyWebChromeClient());
MyWebChromeClient代码如下:
final class MyWebChromeClient extends WebChromeClient {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
Log.d(LOG_TAG, message);
result.confirm();
return true;
}
}
demo.html代码也很简单,就不做解释了。
http://www.w3.org/TR/html4/loose.dtd">
Insert title here
这是一个html页面
用户姓名:
源码链接见:http://bigcateasymorse.googlecode.com/svn/trunk/webviewdemo1.1/
来自:http://bigcat.easymorse.com/?p=746
更多相关文章
- mybatisplus的坑 insert标签insert into select无参数问题的解决
- python起点网月票榜字体反爬案例
- android EditText设置不可写
- android 使用html5作布局文件: webview跟javascript交互
- 《Android开发从零开始》——25.数据存储(4)
- android studio调试c/c++代码
- Android系统配置数据库注释(settings.db)
- Android中不同应用间实现SharedPreferences数据共享
- IM-A820L限制GSM,WCDMA上网的原理(其他泛泰机型可参考)7.13