APP의 첫 번째 수정 - 이벤트 및 데이터 캡처. - 기술
콘텐츠로 건너뛰기

APP의 첫 번째 수정 – 이벤트 및 데이터 캡처.

광고

Android에서 첫 번째 프로젝트 생성에 대한 항목에서 기본 애플리케이션을 생성하는 방법을 살펴보고 프로젝트 구조와 SDK, 매니페스트, 활동 및 수명 주기와 같은 다양한 개념을 검토했습니다. 이제 현재 프로젝트를 계속 수정해 보겠습니다. 앱 제작에 대해 더 자세히 알아보기 위해

 

언급한 대로 첫 번째 Android 프로젝트를 빌드한 이 항목에서 생성된 애플리케이션을 수정하고 이 화면에 그대로 유지하겠습니다.

여기에서 기본 애플리케이션이 분할 보기에서 "Hello World"라는 텍스트가 포함된 TextView 구성 요소를 생성하는 것을 볼 수 있습니다. (이 시점에서 앱을 빌드하는 방법을 모른다면 위에서 언급한 항목을 검토하는 것이 좋습니다.)

여기서는 새 구성 요소를 추가하여 이 보기를 수정하겠습니다. 그런 다음 디자인 보기로 이동하면 원하는 대로 화면을 수정할 수 있습니다. 이 경우 다음 인터페이스를 생성하겠습니다.

보시다시피 실제로 편집 필드에 해당하거나 일반 텍스트, 비밀번호, 전화, 메일과 같은 속성을 가질 수 있는 PlainText 구성 요소를 추가했습니다. 정의된 레이아웃을 사용하여 크기를 수정할 수 있는 것과 같은 방식입니다. 구성 요소를 선택하고 상대 위치를 할당합니다. 이 경우 텍스트 필드는 제목의 textView를 기준으로 한 위치를 갖습니다.

분할 보기로 이동하면 생성된 xml 코드가 표시되며 여기에서 속성을 수동으로 수정할 수 있습니다. 이 경우 제목에 색상을 추가하고 크기는 25sp입니다. 각 구성 요소에는 id 속성이 있습니다. , 화면에서 구성 요소의 배치를 제어하는 속성도 있습니다.

 

우리는 다음과 같은 다른 구성 요소를 찾았습니다. 이는 자리 표시자 필드가 비어 있는 동안 표시되는 속성은 구성 요소의 스타일을 지정하는 것과 같은 방식으로 다른 속성을 추가할 수 있습니다.

 

이제 유형의 구성요소가 추가되었습니다. 여기에는 텍스트 필드 구성 요소와 관련된 id 속성도 있습니다. 이 경우 식별자를 수정합니다.

애플리케이션 로직.

 

논리적 및 정보 처리를 수행하기 위해 MainActivity.kt 클래스로 이동하고 거기에서 findViewById() 메서드를 사용하여 해당 ID를 통해 그래픽 구성 요소를 가져옵니다.

 

버튼의 클릭 이벤트를 추가하고 onClick()이라는 함수를 만들었습니다(어떤 방식으로든 호출 가능).

 

이 함수에서는 버튼과 동일한 방식으로 참조되는 텍스트 필드의 값을 캡처하기 위한 로직이 추가되지만, 이 경우 텍스트 필드의 ID를 참조하는 EditText 유형의 구성 요소를 생성합니다.

 

그런 다음 필드 값을 가져와 화면에 임시 메시지를 표시할 수 있는 토스트 유형 구성 요소에 표시되는 문자열 변수에 추가합니다.

 

애플리케이션을 실행하면 에뮬레이터가 시작되고 사용자 이름을 추가하고 "Enter" 버튼을 눌러 시스템을 테스트할 수 있습니다. 몇 초 동안 지속되는 토스트가 어떻게 표시되는지 확인할 수 있습니다.


그런 다음 텍스트 없이 다른 TextView 구성 요소를 추가하여 화면을 수정합니다. 이 구성 요소는 입력된 이름의 정보를 화면에 직접 표시하는 역할을 합니다.

이 논리를 수행하기 위해 MainActivity.kt 클래스로 돌아가서 함수에서 할당된 ID가 있는 EditText 구성 요소를 참조한 다음 표시하려는 메시지를 보냅니다.

 

나중에 애플리케이션을 다시 시작하면 다음과 같은 결과를 얻습니다.


 

데이터를 캡처하는 또 다른 대안은 구성 요소를 전역으로 선언하여 각 함수에서 구성 요소를 선언할 필요를 방지하는 것입니다.


사용하는 것이 중요합니다!! 널 참조가 발생하는 것을 방지합니다.

 

관찰:

 

11행과 12행에서는 nullsafety가 사용되는데 이는 애플리케이션 내에서 null 값을 제어할 수 있도록 하는 kotlin 기능으로, 널리 사용되는 NullPointerException이 로드되는 것을 방지합니다. null 값을 직접 할당할 수는 없지만 EditText? 우리는 이 필드가 null 참조를 가질 수 있고 처리될 수 있음을 컴파일러에 알리고 있습니다.

 

26행과 27행에서 사용!! 값이 null인지 확인하지 않도록 컴파일러에 지시하여 문제 없이 컴파일할 수 있지만 null인 경우 null 값이 도착할 수 있다는 것을 알고 여전히 처리하려는 경우 콘솔에서 예외를 발생시킵니다.

 

또 다른 권장되는 대안은 안전한 호출을 하는 것입니다. 따라서 개체를 호출하려고 할 때 개체가 null이면 예외가 발생하지 않지만 프로세스를 종료하지 않고 null 값이 저장되므로 변수는 null을 허용해야 합니다. 올바르게 컴파일하려면 .

 

이것이 바로 데이터 캡처 및 버튼 이벤트가 포함된 첫 번째 기능적 애플리케이션이 있는 것입니다.

 

그것은 또한 당신이 관심을 가질 수 있습니다.





이 항목에 대해 추가하거나 언급할 사항이 있습니까? 부담없이….그리고 당신이 그것을 좋아한다면... 나는 당신이 공유하도록 초대합니다 와이 이와 같은 게시물을 더 많이 들으려면 "이 사이트 가입" 버튼을 클릭하여 구독하십시오. 😉