Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.14 KB | None | 0 0
  1. package com.example.marcin.lifecycle;
  2.  
  3. import android.content.res.Configuration;
  4. import android.os.Bundle;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.util.Log;
  7.  
  8. //klasa aplikacji "MainActiwity" dziedziczy (extends) po klasie AppCompatActivity
  9. public class MainActivity extends AppCompatActivity {
  10.  
  11. //Zmienna statyczna prywatna typu string o nazwie "LOG_TAG" o przypisanej wartości "HelloLOG"
  12. //Jest to zmienna do wypisywania znaczników TAG w logach, w celu opisu logów.
  13. private static final String LOG_TAG = "HelloLOG";
  14. //Zmienna statyczna final (o niezmiennym, zadeklarowanym elemencie - "myStoredState") o nazwie
  15. // "STORE_STATE", potrzebną do przechowywania stanu jest to klucz potrzebny do zlokalizowania
  16. // zapisanego przy pomocy "onSavedInstance" stanu
  17. // . Zapisywana będzie wartość (w int) inkrementowana
  18. //o jeden przy obrocie urządzenia. jest to wartość którą będe zwiększał przy obrocie ekranu
  19. // (+1 raz na cykl)
  20. static final String STORE_STATE = "myStoredState";
  21. //wyżej opisana inkrementowana zmienna (wyzerowana)
  22. int thenStoredState=0;
  23.  
  24. //dla long
  25. //Odpowiednik zmiennej "STORE_STATE" dla zmiennej typu long inkrementowanej o 3 przy każdym
  26. // obrocie ekranu
  27. static final String STATE_STORE = "myStoredStateLong";
  28. //(+3 raz na cykl)
  29. long thenStoredStateLong=0;
  30.  
  31. //metoda MainActivity(), super oznacza, że metoda funkcję pobiera z klasy, z której dziedziczy
  32. // w tym wypadku z "AppCompactActivity", w przeciwnym razie, użyto by funkcji napisanej
  33. //w obecniej klasie
  34. public MainActivity()
  35. {
  36. super();
  37. //log (wyswietla się w logcat przy wywołaniu funkcji)
  38. Log.d(LOG_TAG, "MainActivity");
  39. }
  40. //protected-można dziedziczyć z tej zmiennej, zwraca typ void (czyli w zasadzie nic nie zwraca...)
  41. //onCreate inicjalizuje aktywność. savedInstanceState to referencja do objektu Bundle, przechowująca
  42. //jak najbardziej aktualne dane użyte w aplikacji, aby w razie potrzeby po zamknięciu, przywrócić je.
  43. //użyjemy tego do przechowywania wartości naszych inkrementowancyh zmiennych int i long tak, aby po wyłączeniu
  44. // i ponownym włączeniu ekranu można było kontynuowac zliczanie obróceń ekranu.
  45. @Override
  46. protected void onCreate(Bundle savedInstanceState) {
  47. super.onCreate(savedInstanceState);
  48. //ustawia plik w którym jest wygląd naszej aplikacji
  49. setContentView(R.layout.activity_main);
  50. //jeżeli w referencji "savedInstanceState" zapisane są dane to..
  51. //(dosłownie: jeśli, referencja "savedInstanceState" nie jest pusta(null))...
  52. if(savedInstanceState !=null)
  53. {
  54. //zmiennej "thenStoredState przypisujemy wartość (w int) zapisaną w referencji savedInstanceState "
  55. thenStoredState = savedInstanceState.getInt(STORE_STATE);
  56. //inkrementujemy o 1 wcześniej wczytaną wartość
  57. ++thenStoredState;
  58. //zwiększenie Long o 3
  59. thenStoredStateLong = savedInstanceState.getLong(STATE_STORE);
  60. thenStoredStateLong = thenStoredStateLong+3;
  61. }
  62. //wypisujemy LOGi do LogCata informujące o wykonaniu metody "onCreate", oraz podające aktualną
  63. //liczbę zliczonych danych.
  64. Log.d(LOG_TAG,"onCreate");
  65. Log.i(LOG_TAG,"thenStoredState="+thenStoredState);
  66. Log.i(LOG_TAG,"thenStoredStateLong"+thenStoredStateLong);
  67. }
  68. //Dodatkowe dane dotyczące stanu aktywności zapisuje się poprzez przedefiniowanie metody zwrotnej
  69. //"onSaveInstanceState". Metoda wywoływana jest w momencie przerwania aktywności. Zapisuje stan
  70. //aktywności (klucz - wartość).
  71. @Override
  72. protected void onSaveInstanceState(Bundle outState)
  73. {
  74. super.onSaveInstanceState(outState);
  75. outState.putInt(STORE_STATE,thenStoredState);
  76.  
  77. //long
  78. outState.putLong(STATE_STORE,thenStoredStateLong);
  79.  
  80. Log.d(LOG_TAG,"onSaveInstanceState");
  81. }
  82. //metoda wywoływana przy niszczeniu aktywności.
  83. @Override
  84. protected void onDestroy()
  85. {
  86. super.onDestroy();
  87. Log.d(LOG_TAG,"OnDestroy");
  88. }
  89. //metoda
  90. @Override
  91. public void onBackPressed(){
  92. super.onBackPressed();
  93. Log.d(LOG_TAG,"onBackPressed");
  94. }
  95. //metoda wywoływana gdy podczas działania aktywności następuje zmiana konfiguracji urządzenia
  96. @Override
  97. public void onConfigurationChanged(Configuration newConfig)
  98. {
  99. super.onConfigurationChanged(newConfig);
  100. Log.d(LOG_TAG,"onConfigurationChanged");
  101. }
  102. //metoda wywoływana, gdy inna aktywnośc wchodzi w interakcje z użytkownikiem.
  103. @Override
  104. protected void onPause()
  105. {
  106. super.onPause();
  107. Log.d(LOG_TAG,"onPause");
  108. }
  109. //metoda wywoływana w gdy aktywność się uruchomi
  110. @Override
  111. protected void onPostCreate(Bundle savedInstanceState)
  112. {
  113. super.onPostCreate(savedInstanceState);
  114. Log.d(LOG_TAG,"onPostCreate");
  115. }
  116. //metoda wywoływana po wznowieniu aktywności (po onResume)
  117. @Override
  118. protected void onPostResume()
  119. {
  120. super.onPostResume();
  121. Log.d(LOG_TAG, "onPostResume");
  122. }
  123. @Override
  124. protected void onRestart()
  125. {
  126. super.onRestart();
  127. Log.d(LOG_TAG,"onRestart");
  128. }
  129. // metoda wywoływana kiedy interakcja użytkownika z aktywnością staje się możliwa.
  130. // Od tego momentu następuje „normalne” działanie aktywności.
  131. @Override
  132. protected void onResume()
  133. {
  134. super.onResume();
  135. Log.d(LOG_TAG, "onResume");
  136. }
  137. //metoda wywoływana, gdy aktywność staje sie widoczna dla użytkownika,
  138. // ale interakcja użytkownika z aktywnością nie jest możliwa.
  139. @Override
  140. protected void onStart()
  141. {
  142. super.onStart();
  143. Log.d(LOG_TAG,"onStart");
  144. }
  145. //metoda wywoływana, gdy aktywność przestaje być widoczna dla użytkownika
  146. @Override
  147. protected void onStop()
  148. {
  149. super.onStop();
  150. Log.d(LOG_TAG,"onStop");
  151. }
  152.  
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement