android和js交互数据格式
来源:互联网 发布:linux下touch命令 编辑:程序博客网 时间:2024/04/28 00:01
public class JsHead { protected int msgId; protected String url; public int getMsgId() { return msgId; } public void setMsgId(int msgId) { this.msgId = msgId; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } @Override public String toString() { String string = new Gson().toJson(this); return string; }}public class JsData extends JsHead { private String data; public String getData() { return data; } public void setData(String data) { this.data = data; } @Override public String toString() { String string = new Gson().toJson(this); return string; }}
public class GaEvent { private String category; private String action; private String label; private long value; public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public String getAction() { return action; } public void setAction(String action) { this.action = action; } public String getLabel() { return label; } public void setLabel(String label) { this.label = label; } public long getValue() { return value; } public void setValue(long value) { this.value = value; } @Override public String toString() { String string = new Gson().toJson(this); return string; }
@JavascriptInterface public void jsCallAndroid(String string) { Log.i("JsInterface", "string:" + string); Tracker tracker = null; if (mBaseFragment != null) { tracker = mBaseFragment.getmTracker(); } else if (mLifeActivity != null) { tracker = mLifeActivity.getmTracker(); } JSONObject jsonObj = null; int msgId = -1; String url = null; String data = ""; try { jsonObj = new JSONObject(string); msgId = jsonObj.optInt("msgId"); url = jsonObj.optString("url"); data = jsonObj.optString("data"); } catch (JSONException e) { e.printStackTrace(); } switch(msgId) { case 1: if(!TextUtils.isEmpty(data)){ String category = null; String action = null; String label = null; long value = 0;// Gson gson = new Gson();// GaEvent gaEvent = gson.fromJson(data, GaEvent.class);// Log.i("JsInterface", "gaEvent:" + gaEvent);// if (gaEvent != null) {// category = gaEvent.getCategory();// action = gaEvent.getAction();// label = gaEvent.getLabel();// } try { jsonObj = new JSONObject(data); category = jsonObj.optString("category"); action = jsonObj.optString("action"); label = jsonObj.optString("label"); } catch (JSONException e) { e.printStackTrace(); } HitBuilders.EventBuilder eventBuilder = new HitBuilders.EventBuilder(); if(!TextUtils.isEmpty(category)){ eventBuilder.setCategory(category); } if(!TextUtils.isEmpty(action)){ eventBuilder.setAction(action); } if(!TextUtils.isEmpty(label)){ eventBuilder.setLabel(label); } tracker.send(eventBuilder.build()); } break; } }
阅读全文
0 0
- android和js交互数据格式
- js和servlet之间用json的数据格式进行交互
- Android和JS交互
- Android和Js交互
- Android和JS交互
- android和js交互
- Android和js交互
- android webview 和 js交互
- Android WebView和JS交互
- webview 和android js 交互
- android webview 和 js交互
- Android WebView和JS交互
- android js和webview交互
- Android和js进行交互
- android和js交互实例
- android java和js交互
- Android webView和js交互
- Android Webview和js交互
- 使用Filter处理web中的表单提交过程中的中文问题
- Java 线程 50个Java多线程面试题
- FCC----------- Binary Agents
- pyCharm第三方库安装
- json与bean,beanlist互转
- android和js交互数据格式
- HDU3849[By Recognizing These Guys, We Find Social Networks Useful ] tarjan求无向图的桥
- noip2015跳石头
- Java8源码-TreeMap
- javaScript中var、let、const的区别
- 对于大流量网站的流量优化
- Java 操作xml文件的dom4J库使用
- PCI 设备解析(一)
- centos安装jdk