Pierwsza modyfikacja aplikacji - Przechwytywanie zdarzeń i danych. - Technologia
Przejdź do treści

Pierwsza modyfikacja aplikacji – przechwytywanie zdarzeń i danych.

Reklamy

We wpisie o tworzeniu pierwszego projektu na Androida, potem zobaczyliśmy jak stworzyć naszą podstawową aplikację, sprawdziliśmy strukturę projektu oraz różne koncepcje takie jak SDK, Manifest oraz działania i ich cykl życia, teraz będziemy kontynuować modyfikację obecnego projektu w celu pogłębienia tworzenia aplikacji.

 

Jak wspomniano, zmodyfikujemy aplikację utworzoną w tym wpisie, w której zbudowaliśmy pierwszy projekt na Androida, tam pozostaniemy na tym ekranie

Widzimy tam, że domyślna aplikacja tworzy komponent TextView z tekstem „Hello World” z widoku Split. (Jeśli na tym etapie nie wiesz, jak utworzyć aplikację, polecam zapoznać się z powyższym wpisem.)

Będąc tutaj zmodyfikujemy ten widok dodając nowe komponenty, jeśli następnie przejdziemy do widoku rysunkowego, możemy zmodyfikować ekran według własnych upodobań, w tym przypadku stworzymy poniższy interfejs.

Jak widzimy, dodaliśmy komponent PlainText, który faktycznie odpowiada polu edycyjnemu lub który może mieć takie właściwości, jak między innymi zwykły tekst, hasło, telefon, poczta, w ten sam sposób, w jaki zdefiniowany układ pozwala nam modyfikować rozmiar komponenty i przypisz względną pozycję, w tym przypadku pole tekstowe ma pozycję względem widoku tekstowego tytułu.

Jeśli przejdziemy do widoku Split, zobaczymy wygenerowany kod XML i stąd możemy ręcznie modyfikować właściwości, w tym przypadku do tytułu został dodany kolor i rozmiar 25sp, należy pamiętać, że każdy komponent ma właściwość id , a także właściwości umożliwiające kontrolę położenia komponentu na ekranie.

 

Znajdziemy inne komponenty, takie jak wskazówka co odpowiada A miejscePosiadacz który jest wyświetlany, gdy pole jest puste, w ten sam sposób można dodać inne właściwości, aby nadać styl komponentowi.

 

Teraz komponent taki jak który również ma właściwość id, która jest zależna od komponentu pola tekstowego, w tym przypadku modyfikujemy identyfikator.

Logika aplikacji.

 

W celu wykonania przetwarzania logicznego i informacyjnego udajemy się do klasy MainActivity.kt, stamtąd pozyskujemy komponenty graficzne poprzez ich identyfikator metodą findViewById().

 

Dodajemy zdarzenie kliknięcia przycisku i tworzymy funkcję onClick() (można ją wywołać w dowolny sposób)

 

W tej funkcji dodana jest logika przechwytująca wartość pola tekstowego, do której odwołuje się w taki sam sposób, jak do przycisku, ale w tym przypadku tworząc komponent typu EditText, który odwołuje się do identyfikatora pola tekstowego.

 

Następnie pobierana jest wartość pola i dodawana do zmiennej String, która następnie jest prezentowana w komponencie typu Toast, który pozwala na wyświetlenie tymczasowego komunikatu na ekranie.

 

Kiedy uruchamiamy aplikację, uruchamia się emulator i możemy przetestować system dodając nazwę użytkownika i wciskając przycisk „enter”, widzimy, jak wyświetli się Toast, co trwa kilka sekund.


Następnie modyfikujemy ekran, dodając kolejny komponent TextView bez tekstu, który będzie służył do wyświetlania informacji o wpisanej nazwie, ale teraz bezpośrednio na ekranie.

Aby zrealizować tę logikę, wracamy do klasy MainActivity.kt i w funkcji odwołujemy się do komponentu EditText z przypisanym identyfikatorem, a następnie wysyłamy wiadomość, którą chcemy wyświetlić.

 

Później ponownie uruchamiamy aplikację i mamy następujący wynik.


 

Inną alternatywą do przechwytywania danych jest globalna deklaracja komponentów, co pozwala uniknąć konieczności deklarowania ich w każdej funkcji:


Ważne, aby używać!! aby zapobiec posiadaniu zerowych odwołań.

 

Obserwacja:

 

W liniach 11 i 12 zastosowano nullsafety, jest to funkcja Kotlina, która pozwala kontrolować wartości null w obrębie aplikacji, uniemożliwiając jej załadowanie popularnego wyjątku NullPointerException, nie możemy bezpośrednio przypisać wartości null, ale w ten sposób, gdy wskażemy Edytować tekst? mówimy kompilatorowi, że to pole może mieć odwołanie zerowe i pozwolić na jego przetworzenie.

 

w liniach 26 i 27 jest używane !! aby powiedzieć kompilatorowi, aby nie sprawdzał, czy wartość ma wartość null i dlatego może się skompilować bez żadnych problemów, ale jeśli ma wartość null, wyrzuć wyjątek w konsoli na wypadek, gdybyśmy wiedzieli, że może nadejść wartość null, a nadal chcemy przetworzyć

 

Inną zalecaną alternatywą byłoby wykonywanie bezpiecznych wywołań, więc gdy spróbujesz wywołać obiekt, jeśli ma on wartość null, wyjątek nie zostanie zgłoszony, ale wartość null zostanie zapisana bez przerywania procesu, więc zmienna musi dopuszczać wartość null dla aby zostało poprawnie skompilowane.

 

I to wszystko, dzięki czemu mamy pierwszą funkcjonalną aplikację z przechwytywaniem danych i zdarzeniami przycisków.

 

Może Cię to również zainteresować.





Czy jest coś, co chciałbyś dodać lub skomentować na temat tego wpisu? śmiało rób….A jeśli Ci się podobało... Zapraszam do udostępniania Y Zasubskrybuj, klikając przycisk „Dołącz do tej witryny”, aby usłyszeć więcej postów takich jak ten 😉