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;        }    }



原创粉丝点击