What is a OnCreate method in android

user2910566 picture user2910566 · Oct 23, 2013 · Viewed 76.8k times · Source

I am new to android trying to understand what the below method does

public void onCreate(Bundle savedInstanceState)
{
        super.onCreate(savedInstanceState);
        // load the layout
        setContentView(R.layout.filters); 
}

My research ::

  • onCreate is used to start an activity
  • super is used to call the parent class constructor
  • setContentView is used to set the xml

But what is this all together -

  • onCreate(Bundle savedInstanceState) .... why did that bundle come there, what is it
  • What is that super.onCreate(savedInstanceState);

some explanation in layman terms would be helpful

Answer

vinaykumar picture vinaykumar · Oct 23, 2013

If you save the state of the application in a bundle (typically non-persistent, dynamic data in onSaveInstanceState), it can be passed back to onCreate if the activity needs to be recreated (e.g., orientation change). If the orientation changes(i.e rotating your device from landscape mode to portrait and vice versa), the activity is recreated and onCreate() method is called again, so that you don't lose this prior information. If no data was supplied, savedInstanceState is null.

For further information http://developer.android.com/guide/topics/resources/runtime-changes.html