2020/10/01 5

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..

푸쉬업과 라운드 숄더 그리고 어깨 아픔

오랫동안 컴퓨터를 하다보면.. 어깨가 아프다. 그래서 풀업도 해봤고, 수영도 하고 마라톤도 하고 라운드숄더 교정 운동도 하고 침도 맞고... 많은 걸 해봣는데... 결론은 노력에 비해서 효과가 크지 않고 어깨가 다시 아프다는 것이다. 사실 풀업은 효과가 확실히 있었다. 다만 몇개 못하여 재미가 없다 보니 꾸준히 하기가 힘들더라. 수영은 재미로 한건데.. 조금 도움은 되었다.. 하지만 수영장이 근처에 있어야 하고 또 가야 하고 해서.. 진입 장벽이 높다. 달리기는 아직도 꾸준히 하는 운동인데... 솔직히 이건 라운드 숄더에 별로 도움이 안된다.ㅋㅋㅋ 그냥 내가 재밌어서 하는거지.. 침은 맞으면 며칠은 편하다.. 그리고 다시 아프다.. 이건 근본적인 것을 해결해 주는게 아니라서.. 심하게 아플 때만 크게 도..

오늘하루 2020.10.01