Първа модификация на APP - Улавяне на събития и данни. - Технология
Преминете към съдържанието

Първа модификация на APP – Улавяне на събития и данни.

Реклами

В записа за създаването на първия проект на Android след това видяхме как да създадем нашето основно приложение, прегледахме структурата на проекта и различни концепции като SDK, манифест и дейностите и техния жизнен цикъл, сега ще продължим да модифицираме текущия проект с цел задълбочаване на създаването на приложения.

 

Както споменахме, ще променим приложението, създадено в този запис, където изградихме първия проект за Android, ще останем там на този екран

Там можем да видим, че приложението по подразбиране създава компонент TextView с текста „Hello World“ от разделения изглед. (Ако на този етап не знаете как да създадете приложението, препоръчвам ви да прегледате записа, споменат по-горе.)

Намирайки се тук, ще модифицираме този изглед, като добавим нови компоненти, ако след това отидем в изгледа за чертеж, можем да модифицираме екрана по наш вкус, в този случай ще създадем следния интерфейс.

Както виждаме, добавихме компонент PlainText, който всъщност съответства на поле за редактиране или който може да има свойства като обикновен текст, парола, телефон, поща между другото, по същия начин дефинираното оформление ни позволява да променяме размера на компонентите и задайте относителна позиция, в този случай текстовото поле има позиция спрямо textView на заглавието.

Ако отидем в разделения изглед, ще видим генерирания xml код и оттук можем да променим свойствата ръчно, в този случай е добавен цвят към заглавието и размер от 25sp, имайте предвид, че всеки компонент има свойство id , както и свойства за управление на позиционирането на компонента на екрана.

 

Ние намираме други компоненти като бакшиш което съответства на a placeHolder което се показва, докато полето е празно, могат да се добавят други свойства по същия начин, за да стилизирате компонента.

 

Сега компонент като който също има свойството id, което е относително към компонента на текстовото поле, в този случай ние променяме идентификатора.

Логика на приложението.

 

За да извършим логическа и информационна обработка, отиваме в класа MainActivity.kt, оттам получаваме графичните компоненти чрез техния идентификатор, използвайки метода findViewById().

 

Добавяме събитие за щракване на бутона и създаваме функция, наречена onClick() (Може да се извика по всякакъв начин)

 

В тази функция се добавя логика за улавяне на стойността на текстовото поле, което се препраща по същия начин като бутона, но в този случай се създава компонент от тип EditText, който препраща към идентификатора на текстовото поле.

 

Впоследствие стойността на полето се получава и се добавя към променлива String, която след това се представя в компонент от тип Toast, който позволява временно съобщение да бъде показано на екрана.

 

Когато стартираме приложението, емулаторът се стартира и можем да тестваме системата, като добавим потребителското име и натиснем бутона „enter“, виждаме как се показва Toast, което продължава няколко секунди.


След това модифицираме екрана, като добавяме друг TextView компонент без текст, който ще служи за показване на информацията за въведеното име, но вече директно на екрана.

За да изпълним тази логика, се връщаме към класа MainActivity.kt и във функцията препращаме към компонента EditText с присвоения идентификатор и след това изпращаме съобщението, което искаме да покажем.

 

По-късно стартираме приложението отново и имаме следния резултат.


 

Друга алтернатива за прихващане на данни е глобалното деклариране на компонентите, като по този начин се избягва необходимостта да се декларират във всяка функция:


Важно за използване!! за да ви попречи да имате нулеви препратки.

 

Наблюдение:

 

В редове 11 и 12 се използва nullsafety, това е функция на Kotlin, която ви позволява да контролирате нулеви стойности в рамките на приложението, предотвратявайки зареждането на популярния NullPointerException, не можем да присвоим нулеви стойности директно, но по този начин, когато посочим Редактиране на текст? ние казваме на компилатора, че това поле може да има нулева препратка и позволява да бъде обработено.

 

в редове 26 и 27 се използва !! да каже на компилатора да не проверява дали стойността е null и следователно може да компилира без никакви проблеми, но ако е null, да хвърли изключението в конзолата, в случай че знаем, че може да пристигне null стойност и все пак искаме да обработим

 

Друга препоръчителна алтернатива би била да правите безопасни повиквания, така че когато се опитате да извикате обекта, ако той е null, изключението няма да бъде хвърлено, но null стойността ще бъде съхранена без прекратяване на процеса, така че променливата трябва да бъде nullable за да бъде компилиран правилно.

 

И това е всичко, с което имаме първото си функционално приложение с улавяне на данни и събития с бутони.

 

Може също да ви заинтересува.





Има ли нещо, което искате да добавите или коментирате за този запис? чувствайте се свободни да правите....И ако ви е харесало... каня ви да споделите г Абонирайте се, като щракнете върху бутона „Присъединете се към този сайт“, за да чуете повече публикации като тази 😉