Android 9 Development Cookbook(Third Edition)
上QQ阅读APP看书,第一时间看更新

How to do it...

Perform the following set of steps:

  1. To keep track of the counter, we need to add a global variable to the project, along with a key for saving and restoring. Add the following code to the MainActivity.java class:
static final String KEY_COUNTER = "COUNTER"; 
private int mCounter=0; 
  1. Then, add the code needed to handle the button press; it increments the counter and displays the result in the TextView widget:
public void onClickCounter(View view) {
mCounter++;
((TextView)findViewById(R.id.textViewCounter))
.setText("Counter: " + Integer.toString(mCounter));
}
  1. To receive notifications of application state change, we need to add the onSaveInstanceState() and onRestoreInstanceState() methods to our application. Open MainActivity.java and add the following:
@Override 
protected void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    outState.putInt(KEY_COUNTER,mCounter); 
} 
 
@Override 
protected void onRestoreInstanceState(Bundle savedInstanceState) { 
    super.onRestoreInstanceState(savedInstanceState); 
    mCounter=savedInstanceState.getInt(KEY_COUNTER); 
} 
  1. Run the program and try changing the orientation to see how it behaves (if you're using the emulator, Ctrl + F11 will rotate the device).