9월, 2018의 게시물 표시

Kotlin 앱 공유하기 기능 추가 - 간단한 Kotlin 앱 개발

이미지
아래 링크에 공유하기 커스텀 기능과 상세 기능이 자세히 설명되어 있습니다. 단축URL을 생성하는 안드로이드 앱 만들기2 이 포스트는 자바로 구현된 앱을 Kotlin 으로 재개발한 것 으로 Kotlin 에 관한 내용을 중점으로 다루고 있습니다. 앱에 대한 상세한 설명은 위 자바 버전으로 된 포스트를 참고 부탁합니다. Kotlin 리스너 콜백 구현 이전 편에 이어서 Kotlin으로 만든 retrofit 을 사용해서 단축 URL API를 요청해 보겠습니다. EditText에 입력된 URL을 단축 URL 생성 API로 요청합니다. DataManager에 구현된 loadShorturl() 은 success() 성공 콜백과 error() 에러 콜백을 받을 수 있습니다. 자바처럼 Listener 를 만들지 않고 람다표현식으로 간단하게 구현할 수 있습니다. success() 콜백은 파라메터가 한개이기 때문에 블럭안에서 it 으로 대체해서 간단하게 사용할 수 있습니다. error() 콜백은 파라메터를 두개 받으며 사용하지 않는 파라메터는 _ 으로 표현할 수도 있습니다. 여기서 t 는 Throwable 로 자바에서는 Throwable t 처럼 표현됬을 것 입니다. 이처럼 람다 표현식으로 유추해서 개발할 수 있기때문에 간결한 코드가 간결해집니다. //람다 표현식으로 콜백 사용하기 dataManager .loadShorturl(     url,     {          share(it.url)     } ,     { _, t ->         Toast.makeText( this , "error: " + t. message , Toast. LENGTH_SHORT ).show()     } ) 유용한 apply 함수 apply { ... } 함수는 블럭으로 this 를 넘겨줍니다. 즉, 아래 코드에서 apply { ... } 블럭안으로 Intent가 넘어오기 때문에 메

Kotlin 앱 네트워크 요청 및 응답 기능 추가 - 간단한 Kotlin 앱 개발

이미지
안드로이드 자바 버전으로 만들었던 단축URL 앱을 Kotlin 버전으로 개발해 보겠습니다. 단축URL 자바 버전 설명은 아래 링크에 있습니다. 단축URL 앱 만들기(자바 버전) 이번에 개발할 앱은 단축URL을 생성하는 앱 입니다. 네이버 API를 사용해서 Kotlin과 retroift을 사용해서 단축URL을 생성하고 공유하는 앱을 개발할 것입니다. 단축URL API는 네이버 API를 사용합니다. 네이버 API를 설정하는 방법은 자바버전 단축URL 앱 만들기 1  에서 소개 했습니다. 네이버 API 설정방법 단축URL 생성 앱 Kotlin 설정 build.gradle apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' dependencies {     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" } build.gradle 의 plugin으로 kotlin-android 와 kotlin-android-extensions 를 추가합니다. Kotlin 안드로이드 익스텐션은 코틀린을 사용할 때 유용한 도구를 지원합니다. //기존 자바 TextView versionTextView = findViewById(R.id.version_text); versionTextView.setText("ver" + BuildConfig.VERSION_NAME); //Kotlin 안드로이드 익스텐션 version_text .text = "ver " + BuildConfig.VERSION_NAME 위 코드처럼 findViewById() 로 뷰를 사용하고 있었지만, 익스텐션에서는 리소스의 id로 직접 접근해서 사용할 수 있기때문에 좀 더 편하게 개발할 수 있습니