title: How do I return a boolean from AsyncTask?
body: <p>I have some EditTexts that a user enters an ftp address, username, password, port anda testConnection button. If a connection is successfully estabished it returns a boolean value of true. </p>
  
  <pre><code>boolean status = ftpConnect(_address, _username, _password,_port);
                  ftpDisconnect();
  
                  if (status == true) {
                   Toast.makeText(SiteManager.this, "Connection Succesful",
                   Toast.LENGTH_LONG).show();
                   } else {
                   Toast.makeText(SiteManager.this,
                   "Connection Failed:" + status, Toast.LENGTH_LONG).show();
  
                   } 
  </code></pre>
  
  <p>I'm reworking my code to use AsyncTasks to perform the various ftp operations, but how can I pass back a boolean value if a connection is successfully made?</p>
  
  <pre><code>testConnection.setOnClickListener(new OnClickListener() {
  
              @Override
              public void onClick(View v) {
                  _name = etSitename.getText().toString();
                  _address = etAddress.getText().toString();
                  _username = etUsername.getText().toString();
                  _password = etPassword.getText().toString();
                  _port = Integer.parseInt(etPort.getText().toString());
  
                  AsyncConnectTask task = new AsyncConnectTask(SiteManager.this,
                          _address, _username, _password, _port);
                  task.execute();
                  // boolean status = ftpConnect(_address, _username, _password,
                  // _port);
                  // ftpDisconnect();
  
                  // if (status == true) {
                  // Toast.makeText(SiteManager.this, "Connection Succesful",
                  // Toast.LENGTH_LONG).show();
                  // savesite.setVisibility(0);
                  // } else {
                  // Toast.makeText(SiteManager.this,
                  // "Connection Failed:" + status, Toast.LENGTH_LONG)
                  // .show();
  
                  // }
              }
          });
  </code></pre>
  
  <p>And my AsyncTask</p>
  
  <pre><code>public class AsyncConnectTask extends AsyncTask&lt;Void, Void, Void&gt; {
      private Context mContext;
      private FTPHelper ftpHelper = new FTPHelper();
      private String _address;
      private String _user;
      private String _pass;
      private int _port;
      ProgressDialog progressDialog;
  
      public AsyncConnectTask(Context context, String address, String user,
              String pass, int port) {
          mContext = context;
          _address = address;
          _user = user;
          _pass = pass;
          _port = port;
      }
  
      // declare other objects as per your need
      @Override
      protected void onPreExecute() {
          progressDialog = ProgressDialog.show(mContext, "Please wait for ",
                  "Process Description Text", true);
  
          // do initialization of required objects objects here
      };
  
      @Override
      protected Void doInBackground(Void... params) {
  
          boolean status = ftpHelper.ftpConnect(_address, _user, _pass, _port);
          return null;
      }
  
      @Override
      protected void onPostExecute(Void result) {
          super.onPostExecute(result);
          progressDialog.dismiss();
      };
  }
  </code></pre>