AutoRequest.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.mylove.okhttp;
  2. import android.annotation.SuppressLint;
  3. import android.content.Context;
  4. import com.mylove.okhttp.listener.OnOkHttpListener;
  5. import java.util.Map;
  6. /**
  7. * @author myLove
  8. */
  9. public class AutoRequest {
  10. @SuppressLint("StaticFieldLeak")
  11. private static AutoRequest instance;
  12. private static String url;
  13. @SuppressLint("StaticFieldLeak")
  14. private static Context mContext;
  15. private static RequestType requestType;
  16. public static AutoRequest getInstance(Context context, String str, RequestType type) {
  17. if (instance == null) {
  18. synchronized (AutoRequest.class) {
  19. if (instance == null) {
  20. instance = new AutoRequest();
  21. }
  22. }
  23. }
  24. mContext = context;
  25. url = str;
  26. requestType = type;
  27. return instance;
  28. }
  29. public void sync(Map<Object, Object> oMap, OnOkHttpListener OnOkHttpListener) {
  30. ObservableRequest.getInstance(mContext, requestType, CallType.SYNC).request(url, oMap, OnOkHttpListener);
  31. }
  32. public <T> void sync(Map<Object, Object> oMap, Class<T> tClass, OnOkHttpListener OnOkHttpListener) {
  33. ObservableRequests request = ObservableRequests.getInstance(mContext, requestType, CallType.SYNC);
  34. request.tClass = tClass;
  35. request.request(url, oMap, OnOkHttpListener);
  36. }
  37. public void async(Map<Object, Object> oMap, OnOkHttpListener OnOkHttpListener) {
  38. ObservableRequest.getInstance(mContext, requestType, CallType.ASYNC).request(url, oMap, OnOkHttpListener);
  39. }
  40. public <T> void async(Map<Object, Object> oMap, Class<T> tClass, OnOkHttpListener OnOkHttpListener) {
  41. ObservableRequests request = ObservableRequests.getInstance(mContext, requestType, CallType.ASYNC);
  42. request.tClass = tClass;
  43. request.request(url, oMap, OnOkHttpListener);
  44. }
  45. }