ppamorim

Untitled

Nov 11th, 2014
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.48 KB | None | 0 0
  1. import android.os.AsyncTask;
  2. import android.os.Build;
  3.  
  4. import com.squareup.okhttp.OkHttpClient;
  5. import com.squareup.okhttp.Request;
  6.  
  7. import java.io.IOException;
  8.  
  9. public class AbstractService extends AsyncTask<Request, Void, String> {
  10.  
  11.     private static final int ERROR_REQUEST = -1;
  12.  
  13.     private OnRequestResponse mOnRequestResponse;
  14.  
  15.     public AbstractService(Request request, OnRequestResponse onRequestResponse) {
  16.         mOnRequestResponse = onRequestResponse;
  17.  
  18.         if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) {
  19.             this.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, request);
  20.         } else {
  21.             this.execute(request);
  22.         }
  23.     }
  24.  
  25.     @Override
  26.     protected String doInBackground(Request... request) {
  27.         try {  
  28.             return new OkHttpClient()
  29.                     .newCall(request[0])
  30.                     .execute()
  31.                     .body()
  32.                     .string();
  33.         } catch (IOException e) {
  34.             e.printStackTrace();
  35.             return null;
  36.         }
  37.     }
  38.  
  39.     @Override
  40.     protected void onPostExecute(String result) {
  41.         super.onPostExecute(result);
  42.         if(result != null) {
  43.             mOnRequestResponse.onSucess(result);
  44.         } else {
  45.             mOnRequestResponse.onFail(ERROR_REQUEST);
  46.         }
  47.  
  48.     }
  49.  
  50.     public static interface OnRequestResponse {
  51.         public void onSucess(String response);
  52.         public void onFail(int error);
  53.     }
  54.  
  55. }
Advertisement
Add Comment
Please, Sign In to add comment