[컴][안드로이드] 앙꼬(anko)

앙꼬 / anko 사용법 / 앙꼬 사용법 / 안드로이드에서 xml 대신 사용할 수 있는 / 안드로이드에서 ui 쉽게 그리기


anko 란?

앙꼬는 대략적으로 보면 kotlin 으로 짜여진 android 의 xml 을 대체(?) 하기 위한 하나의 DSL 이다.


Builder

Kotlin 을 좀 더 보다보니, builder 라는 개념을 이야기한다.


groovy 에서 어떻게 정의되는지 잘 모르기 때문에 일단 넘어가자. Kotlin 에서는 이 builder 의 구현을 위해

  1. extension function
  2. function literal 문법: {} (중괄호) 를 사용해 함수를 표현
  3. 마지막 parameter 가 function 일 때 괄호() 를 생략할 수 있는 점

이 이용되었다. 자세한 부분은 아래 page 를 참고하자.

여하튼 그래서 아래처럼 함수를 하나 정의하면
fun html(init: HTML.() -> Unit): HTML {
  val html = HTML()
  html.init()
  return html
}
이녀석은 아래처럼 사용할 수 있게 된다.
html{
  ....
}
위의 녀석은 실제로는 아래와 같은 모습이다.
html({ ... })





anko 사용법


  • onCreate 에서 사용
  • setContentView(R.layout.main) 이런 statement 가 필요없다.
  • setText("dd") 등을 extension property 로 변경해서 text = "dd" 로 가능
  • ...

위와 같이 여러가지 anko 의 사용법들이 자세한 것은 아래 경로를 참고하자.


anko 사용 tip

여하튼 그래서 보기에는 xml 을 대체하는 json 같은 format 으로 보이지만, 실제는 kotlin code 이다. 그러므로 anko 를 사용할 때는 xml 을 사용하듯이 값을 넣는다는 생각보다는 java code 로 view 를 만든다는 생각을 갖는 것이 이해하기 쉬울 듯 하다. 이 java code 를 좀 더 보기 좋은 모습으로 바꾸어 놨다.

댓글 없음:

댓글 쓰기