I am using this AsyncTask class to update two different tables on SQL Server. So far this code works fine, I'm interested in a better and more sufficient code structure for this class, specially in doinbackground().Is it okay to call multiple webservice methods in a single thread? Any other feedback?    private class Update extends AsyncTask<Void, Void, Integer> {    private final int FAILED_INVALID_RESPONSE = 0;    private final int SUCCESS_GET_DATA = 1;    ProgressDialog progress;    private String _phoneno;    private String _ticket;    UpdateTicket(String phoneno,String ticket){        _phoneno=phoneno;        _ticket=ticket;    }     @Override     protected void onPreExecute() {         super.onPreExecute();         progress = ProgressDialog.show(XYZ.this, ,                In Progress..., false);     }     @Override     protected Integer doInBackground(Void... params) {        method1(_phoneno);        return  method2(_phoneno,_ticket);    }     @Override     protected void onPostExecute(Integer result) {        progress.dismiss();        switch (result) {            case FAILED_INVALID_RESPONSE:                Toast.makeText(XYZ.this,Please Check your Internet Connection.,Toast.LENGTH_SHORT).show();                break;             case SUCCESS_GET_DATA:                Toast.makeText(XYZ.this, Success!, Toast.LENGTH_SHORT).show();                break;         }     }     int  method1(String phoneno,String tickets)    {         final  String methodname = firstmethod;        final  String NAMESPACE =http://tempuri.org/;        final  String URL=www.sampleurl.com;        final  String SOAP_ACTION=http://tempuri.org/firstmethod;        int success=0;        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();        StrictMode.setThreadPolicy(policy);        SoapObject request = new SoapObject(NAMESPACE, methodname);        SoapSerializationEnvelope envelope = new  SoapSerializationEnvelope(SoapEnvelope.VER11);        envelope.dotNet = true;        request.addProperty(phoneno, phoneno);        request.addProperty(tickets, tickets);        envelope.setOutputSoapObject(request);        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);        try{             androidHttpTransport.call(SOAP_ACTION,envelope);            SoapObject response = (SoapObject) envelope.bodyIn;        if(response!=null){            success=1;        }         }         catch (Exception e)        {             e.printStackTrace();        }         return success;    }     int  method2(String Phone) {        final  String methodname = secondmethod;        final  String NAMESPACE =http://tempuri.org/;        final  String URL=www.sampleurl.com;        final  String SOAP_ACTION=http://tempuri.org/secondmethod;        int success=0;        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();        StrictMode.setThreadPolicy(policy);        SoapObject request = new SoapObject(NAMESPACE, methodname);        SoapSerializationEnvelope envelope = new  SoapSerializationEnvelope(SoapEnvelope.VER11);        envelope.dotNet = true;        request.addProperty(phoneno, phoneno);        envelope.setOutputSoapObject(request);        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);        try{             androidHttpTransport.call(SOAP_ACTION,envelope);            SoapObject response = (SoapObject) envelope.bodyIn;        if(response!=null){            success=1;        }         }         catch (Exception e)        {             e.printStackTrace();        }         return success;    } } 
Async Task with multiple requests in android
java;android