Passing data between activities is quite easy. You would normally do that using the Bundle packed into an intent. But sometimes you need to pass complex objects from one activity to another. One workaround would be to keep a static instance of the object int your Activity and access it from you new Activity. This might help, but it's definitely not a good way to do this. To pass such objects directly through the Bundle, your class would need to implement the Parcelable interface.
For example you have a class called Student, which has three fields.
You can create a POJO class for this, but you need to add some extra code to make it Parcelable. Have a look at the implementation.
Once you have created this class, you can easily pass objects of this class through the Intent like this, and recover this object in the target activity.
Here, the student is the key which you would require to unparcel the data from the bundle.
This example shows only String types. But, you can parcel any kind of data you want. Try it out.