반응형
kotlin-android-extensions
kotlin-android-extensions 플로그인을 이용해 뷰의 id를 findViewById를 이용해 가져올 필요가 없어졌다.
// 기존 사용
Button btnA;
btnA = findViewById(R.id.btn_a);
btnA.setOnclickListener(listener);
// 코틀린 사용
btn_a.setOnClickListener(listener) // Button을 정의해줄 필요가 없음.
Anko 라이브러리를 이용한 코드 단축
Intent를 이용해 화면을 전환할 때 Anko를 사용할 때와 사용하지 않을 때 코드 길이차이가 많이 난다.
처음엔 나도 너무 간단해서 이게 뭔가 싶었는데..
// 기존
val intent = Intent(this, ResultActivity.class) // 기존
val intent = Intent(this, ResultActivity::class.java) // 코틀린
startActivity(intent)
// Anko
startActivity<ResultActivity>() // Anko 사용
기존 코드와 Anko를 사용한 코드는 모두 같은 동작을 한다.
( 기존 코드에서 코틀린과 안드로이드의 문법이 조금 차이나서 두줄로 작성하였다. )
intent를 넘길때 데이터를 같이 넘겨줄 수 있는데, 이때는 어떻게 다른지 보자.
// 기존
val intent = Intent(this, ResultActivity.class) // 기존
val intent = Intent(this, ResultActivity::class.java) // 코틀린
intent.putExtra("data1", data1); // 데이터 전달.
intent.putExtra("data2", data2);
startActivity(intent)
// Anko
startActivity<ResultActivity>(
"data1" to data1, // Anko 사용
"data2" to data2
)
약간 json 느낌이 나는 데이터 전달 방식이다. 확실히 익숙해지면 편해질 것 같은 느낌.
Toast를 사용할때도 많은 차이를 보였다.
기존 코드는 가끔 .show()를 생략해 실제로 노출이 되지 않는 경우도 많았는데, Anko를 사용하면 그럴 가능성이 없다.
// 기존
Toast.makeText(this, "토스트입니다", Toast.LENGHT_LONG).show()
// Anko
toast("토스트입니다.")
Anko의 경우는 4가지의 라이브러리로 구성되는데, 사용하는데로 포스팅 해볼 예정이다.
- Anko Commons : 인텐트, 다이얼로그, 로그 관련된 라이브러리
- Anko Layouts : 안드로이드 레이아웃관련 라이브러리
- Anko SQLite : SQLite를 쉽게 사용하는 라이브러리
- Anko Coroutines : 코루틴을 쉽게 사용하는 라이브러리
반응형
'Develop > Android' 카테고리의 다른 글
Kotlin ) 웹 뷰를 이용한 사이트 이동, 검색앱 만들기. (0) | 2019.07.03 |
---|---|
vectorDrawables.useSupportLisbrary (0) | 2019.06.17 |
Kotlin ) 코틀린 기초 Part#8 - 확장함수, 형변환, 그외 함수 (0) | 2019.06.14 |
Kotlin ) 코틀린 기초 Part#7 - 람다식, SAM (0) | 2019.06.13 |
Kotlin ) 코틀린 기초 Part#6 - 컬렉션 (0) | 2019.06.13 |