본문 바로가기

안드로이드/Android Studio

[ Android / Kotlin ] Anko 라이브러리 소개 및 사용법

안녕하세요 gyub입니다!

 

이번에 다룰 내용은 Anko 라이브러리입니다.

 

  • 소개

Anko는 젯브레인에서 개발한  코드 작성을 할 때 더 빠르고 쉽게 작성할 수 있게 도와주는  라이브러리입니다.

 

Anko의 구성은 다음과 같습니다.

  • Anko Commons: 인텐트, 다이얼로그, 로그 등을 편리하게 사용할 수 있습니다.
  • Anko Layout: 레이아웃을 코드로 보다 쉽게 작성할 수 있습니다.
  • Anko SQLite: SQLite를 보다 쉽게 사용할 수 있습니다.
  • Anko Coroutines: 코루틴을 쉽게 사용할 수 있습니다.

더 많은 정보가 필요하시다면 Anko 공식 깃허브에서 확인하시면 됩니다!

 

Anko github : https://github.com/Kotlin/anko

 

  • 설정

gradle 세팅 ( gradle 세팅법에 관해 궁금하시면 아래를 클릭해주세요)

2020/02/29 - [안드로이드] - gradle 버전 관리하기

    implementation "org.jetbrains.anko:anko-commons:$anko_version"

 

  • 예제

세팅을 마쳤으니 바로 예제로 알아보겠습니다.

 

1. Toast 메시지

// default
Toast.makeText(this,"안녕하세요 gyub입니다.",Toast.LENGTH_LONG).show() 

// anko      
toast("안녕하세요 gyub입니다")

 

2. Intent 

// default
val intent = Intent(this, TestActivity::class.java)
        intent.putExtra("name", "gyub")
        startActivity(intent)

// anko
startActivity<TestActivity>(
            "name" to "gyub"
        )

보낼 데이터가 없을 시 startActivity<TestActivity>() 만 작성해주시면 됩니다.

또한 데이터를 받을 때에는 기존에 방식대로 getIntent로 받으시면 되겠습니다!

 

3. Alert Dialog 

// default

val alertDialog = AlertDialog.Builder(this)
            .setTitle("Gyub")
            .setMessage("안녕하세요 gyub입니다")
            .setPositiveButton("OK"){
                dialog, which -> toast("반갑습니다")
            }
            .setNegativeButton("CANCEL",null)
            .create()

        alertDialog.show()


// anko

alert("안녕하세요 gyub입니다.", "Gyub") {
            yesButton { toast("반갑습니다.") }
            noButton {}
        }.show()

 

기존 코틀린 코드와 anko 라이브러리를 사용한 코드를 비교해봤습니다!

확실히 작성하기 편하고 간결한게 눈에 보이시죠!?

여기선 다루지 않았지만 개인적으로 anko 레이아웃은 손이 잘 안 가는 편입니다 ㅠㅠ

 

예제를 세개만 다뤘지만 더 많은 예제를 원하시면 위에 올려놓은 anko 깃허브에 가셔서 위키 보시면 될 것 같습니다!!

 

봐주셔서 감사합니다!
질문이나 수정되어야 할 부분이 있다면 댓글로 남겨주세요!

 

 

+ 정말 유용하고 편리한 라이브러리지만 2019년 12월부로 Deprecated 되었습니다.

  그래도 아직 사용할 수는 있지만 대체 안드로이드 확장 라이브러리인 Splitties를 사용해보시는 것도 추천합니다.

 

 

 

 

 

 

 

 

 

 

반응형