Created
June 19, 2018 13:20
-
-
Save jesselima/65e56a8cf7bd22398eaebcbc9b0f2c30 to your computer and use it in GitHub Desktop.
Learn about Activity lifecycle. Play with the app watching logcat to see the logs. Comments from offcicial documentation (https://developer.android.com/reference/android/app/Activity).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package com.udacity.myapplicationtest; | |
| import android.support.v7.app.AppCompatActivity; | |
| import android.os.Bundle; | |
| import android.util.Log; | |
| /** | |
| * Official documentation: | |
| * https://developer.android.com/reference/android/app/Activity | |
| */ | |
| public class MyLifecycleActivity extends AppCompatActivity { | |
| @Override | |
| protected void onCreate(Bundle savedInstanceState) { | |
| super.onCreate(savedInstanceState); | |
| setContentView(R.layout.activity_main); | |
| /* TODO: See Logcat output to see when onCreate() is called. | |
| * Called when the activity is first created. This is where you should do all of your normal static set up: create views, bind data to lists, etc. | |
| * This method also provides you with a Bundle containing the activity's previously frozen state, if there was one. Always followed by onStart(). | |
| * | |
| * NEXT: onStart() | |
| * | |
| */ | |
| Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onCreate invoked\n>>>>>>>>>>>>>>>>>>>>>"); | |
| } | |
| /** | |
| * Called when the activity is becoming visible to the user. | |
| * Followed by onResume() if the activity comes to the foreground, or onStop() if it becomes hidden. | |
| * | |
| * NEXT: onResume() or onStop() | |
| * | |
| */ | |
| @Override | |
| protected void onStart() { | |
| super.onStart(); | |
| Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onStart invoked\n>>>>>>>>>>>>>>>>>>>>>"); | |
| } | |
| /** TODO: See Logcat output to see when onResume() is called. | |
| * Called when the activity will start interacting with the user. At this point your activity is at the top of the activity stack, | |
| * with user input going to it. Always followed by onPause(). | |
| * | |
| * NEXT: onPause() | |
| * | |
| */ | |
| @Override | |
| protected void onResume() { | |
| super.onResume(); | |
| Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onResume invoked\n>>>>>>>>>>>>>>>>>>>>>"); | |
| } | |
| /** TODO: See Logcat output to see when onStop() is called. | |
| * Called when the activity is no longer visible to the user, because another activity has been resumed and is covering this one. | |
| * This may happen either because a new activity is being started, an existing one is being brought in front of this one, or this one is being destroyed. | |
| * Followed by either onRestart() if this activity is coming back to interact with the user, or onDestroy() if this activity is going away. | |
| * | |
| * NEXT: onRestart() or onDestroy() | |
| * | |
| */ | |
| @Override | |
| protected void onStop() { | |
| super.onStop(); | |
| Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onStop invoked\n>>>>>>>>>>>>>>>>>>>>>"); | |
| } | |
| /** TODO: See Logcat output to see when onRestart() is called. | |
| * Called after your activity has been stopped, prior to it being started again. Always followed by onStart() | |
| * | |
| * NEXT: onStart() | |
| * | |
| */ | |
| @Override | |
| protected void onRestart() { | |
| super.onRestart(); | |
| Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onRestart invoked\n>>>>>>>>>>>>>>>>>>>>>"); | |
| } | |
| /** TODO: See Logcat output to see when onPause() is called. | |
| * Called when the system is about to start resuming a previous activity. | |
| * This is typically used to commit unsaved changes to persistent data, stop animations and other things that may be consuming CPU, etc. | |
| * Implementations of this method must be very quick because the next activity will not be resumed until this method returns. | |
| * Followed by either onResume() if the activity returns back to the front, or onStop() if it becomes invisible to the user. | |
| * | |
| * NEXT: onResume() or onStop() | |
| * | |
| */ | |
| @Override | |
| protected void onPause() { | |
| super.onPause(); | |
| Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onPause invoked\n>>>>>>>>>>>>>>>>>>>>>"); | |
| } | |
| /** TODO: See Logcat output to see when onDestroy() is called. | |
| * The final call you receive before your activity is destroyed. This can happen either because the activity is finishing (someone called finish() on it, | |
| * or because the system is temporarily destroying this instance of the activity to save space. You can distinguish between these two scenarios with the isFinishing() method. | |
| * | |
| * NEXT: NOTHING | |
| * | |
| */ | |
| @Override | |
| protected void onDestroy() { | |
| super.onDestroy(); | |
| Log.d("lifecycle",">\n>>>>>>>>>>>>>>>>>>>>>\n>>>>>>>>>>>>>>>>>>>>> onDestroy invoked\n>>>>>>>>>>>>>>>>>>>>>"); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment