package com.ladjzero.uzlee; import android.content.Context; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.PersistentCookieStore; import com.loopj.android.http.RequestParams; import com.loopj.android.http.TextHttpResponseHandler; import org.apache.http.Header; import org.apache.http.client.CookieStore; import java.io.File; import java.io.FileNotFoundException; import java.util.Map; /** * Created by chenzhuo on 16-2-11. */ public class HttpClient2 extends HttpClient { private AsyncHttpClient mAsyncHttpClient; private CookieStore mCookieStore; public HttpClient2(Context context) { mAsyncHttpClient = new AsyncHttpClient(); mCookieStore = new PersistentCookieStore(context); mAsyncHttpClient.setCookieStore(mCookieStore); } public CookieStore getCookieStore() { return mCookieStore; } @Override public void get(String url, final HttpClientCallback callback) { get(url, getCode(), callback); } public void get(String url, String code, final HttpClientCallback callback) { mAsyncHttpClient.get(url, new RequestParams(), new TextHttpResponseHandler(code) { @Override public void onFailure(int i, Header[] headers, String s, Throwable throwable) { callback.onFailure(throwable == null ? "error" : throwable.toString()); } @Override public void onSuccess(int i, Header[] headers, String s) { callback.onSuccess(s); } }); } @Override public void post(String url, Map<String, String> form, Map<String, File> files, final HttpClientCallback callback) { RequestParams params = new RequestParams(); params.setContentEncoding(getCode()); if (form != null) { for (Map.Entry<String, String> entry : form.entrySet()) { params.put(entry.getKey(), entry.getValue()); } } if (files != null) { for (Map.Entry<String, File> entry : files.entrySet()) { try { params.put(entry.getKey(), entry.getValue()); } catch (FileNotFoundException e) { e.printStackTrace(); } } } mAsyncHttpClient.post(url, params, new TextHttpResponseHandler(getCode()) { @Override public void onFailure(int i, Header[] headers, String s, Throwable throwable) { callback.onFailure(s); } @Override public void onSuccess(int i, Header[] headers, String s) { callback.onSuccess(s); } }); } }