Zum Verständnis AKTIVITÄTSLEBENSZYKLUS Ich erstelle die Demo See HIER
Und eine andere Fallstudie habe ich hinzugefügt.
MainActivity.java
public class MainActivity extends AppCompatActivity {
private static final String TAG = "State changed";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i(TAG, "onCreate: ");
}
public void OpenDialog(View view) {
final AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create(); //Read Update
alertDialog.setTitle("hi");
alertDialog.setMessage("this is my app");
alertDialog.setButton("Continue..", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// here you can add functions
alertDialog.dismiss();
}
});
alertDialog.show(); //<-- Show dialog
}
@Override
protected void onStart() {
super.onStart();
Log.i(TAG, "onStart: " );
}
@Override
protected void onResume() {
super.onResume();
Log.i(TAG, "onResume: ");
}
@Override
protected void onPause() {
super.onPause();
Log.i(TAG, "onPause: ");
}
@Override
protected void onStop() {
super.onStop();
Log.i(TAG, "onStop: ");
}
@Override
protected void onRestart() {
super.onRestart();
Log.i(TAG, "onRestart: ");
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Log.i(TAG, "onSaveInstanceState: ");
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
Log.i(TAG, "onRestoreInstanceState: ");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.i(TAG, "onDestroy: ");
}
@Override
public void onBackPressed() {
super.onBackPressed();
Log.i(TAG, "onBackPressed: ");
}
}
Fallstudie
Fall 1 = Klicken Sie zuerst auf das App-Symbol
Hinweis: Hier wird der onRestoreInstanceState nicht angezeigt, da er zur Laufzeit ausgeführt wird.
I/Zustand geändert: onCreate:
I/Zustand geändert: onStart:
I/Zustand geändert: onResume:
Fall 2 = Klicken Sie auf die Home-Taste (dasselbe passiert, wenn die Bildschirmbeleuchtung aus ist oder ein Anruf kommt)
I/Zustand geändert: onPause:
I/Zustand geändert: onSaveInstanceState:
I/Zustand geändert: onStop:
Fall 3 = (Fall 2 fortsetzen) App über Zuletzt geöffnet
I/Status geändert: onRestart:
I/Zustand geändert: onStart:
I/Zustand geändert: onResume:
Fall 4 = Klick auf die Schaltfläche Zurück (Aufruf der Methode onBackPressed)
I/Zustand geändert: onPause:
I/Zustand geändert: onStop:
I/Zustand geändert: onDestroy:
Fall 5 = Konfigration ändern (Bildschirm drehen)
I/Zustand geändert: onPause:
I/Zustand geändert: onSaveInstanceState:
I/Zustand geändert: onStop:
I/Zustand geändert: onDestroy:
I/Zustand geändert: onCreate:
I/Zustand geändert: onStart:
I/State geändert: onRestoreInstanceState:
I/Zustand geändert: onResume: