title: FTP connection drivehq
body: <p>I created an Android app which has an FTP connection, however when I start the app it says "unfortunately your app must stopped", and I can't find the problem.<br>
  I tried to enter local passive mode however it didn't help me, I also tried to run the app on my phone however it gave me the same message.</p>
  
  <pre><code>import java.io.IOException;
  import org.apache.commons.net.ftp.FTPClient;
  import android.util.Log;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.os.AsyncTask;
  import android.os.Bundle;
  import android.app.Activity;
  import android.content.Intent;
  import android.view.Menu;
  import android.widget.Button;
  import android.widget.TextView;
  
  
  public class MainActivity extends Activity implements OnClickListener {
      Button scan;
      String contents;
      String format;
      TextView contentstext;
      TextView formattext;
      FTPClient  ftpclient;
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          //----------------------FTP-------------
          new FtpTask().execute();
          //ftpclient.enterLocalPassiveMode();
          try {
          ftpclient.changeToParentDirectory();
      } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }
  
  
  
  
          scan=(Button)findViewById(R.id.scanbutton);
          contentstext=(TextView)findViewById(R.id.contentstext);
          formattext=(TextView)findViewById(R.id.formattext);
          scan.setOnClickListener(this);
  
      }
  
      private class FtpTask extends AsyncTask&lt;Void, Void, FTPClient&gt; {
          protected FTPClient doInBackground(Void... args) {
              FTPClient  ftp = new FTPClient ();
              try {
                  ftp.connect("ftp.drivehq.com");
                  ftp.login("zule","****");
              } catch (IOException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
             return ftp;
          }
  
          protected void onPostExecute(FTPClient result) {
              Log.v("FTPTask","FTP connection complete");
              ftpclient = result;
          }
  
      }
  </code></pre>
  
  <p>here is the logcat:</p>
  
  <pre><code>09-17 12:11:30.319: E/AndroidRuntime(1113): FATAL EXCEPTION: main
  09-17 12:11:30.319: E/AndroidRuntime(1113): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.market/com.example.market.MainActivity}: java.lang.NullPointerException
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at android.app.ActivityThread.access$600(ActivityThread.java:123)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at android.os.Handler.dispatchMessage(Handler.java:99)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at android.os.Looper.loop(Looper.java:137)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at android.app.ActivityThread.main(ActivityThread.java:4424)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at java.lang.reflect.Method.invokeNative(Native Method)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at java.lang.reflect.Method.invoke(Method.java:511)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at dalvik.system.NativeStart.main(Native Method)
  09-17 12:11:30.319: E/AndroidRuntime(1113): Caused by: java.lang.NullPointerException
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at com.example.market.MainActivity.onCreate(MainActivity.java:32)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at android.app.Activity.performCreate(Activity.java:4465)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
  09-17 12:11:30.319: E/AndroidRuntime(1113):     ... 11 more
  </code></pre>