package com.yeshi.base.utils.http; import android.annotation.SuppressLint; import android.util.Log; import com.lcjian.library.util.security.DEScrypt; import com.loopj.android.http.TextHttpResponseHandler; import org.apache.http.Header; import org.json.JSONObject; public abstract class BasicTextHttpResponseHandler extends TextHttpResponseHandler { private static final String TAG = "BasicTextHttpResponseHandler"; public abstract void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception; @SuppressLint("LongLogTag") @Override public void onSuccess(int statusCode, Header[] headers, String responseString) { try { responseString = DEScrypt.decode(responseString); Log.v(TAG, "onSuccess statusCode:" + statusCode + System.getProperty("line.separator") + "headers:" + headers.toString() + System.getProperty("line.separator") + "responseString:" + responseString + System.getProperty("line.separator")); JSONObject jsonObject = new JSONObject(responseString); if (jsonObject.getBoolean("IsPost")) { Log.i(TAG, "onSuccess 处理成功"); } else { Log.i(TAG, "onSuccess 处理失败:" + jsonObject.getString("Error")); } onSuccessPerfect(statusCode, headers, jsonObject); } catch (Exception e) { e.printStackTrace(); } } @SuppressLint("LongLogTag") @Override public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) { responseString = DEScrypt.decode(responseString); Log.i(TAG, "onFailure statusCode:" + statusCode + System.getProperty("line.separator") + "headers:" + toHeadersString(headers) + System.getProperty("line.separator") + "responseString:" + responseString + System.getProperty("line.separator") + "throwable:" + throwable.getMessage()); } private String toHeadersString(Header[] headers) { StringBuilder builder = new StringBuilder(); if (headers != null) { for (Header header : headers) { builder.append(header.toString() + ";"); } } return builder.toString(); } }