이것저것 다 개발

[Android] Kotlin Anko 간단하게 사용해보기 본문

Android

[Android] Kotlin Anko 간단하게 사용해보기

용용개발 2018. 4. 6. 17:59


Anko는 안드로이드 앱 개발을 더 빠르고 쉽게 만들어주는 Kotlin 라이브러리 입니다.


Anko는 총 4가지로 구성되어있습니다.

  • Anko Commons : 인텐트, 다이얼로그, 로깅 등에 도움이 되는 경량 라이브러리입니다.
  • Anko Layouts : 빠르고 안심할 수 있는 동적 안드로이드 레이아웃을 작성할 수 있습니다.
  • Anko SQLite : Android SQLite 용 쿼리 DS 및 파서 컬렉션 입니다.
  • Anko Coroutines : kotlinx.coroutines 라이브러리를 기반으로한 유틸리티 입니다.

그중 Anko CommonsAnko Layouts을 간단히 사용해보겠습니다.

AndroidManifest.xml에 dependencies를 추가해줍니다.

compile "org.jetbrains.anko:anko:0.10.4"
compile "org.jetbrains.anko:anko-commons:0.10.4"

layout.xml 파일을 없애고 Activity onCreate() 안에 View를 만드는 코드를 만들겠습니다.

verticalLayout {
padding = dip(8)

var name = editText {
hint = "Enter your name"
textSize = 16f
}

var password = editText {
hint = "Enter your password"
textSize = 16f
}

button("Login") {
textSize = 16f
onClick {
startActivity<MenuActivity>(
"name" to name.text.toString(),
"password" to password.text.toString()
)
}
}
}


위처럼 ViewGroup과 View를 variable로 정의하고 속성들을 셋팅할 수 있습니다.

startActivity<>()를 보면 Anko Commons의 간편한 인텐트 사용법을 볼 수 있습니다.

<> 안에 이동할 Activity의 Class명을 적어주고 파라메타로 "name" to value 형식으로

넘겨줄 수 있으며 ,로 여러 값을 한번에 넘겨줄 수 있습니다.


간단하게 사용해본 느낌으로는 xml을 지워가면서까지 view를 소스에서 작성할 필요까지는

없다고 생각이 들었습니다. 하지만 동적으로 view를 추가해준다거나 값을 변경할 때 사용한다면

매우 유용한 라이브러리가 될 것 같습니다.


이상입니다.


## 위 코드는 코틀린으로 코딩된 소스입니다 ##


Comments