/** * author : lipan * filename : ResponseHandler.java * create_time : 2014年8月22日 下午2:31:10 */ package com.sets.speedtest.utils; import org.json.JSONObject; import android.content.Context; import com.sets.speedtest.R; import com.sets.speedtest.constant.C; /** * @author : lipan * @create_time : 2014年8月22日 下午2:31:10 * @desc : 处理response * @update_person: * @update_time : * @update_desc : * */ public class ResponseParser { public static final boolean SUCCESS_CODE = true; public static final boolean FAILD_CODE = false; public Boolean success; // 是否成功 public String errorMsg; // 异常信息 public JSONObject data; // response data 节点 /** * @param success * @param errorMsg */ public ResponseParser(Context context) { success = false; // 默认为异常状态 errorMsg = context.getString(R.string.system_error); // 默认异常信息显示 } /** * 处理返回异常信息 * @param context * @param response * @return */ public static ResponseParser handler(Context context, JSONObject response) { ResponseParser handler = new ResponseParser(context); // code节点,系统响应成功 if (C.RSP_CODE_SUCCESS == response.optInt(C.RSP_CODE, C.RSP_CODE_FAILD)) { handler.data = response.optJSONObject(C.RSP_DATA); // data节点 if(null != handler.data) { // 返回成功状态码 if (C.RSP_CODE_SUCCESS == handler.data.optInt(C.RSP_ERROR_CODE, C.RSP_CODE_FAILD)) { handler.success = true; } else { handler.errorMsg = handler.data.optString(C.RSP_ERROR_DESC, // 接口返回的异常信息 context.getString(R.string.system_error)); } } } else { } return handler; } }