Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.os.AsyncTask;
- import android.os.Build;
- import com.squareup.okhttp.OkHttpClient;
- import com.squareup.okhttp.Request;
- import java.io.IOException;
- public class AbstractService extends AsyncTask<Request, Void, String> {
- private static final int ERROR_REQUEST = -1;
- private OnRequestResponse mOnRequestResponse;
- public AbstractService(Request request, OnRequestResponse onRequestResponse) {
- mOnRequestResponse = onRequestResponse;
- if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) {
- this.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, request);
- } else {
- this.execute(request);
- }
- }
- @Override
- protected String doInBackground(Request... request) {
- try {
- return new OkHttpClient()
- .newCall(request[0])
- .execute()
- .body()
- .string();
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- }
- @Override
- protected void onPostExecute(String result) {
- super.onPostExecute(result);
- if(result != null) {
- mOnRequestResponse.onSucess(result);
- } else {
- mOnRequestResponse.onFail(ERROR_REQUEST);
- }
- }
- public static interface OnRequestResponse {
- public void onSucess(String response);
- public void onFail(int error);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment