안드로이드 with kotlin 기초 - 안드로이드 프로젝트의 이해

sanghoon·2020년 12월 21일
0
post-thumbnail

이 포스트는 Android Kotlin Fundamentals의 내용 중 lesson 2 : layout 일부를 번역하였습니다.
자세한 내용을 살펴보려면 위 링크를 참조하십시오


Activity

  • MainActivityAppCompatActivity의 하위클래스이므로 Activity 또한 상속받는다. Activity는 안드로이드의 핵심 클래스로, 안드로이드 앱 UI를 그리거나 이벤트들을 입력받는 역할을 한다.

  • 모든 액티비티는 그와 연결된 레이아웃 파일을 가지며, 레이아웃 파일은 res에 있는 XML파일이다. (ex. activity_main.xml)

  • MainActivity에 있는 setContentView()는 레이아웃과 액티비티를 연결하고, 해당 레이아웃을 액티비티가 만들어질 때 실제 객체로 만든다. 이 과정을 통해 Activity는 객체들을 스크린에 그리고, 변형하는 작업을 할 수 있다.

Views

  • 앱 레이아웃에 있는 모든 UI 요소는 View를 상속받고, views라 불린다. TextviewButton은 views의 종류들이다.

  • View 요소들은 ViewGroup으로 묶일 수 있다. view group은 view와 다른 view group의 컨테이너처럼 작동한다. LinearLayout은 view group의 한 예로, 요소들을 linear하게 정렬한다.

View 속성

  • android:layout_widthandroid:layout_height 속성은 뷰의 너비와 높이를 나타낸다. match_parent가 각 속성의 값으로 들어가면, 뷰의 너비 또는 높이를 부모의 너비와 높이까지 늘려준다. 한편 wrap_content는 뷰의 크기를 뷰의 내용을 담기에 알맞은 크기로 지정하는 값이다.

  • android:text 속성은 해당 뷰가 화면에 보여주는 텍스트를 나타낸다.

  • LinearLayoutandroid:orientation 속성은 어떤 방식으로 정렬할 것인지를 나타내는데, horizontal(수평)과 vertical(수직)을 값으로 가질 수 있다.

  • android:layout_gravity 속성은 뷰와 해당 뷰의 자식들의 위치를 결정해준다.

  • android:textSize 속성은 text view의 text 크기를 나타낸다.

Strings

  • 레이아웃 파일에 문자열들을 생으로 코딩하는 것보다 string resources를 사용하는 게 좋다.

  • res/values/strings.xml 파일은 string resources를 담는 파일이다.

  • 문자열을 추출하여 strings 파일에 넣기 위해서는 Alt+Enter(Option+Enter on a Mac)를 누른 후 Extract string resources를 선택하면 된다.

view 사용하기

  • 코틀린 코드에서 view에 접근하기 위해서는 해당 view에 id를 지정해준 뒤(android:id) findViewById()를 사용하여 뷰 객체에 접근할 수 있다.

  • xml파일에서 view에 id를 생성하면 안드로이드 스튜디오가 R 클래스에서 해당 id의 이름으로 정수 상수를 생성한다. 이후 R.id 참조를 findViewById()에서 사용할 수 있다.

  • 뷰 객체의 속성을 코틀린 코드에서 프로퍼티의 이름으로 간단히 접근할 수 있다. 예를 들어, text view의 android:text 속성은 코틀린 코드에서 text 프로퍼티로 정의되어있다.

  • click handler는 UI 요소에서 클릭이이나 탭이 발생했을 때 호출되는 메서드이다. click handler와 버튼과 같은 view를 이어주기 위해서는 setOnClickListener()를 사용하면 된다.

toast 사용하기

Toast는 사용자에게 작은 팝업창에서 간단한 메세지를 보여주기 위한 뷰이다.

Toast를 생성하려면 Toast클래스에 있는 makeText()를 다음 세 전달인자와 함께 호출하면 된다.

  • Activity의 context
  • 보여주기 위한 메세지(string resource 등과 같은)
  • 지속 시간(Toast.LENGTH_SHORT, TOAST.LENGTH_LONG)

toast를 보여주려면 show()를 호출하면 된다.

0개의 댓글