Android Open Source - AndroidActivityLab Activity One






From Project

Back to project page AndroidActivityLab.

License

The source code is released under:

This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a co...

If you think the Android project AndroidActivityLab listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package course.labs.activitylab;
//  w  ww .  ja  v  a 2  s.  c om
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class ActivityOne extends Activity {

  // Use these as keys when you're saving state between reconfigurations
  private static final String RESTART_KEY = "restart";
  private static final String RESUME_KEY = "resume";
  private static final String START_KEY = "start";
  private static final String CREATE_KEY = "create";

  // String for LogCat documentation
  private final static String TAG = "Lab-ActivityOne";

  // Lifecycle counters

  // Create variables named
  // mCreate, mRestart, mStart and mResume
  // to count calls to onCreate(), onRestart(), onStart() and
  // onResume(). These variables should not be defined as static.

  // You will need to increment these variables' values when their
  // corresponding lifecycle methods get called.
  private int mCreate = 0;
  private int mRestart = 0;
  private int mStart = 0;
  private int mResume = 0;


  // Create variables for each of the TextViews
  // named mTvCreate, mTvRestart, mTvStart, mTvResume.
  // for displaying the current count of each counter variable
  private TextView mTvCreate;
  private TextView mTvRestart;
  private TextView mTvStart;
  private TextView mTvResume;
  
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_one);

    // Assign the appropriate TextViews to the TextView variables
    // Hint: Access the TextView by calling Activity's findViewById()
    // textView1 = (TextView) findViewById(R.id.textView1);
    mTvCreate = (TextView) findViewById(R.id.create);
    mTvRestart = (TextView) findViewById(R.id.restart);
    mTvStart = (TextView) findViewById(R.id.start);
    mTvResume = (TextView) findViewById(R.id.resume);
    

    Button launchActivityTwoButton = (Button) findViewById(R.id.bLaunchActivityTwo);
    
    launchActivityTwoButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {

        // Launch Activity Two
        // Hint: use Context's startActivity() method
        
        // Create an intent stating which Activity you would like to
        // start
        Intent intent = new Intent (ActivityOne.this, ActivityTwo.class);

        // Launch the Activity using the intent
        startActivity(intent);

      }
    });

    // Has previous state been saved?
    if (savedInstanceState != null) {

      // Restore value of counters from saved state
      // Only need 4 lines of code, one for every count variable
      mCreate = savedInstanceState.getInt(CREATE_KEY);
      mRestart = savedInstanceState.getInt(RESTART_KEY);
      mStart = savedInstanceState.getInt(START_KEY);
      mResume = savedInstanceState.getInt(RESUME_KEY);
    }

    // Emit LogCat message
    Log.i(TAG, "Entered the onCreate() method");


    // Update the appropriate count variable
    // Update the user interface via the displayCounts() method
    mCreate++;
    displayCounts();
    
  }

  // Lifecycle callback overrides

  @Override
  public void onStart() {
    super.onStart();

    // Emit LogCat message
    Log.i(TAG, "Entered the onStart() method");


    // Update the appropriate count variable
    // Update the user interface
    mStart++;
    displayCounts();
  }

  @Override
  public void onResume() {
    super.onResume();

    // Emit LogCat message
    Log.i(TAG, "Entered the onResume() method");


    // Update the appropriate count variable
    // Update the user interface
    mResume++;
    displayCounts();

  }

  @Override
  public void onPause() {
    super.onPause();

    // Emit LogCat message
    Log.i(TAG, "Entered the onPause() method");
  }

  @Override
  public void onStop() {
    super.onStop();

    // Emit LogCat message
    Log.i(TAG, "Entered the onStop() method");
  }

  @Override
  public void onRestart() {
    super.onRestart();

    // Emit LogCat message
    Log.i(TAG, "Entered the onRestart() method");

    // Update the appropriate count variable
    // Update the user interface
    mRestart++;
    displayCounts();

  }

  @Override
  public void onDestroy() {
    super.onDestroy();

    // Emit LogCat message
    Log.i(TAG, "Entered the onDestroy() method");
  }

  @Override
  public void onSaveInstanceState(Bundle savedInstanceState) {

    // Save state information with a collection of key-value pairs
    // 4 lines of code, one for every count variable
    savedInstanceState.putInt(CREATE_KEY, mCreate);
    savedInstanceState.putInt(START_KEY, mStart);
    savedInstanceState.putInt(RESUME_KEY, mResume);
    savedInstanceState.putInt(RESTART_KEY, mRestart);
    
    super.onSaveInstanceState(savedInstanceState);
    
  }

  // Updates the displayed counters
  // This method expects that the counters and TextView variables use the
  // names specified above
  public void displayCounts() {

    mTvCreate.setText("onCreate() calls: " + mCreate);
    mTvStart.setText("onStart() calls: " + mStart);
    mTvResume.setText("onResume() calls: " + mResume);
    mTvRestart.setText("onRestart() calls: " + mRestart);

  }
}




Java Source Code List

course.labs.activitylab.ActivityOne.java
course.labs.activitylab.ActivityTwo.java