Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.marcin.lifecycle;
- import android.content.res.Configuration;
- import android.os.Bundle;
- import android.support.v7.app.AppCompatActivity;
- import android.util.Log;
- //klasa aplikacji "MainActiwity" dziedziczy (extends) po klasie AppCompatActivity
- public class MainActivity extends AppCompatActivity {
- //Zmienna statyczna prywatna typu string o nazwie "LOG_TAG" o przypisanej wartości "HelloLOG"
- //Jest to zmienna do wypisywania znaczników TAG w logach, w celu opisu logów.
- private static final String LOG_TAG = "HelloLOG";
- //Zmienna statyczna final (o niezmiennym, zadeklarowanym elemencie - "myStoredState") o nazwie
- // "STORE_STATE", potrzebną do przechowywania stanu jest to klucz potrzebny do zlokalizowania
- // zapisanego przy pomocy "onSavedInstance" stanu
- // . Zapisywana będzie wartość (w int) inkrementowana
- //o jeden przy obrocie urządzenia. jest to wartość którą będe zwiększał przy obrocie ekranu
- // (+1 raz na cykl)
- static final String STORE_STATE = "myStoredState";
- //wyżej opisana inkrementowana zmienna (wyzerowana)
- int thenStoredState=0;
- //dla long
- //Odpowiednik zmiennej "STORE_STATE" dla zmiennej typu long inkrementowanej o 3 przy każdym
- // obrocie ekranu
- static final String STATE_STORE = "myStoredStateLong";
- //(+3 raz na cykl)
- long thenStoredStateLong=0;
- //metoda MainActivity(), super oznacza, że metoda funkcję pobiera z klasy, z której dziedziczy
- // w tym wypadku z "AppCompactActivity", w przeciwnym razie, użyto by funkcji napisanej
- //w obecniej klasie
- public MainActivity()
- {
- super();
- //log (wyswietla się w logcat przy wywołaniu funkcji)
- Log.d(LOG_TAG, "MainActivity");
- }
- //protected-można dziedziczyć z tej zmiennej, zwraca typ void (czyli w zasadzie nic nie zwraca...)
- //onCreate inicjalizuje aktywność. savedInstanceState to referencja do objektu Bundle, przechowująca
- //jak najbardziej aktualne dane użyte w aplikacji, aby w razie potrzeby po zamknięciu, przywrócić je.
- //użyjemy tego do przechowywania wartości naszych inkrementowancyh zmiennych int i long tak, aby po wyłączeniu
- // i ponownym włączeniu ekranu można było kontynuowac zliczanie obróceń ekranu.
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //ustawia plik w którym jest wygląd naszej aplikacji
- setContentView(R.layout.activity_main);
- //jeżeli w referencji "savedInstanceState" zapisane są dane to..
- //(dosłownie: jeśli, referencja "savedInstanceState" nie jest pusta(null))...
- if(savedInstanceState !=null)
- {
- //zmiennej "thenStoredState przypisujemy wartość (w int) zapisaną w referencji savedInstanceState "
- thenStoredState = savedInstanceState.getInt(STORE_STATE);
- //inkrementujemy o 1 wcześniej wczytaną wartość
- ++thenStoredState;
- //zwiększenie Long o 3
- thenStoredStateLong = savedInstanceState.getLong(STATE_STORE);
- thenStoredStateLong = thenStoredStateLong+3;
- }
- //wypisujemy LOGi do LogCata informujące o wykonaniu metody "onCreate", oraz podające aktualną
- //liczbę zliczonych danych.
- Log.d(LOG_TAG,"onCreate");
- Log.i(LOG_TAG,"thenStoredState="+thenStoredState);
- Log.i(LOG_TAG,"thenStoredStateLong"+thenStoredStateLong);
- }
- //Dodatkowe dane dotyczące stanu aktywności zapisuje się poprzez przedefiniowanie metody zwrotnej
- //"onSaveInstanceState". Metoda wywoływana jest w momencie przerwania aktywności. Zapisuje stan
- //aktywności (klucz - wartość).
- @Override
- protected void onSaveInstanceState(Bundle outState)
- {
- super.onSaveInstanceState(outState);
- outState.putInt(STORE_STATE,thenStoredState);
- //long
- outState.putLong(STATE_STORE,thenStoredStateLong);
- Log.d(LOG_TAG,"onSaveInstanceState");
- }
- //metoda wywoływana przy niszczeniu aktywności.
- @Override
- protected void onDestroy()
- {
- super.onDestroy();
- Log.d(LOG_TAG,"OnDestroy");
- }
- //metoda
- @Override
- public void onBackPressed(){
- super.onBackPressed();
- Log.d(LOG_TAG,"onBackPressed");
- }
- //metoda wywoływana gdy podczas działania aktywności następuje zmiana konfiguracji urządzenia
- @Override
- public void onConfigurationChanged(Configuration newConfig)
- {
- super.onConfigurationChanged(newConfig);
- Log.d(LOG_TAG,"onConfigurationChanged");
- }
- //metoda wywoływana, gdy inna aktywnośc wchodzi w interakcje z użytkownikiem.
- @Override
- protected void onPause()
- {
- super.onPause();
- Log.d(LOG_TAG,"onPause");
- }
- //metoda wywoływana w gdy aktywność się uruchomi
- @Override
- protected void onPostCreate(Bundle savedInstanceState)
- {
- super.onPostCreate(savedInstanceState);
- Log.d(LOG_TAG,"onPostCreate");
- }
- //metoda wywoływana po wznowieniu aktywności (po onResume)
- @Override
- protected void onPostResume()
- {
- super.onPostResume();
- Log.d(LOG_TAG, "onPostResume");
- }
- @Override
- protected void onRestart()
- {
- super.onRestart();
- Log.d(LOG_TAG,"onRestart");
- }
- // metoda wywoływana kiedy interakcja użytkownika z aktywnością staje się możliwa.
- // Od tego momentu następuje „normalne” działanie aktywności.
- @Override
- protected void onResume()
- {
- super.onResume();
- Log.d(LOG_TAG, "onResume");
- }
- //metoda wywoływana, gdy aktywność staje sie widoczna dla użytkownika,
- // ale interakcja użytkownika z aktywnością nie jest możliwa.
- @Override
- protected void onStart()
- {
- super.onStart();
- Log.d(LOG_TAG,"onStart");
- }
- //metoda wywoływana, gdy aktywność przestaje być widoczna dla użytkownika
- @Override
- protected void onStop()
- {
- super.onStop();
- Log.d(LOG_TAG,"onStop");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement