Friday, 22 April 2016

Activity




An activity represents a single screen with a user interface. An application can have one or more activity. For example a contact app shows contact list might be an activity and where we create new contact it might be also other activity.


Activity Lifecycle

Activities in the system are managed as an activity stack. When a new activity is started, it is placed on the top of the stack and becomes the running activity -- the previous activity always remains below it in the stack, and will not come to the foreground again until the new activity exits.



 Method        Description  
 onCreate      called when activity is first created.  
 onStart       called when activity is becoming visible to the user.  
 onResume      called when activity will start interacting with the user.  
 onPause       called when activity is not visible to the user.  
 onStop        called when activity is no longer visible to the user.  
 onRestart     called after your activity is stopped, prior to start.  
 onDestroy     called before the activity is destroyed.  




Android Activity Lifecycle Example




It provides the details about the invocation of life cycle methods of activity. In this example, we are displaying the content on the logcat.



 package com.androidtutorialforum.activitylifecycle;   
 import android.os.Bundle;   
 import android.app.Activity;   
 import android.util.Log;   
 import android.view.Menu;   
 public class MainActivity extends Activity {   
   @Override   
   protected void onCreate(Bundle savedInstanceState) {   
     super.onCreate(savedInstanceState);   
     setContentView(R.layout.activity_main);   
     Log.d("lifecycle","onCreate invoked");   
   }   
   @Override   
   protected void onStart() {   
     super.onStart();   
      Log.d("lifecycle","onStart invoked");   
   }   
   @Override   
   protected void onResume() {   
     super.onResume();   
      Log.d("lifecycle","onResume invoked");   
   }   
   @Override   
   protected void onPause() {   
     super.onPause();   
      Log.d("lifecycle","onPause invoked");   
   }   
   @Override   
   protected void onStop() {   
     super.onStop();   
      Log.d("lifecycle","onStop invoked");   
   }   
     @Override   
   protected void onRestart() {   
     super.onRestart();   
      Log.d("lifecycle","onRestart invoked");   
   }     
   @Override   
   protected void onDestroy() {   
     super.onDestroy();   
      Log.d("lifecycle","onDestroy invoked");   
   }   
 }   

Declaring the activity in the manifest


 <activity android:name=".MainActivity" android:icon="@drawable/app_icon">  
   <intent-filter>  
     <action android:name="android.intent.action.MAIN" />  
     <category android:name="android.intent.category.LAUNCHER" />  
   </intent-filter>  
 </activity>