dr Artur Bartoszewski 1
Aplikacje mobilne 1. Cykl życia aktywności Cykl życiowy Aktywności w systemie Android składa się z 7 stanów. 2
Aplikacje mobilne 3 Źródło: https://www.altkomakademia.pl
oncreate() Wywoływana, gdy Aktywność jest uruchamiana. Tutaj powinno następować inicjowanie wszystkich widoków, list i innych zmiennych. Do metody przekazywany jest obiekt klasy Bundle zawierający zapisany stan aktywności z poprzedniego uruchomienia, o ile taki stan został przechwycony. Po tej metodzie następuje zawsze onstart(). Metoda ta jest wywoływana tylko raz w całym cyklu życia aplikacji. Nie onstart() onrestart() Wywoływana po onstop(), gdy Aktyność wraca na ekran. Po niej zostanie wywołana metoda onstart(). Nie onstart() onstart() Wywoływana po oncreate() lub po onrestart(). Wywoływana tuż przed pojawieniem się Aktywności na ekranie. Po niej następuje zawsze onresume(). Nie onresume() onresume() Wywoływana po onstart() lub po onpause(). W czasie realizacji tej metody, Aktywność jest już na ekranie. Jest to dobre miejsce na rozpoczęcie odtwarzania animacji lub otwarcie urządzeń wymagających wyłączności, takich jak kamera. Po niej następuje normalna praca aplikacji. Nie onpause() onpause() Wywoływana, gdy system zamierza uruchomić inną Aktywność, Jest to dobre miejsce na zapisanie wszystkich ważnych danych. Gdy brakuje pamięci to system może zdecydować się na uśmiercenie procesu tuż po zakończeniu przetwarzania tej metody i inne już nie zostaną wywołane. W tej metodzie powinno również następować zatrzymywanie wszystkich animacji i zwalnianie niepotrzebnych zasobów. Inna aktywność nie zostanie uruchomiona do czasu, gdy nie nastąpi powrót z tej metody. Po tej metodzie następuje onresume() lub onstop(). Nie onresume(), onstop() onstop() ondestroy() 4 Następuje po onpause(), gdy aplikacja nie jest już widoczna. Należy pamiętać, że w przypadku brak pamięci ta metoda może w ogóle nie być wywołana, gdyż proces zostanie uśmiercony po wywołaniu onpause(). Po niej następuje onrestart() lub ondestroy(). Wywoływana przed uśmierceniem aplikacji. Tutaj powinno następować ostateczne zwalnianie wszystkich zasobów. Tak jak w przypadku onpause(), nie można mieć pewności, że ta metoda zostanie w ogóle wywołana. Tak TA K onrestart(), ondestroy() Źródło: http://programowanie.opole.pl
Cykl życia aktywności 5
Aplikacje mobilne Kalkulator wykonujący podstawowe działania (dodawanie, odejmowanie, dzielenie i mnożenie) 6
1. Tworzenie layout-u Element TextEdit o id. wynik będzie bazowym elementem naszego układu. 7
1. Tworzenie layout-u Pierwszy Button pozycjonowany jest względem pola EditText (wynik) wiersze 28-29. 8
1. Tworzenie layout-u Kolejne elementy pozycjonowane są względem elementów powyżej i po lewej wiersze 39-40 9
1. Tworzenie layout-u Nieco inaczej pozycjonowany jest Button zero - w poziomie: jego początek wyrównany jest do początku Button 1 a koniec do końca 2 (linie 123-124) - W pionie: położony jest pod 7 (linia 128) 10
2. Wprowadzanie cyfr Do wszystkich przycisków cyfr pod zdarzenie onclick - podpięta jest jedna metoda. Stąd konieczne jest rozpoznanie, który z przycisków ją wywołał. Pierwszym krokiem jest stworzenie zmiennych globalnych typu View (nieokreślony widok), dla każdego z przycisków. W metodzie oncreate aktywności odnajdujemy i zapamiętujemy wskaźniki do wszystkich przycisków. Metoda podpięta pod zdarzenie onclick otrzymuje w parametrze informacje o tym, który widok ją wywołał wystarczy porównać z uzyskanymi wskaźnikami do przycisków. 11
12
Po rozpoznaniu, który przycisk wygenerował zdarzenie dopisujemy właściwą cyfrę do łańcucha reprezentujące wpisywaną liczbę wstawimy go do okienka EditText 13
2. Działania Do każdego przycisku działania (pod zdarzenie onclick) przypisana została własna metoda. Przycisk CE zeruje łańcuch przechowujący liczbę i zawartość TextEdit 14
2. Działania Metody działań (plus, minus, razy, podzielić): zapamiętują numer wybranego działania w zmiennej globalnej (linia 55) Przetwarzają na liczbę i zapamiętują wartość wpisaną do EditText i przechowywaną w wyniktekst (56) Zerują wyniktekst i okienko edycji. (57-58) 15
3. Wykonie obliczenia 16
Literatura 17