SyncUrils.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package com.easemob.easeui.interUtil;
  2. import android.os.AsyncTask;
  3. import org.apache.http.message.BasicNameValuePair;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.Map.Entry;
  8. import java.util.Set;
  9. /*
  10. * 异步线程工具类
  11. */
  12. public class SyncUrils extends AsyncTask<Object, Void, String> {
  13. private String url;
  14. private List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
  15. private Map<String,String> mapParm;
  16. private String http_request_tag = GET;
  17. public static final String POST = "POST";
  18. public static final String GET = "GET";
  19. private OnResponseListener onResponseListener;
  20. public void setOnResponseListener(OnResponseListener onResponseListener) {
  21. this.onResponseListener = onResponseListener;
  22. }
  23. public SyncUrils(String url,Map<String,String> mapParm,String request_ype){
  24. this.mapParm = mapParm;
  25. this.url = url;
  26. this.http_request_tag = request_ype;
  27. }
  28. @Override
  29. protected String doInBackground(Object... arg0) {//用于判断后台耗时操作
  30. String result = null;
  31. params.clear();
  32. if(this.url == null || this.params == null){
  33. return result;
  34. }
  35. Set<Entry<String, String>> entrySet = mapParm.entrySet();//把map集合转换为set
  36. for(Entry<String, String> entryset : entrySet ){//把key和value值添加到
  37. String key = entryset.getKey();
  38. String value = entryset.getValue();
  39. BasicNameValuePair bName = new BasicNameValuePair(key, value);
  40. params.add(bName);
  41. }
  42. if(http_request_tag.equals("GET")){
  43. result = HttpClientUtils.get(url, params);
  44. }else if(http_request_tag.equals("POST")){
  45. result = HttpClientUtils.post(url, params);
  46. }
  47. return result;
  48. }
  49. @Override
  50. protected void onPostExecute(String result) {//后台任务执行完以后调用
  51. if(this.onResponseListener != null){
  52. if(result != null){
  53. this.onResponseListener.sussce(result);
  54. }else{
  55. this.onResponseListener.error(result);
  56. }
  57. }
  58. }
  59. public interface OnResponseListener {
  60. public void sussce(Object obj);
  61. public void error(Object... obj);
  62. }
  63. }