Introduction
An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity
class takes care of creating a window for you in which you can place your UI with setContentView(View).
Background
Activity
is a window that contains the user interface of your application. As there are various states of activity like Running
, Paused
, Stopped
and Killed
.
Activity
base class contains events that govern the life cycle of an activity.
onCreate()
: Called when the activity is first createdonStart()
: Called when the activity becomes visible to the useronResume()
: Called when the activity starts interacting with the user onPause()
: Called when the current activity is being paused and the previous activity is being resumedonStop()
: Called when the activity is no longer visible to the useronDestroy()
: Called before the activity is destroyed by the systemonRestart()
: Called when the activity has been stopped and is restarting again
Using the Code
To create an activity, your class need to extends Activity
base class. An Application
has more than one activity.
Create a project with the following details:
ProjectName
: LifeCycle
PackageName
: sat.tuts4mobile.lifecycle
ActivityName
: LifeCycleActivity
In the LifeCycleActivity.java file, add the following code:
package sat.tuts4mobile.lifecycle;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
public class LifeCycleActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Toast.makeText(LifeCycleActivity.this,"ON CREATE", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStart() {
super.onStart();
Toast.makeText(LifeCycleActivity.this,"ON START", Toast.LENGTH_SHORT).show();
}
@Override
protected void onResume() {
super.onResume();
Toast.makeText(LifeCycleActivity.this,"ON RESUME", Toast.LENGTH_SHORT).show();
}
@Override
protected void onPause() {
super.onPause();
Toast.makeText(LifeCycleActivity.this,"ON PAUSE", Toast.LENGTH_SHORT).show();
}
@Override
protected void onRestart() {
super.onRestart();
Toast.makeText(LifeCycleActivity.this,"ON RESTART", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStop() {
super.onStop();
Toast.makeText(LifeCycleActivity.this,"ON STOP", Toast.LENGTH_SHORT).show();
}
@Override
protected void onDestroy() {
super.onDestroy();
Toast.makeText(LifeCycleActivity.this,"ON DESTROY", Toast.LENGTH_SHORT).show();
}
}
- When you run the following code, you see when the application starts there are three toast messages that come after one another. First is ON CREATE , second is ON START and third is ON RESUME.
- When you press the home button from the emulator, ON PAUSE and ON STOP methods call.
- And when you open the application again ON RESTART, ON START and ON RESUME methods call.
- And at last, when you press the back button from emulator, ON PAUSE , ON STOP and ON DESTROY method calls.
Points of Interest
You can also follow my blog at http://tuts4mobile.blogspot.in for mobile application related articles.