title: Parcelable example errors out.
body: <p>It was suggested that I use parcelable, for my android class project. I wanted to have a working understanding of it before I implemented it into my code. I'm having difficulties getting this example to work, I've listed the error when the program runs</p>
  
  <pre><code> **Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.shawn.nichol.parcelabletest.Person.toString()' on a null object reference
      atcom.shawn.nichol.parcelabletest.SecondActivity.onCreate(SecondActivity.java:20**)
  </code></pre>
  
  <p>Any assistance would be greatly appreciated, here I've been at it for 10 hours. </p>
  
  <h1>MainActivity</h1>
  
  <pre><code>public class MainActivity extends AppCompatActivity {
  
      static String NAME_KEY = "NAME;";
      static String AGE_KEY = "AGE";
      static String USER_KEY = "USER";
      static String PERSON_KEY = "PERSON";
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
  
          Intent intent = new Intent(MainActivity.this, SecondActivity.class);
  
          intent.putExtra(PERSON_KEY, new Person("Alice Smith",  25.0, 
          "Calgary"));
  
          startActivity(intent);
      }
  }
  </code></pre>
  
  <h1>Person (Parcelable)</h1>
  
  <pre><code>public class Person implements Parcelable {
      String name;
      Double age;
      String city;
  
      public Person(String name, double age, String city) {
          this.name = name;
          this.age = age;
          this.city = city;
      }
  
      @Override
      public String toString() {
          return "Person{" +
                  "name='" + name + '\'' +
                  ", age=" + age +
                  ", city='" + city + '\'' +
                  '}';
      }
  
      protected Person(Parcel in) {
          this.name = in.readString();
          this.age = in.readDouble();
          this.city = in.readString();
      }
  
      public static final Creator&lt;Person&gt; CREATOR = new Creator&lt;Person&gt;() {
          @Override
          public Person createFromParcel(Parcel parcel) {
              return null;
          }
  
          @Override
          public Person[] newArray(int i) {
              return new Person[0];
          }
      };
  
      @Override
      public int describeContents() {
          return 0;
      }
  
      @Override
      public void writeToParcel(Parcel parcel, int i) {
          parcel.writeString(this.name);
          parcel.writeDouble(this.age);
          parcel.writeString(this.city);
      }
  </code></pre>
  
  <p>}</p>
  
  <h1>SecondActivity</h1>
  
  <pre><code>public class SecondActivity extends AppCompatActivity {
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_second);
  
          Intent i = getIntent();
          Person person = 
               getIntent().getExtras().getParcelable(MainActivity.PERSON_KEY);
  
          if(getIntent() != null &amp;&amp; getIntent().getExtras() != null) {
  
              Log.d("Nichol", "Second activity " + person.toString());
          }
      }
  }
  </code></pre>