전체 글 1664

OkHttp의 Network Interceptor

아래와 같이 Retrofit builder에 interceptor를 넣어서 디버깅하면 편리 하다. 아래 주석을 한 것처럼 원하는 데이터만 출력 하는 방법이 있는가 하면, HttpLoggingInterceptor 객체를 생성하여 level만 정해 주고 그냥 쓰는 방법이 있다. HttpLoggingInterceptor로 왠만한 정보를 볼 수 있다. interface GithubApi { @GET fun getUserList(@Url url: String) : Observable } object GithubApiProvider { fun provideGithubApi(): GithubApi { return Retrofit.Builder() .baseUrl(Constant.BASE_URL) .client(pro..

Kotlin 코드를 Java 코드로 보는 방법

안드로이드에서 코틀린으로 작성한 코드는 JVM으로 자바 바이트 코드(Java Bytecode)로 변환되어 동작한다고 한다. 안드로이드 스튜디오에서 코틀린(Kotlin)으로 작성한 코드를 자바(Java) 코드 형태로 보고 싶을 경우 1. Tools > Kotlin > Show Kotlin Bytecode 메뉴로 접근 2. 또는 cmd + shift + A (Mac) / ctrl + shift + A (Windows) 단축키 후 > Kotlin Bytecode 3. 위 과정을 거치게 되면 오른쪽에 Kotlin Bytecode 사이드 바가 생기는데 변환하고자 하는 파일에서 Decompile 버튼을 클릭한다. 4. 버튼을 클릭하게 되면 자바로 변환된 코드가 생성되어 코드를 확인할 수 있다. 위 같은 과정으로 자..

Kotlin : object keyword vs companion object keyword, and 익명 클래스

object 키워드 - 싱글턴(singletion; 인스턴스가 하나만 있는 클래스)을 선언하는 키워드 object MySingleton{ val prop = "나는 MySingleton의 속성이다." fun method() = "나는 MySingleton의 메소드다." } Companion object 키워드 - 클래스내의 객체 클래스(static이 아니다.... 하지만 비슷한 효과가 난다.) - 축약형이 가능 class MyClass2{ companion object{ val prop = "나는 Companion object의 속성이다." fun method() = "나는 Companion object의 메소드다." } } fun main(args: Array) { println(MyClass2.Com..