목록분류 전체보기 (163)
Simple&Natural
사용할 API 업비트에서 제공하는 호가정보 조회를 이용하였습니다. api.upbit.com/v1/orderbook Json 데이터의 구조는 다음과 같습니다. [ { "market":"KRW-BTT", "timestamp":1601978350558, "total_ask_size":1661426721.82969615, "total_bid_size":3193649917.22018229, "orderbook_units":[ { "ask_price":0.38, "bid_price":0.37, "ask_size":52579173.39995168, "bid_size":326923944.36043933 }, { "ask_price":0.39, "bid_price":0.36, "ask_size":110921173.949..
Serialize와 Parcelize 모두 객체의 직렬화를 위해 사용되는 기능이다. 다만, Parcelize의 경우 Android SDK에서만 지원된다. 기존의 Parcelize는 컴파일 상의 이점이 있었으나 보일러플레이트 코드가 많아 부담이 되었는데 코틀린에서는 새로이 Parcelize annotation을 도입하여 간단하게 사용할 수 있게 하였다. 참고자료 simsi6.tistory.com/69 [Android] Kotlin Parcelize 등장 - Serializable vs Parcelable 안드로이드 컴포넌트나 Fragment간에 클래스로 데이터를 주고 받을 때 Serializable, Parcelable을 구현해야 합니다. 직렬화/역직렬화, 마샬링/언마샬링 이라고도 하는 이 두 기법은 아주..
내가 겪었던 문제는 아니지만 얼마 전 아는 개발자 분의 문제를 함께 해결해주면서 있었던 이슈이다. 이 부분은 예전에 채팅앱을 만들 때 서비스를 다루면서 알고 있던 부분이라 다행히 바로 찾아낼 수 있었다. 문제인즉슨, 앱이 종료 유무에 관계없이 지속적으로 카운팅이 유지되는 기능이 필요한데 앱을 껐다 키면 카운팅이 새롭게 시작되는 현상이었다. 소스코드를 부탁드리고 문제의 원인을 분석해보았다. 원인은 의외로 간단했는데 바로 카운팅 작업을 다루는 서비스를 액티비티에 단지 바인드만 시킨 것이 문제였다. 안드로이드 공식 문서에서는 다음과 같은 내용을 찾을 수 있다. Bound A service is bound when an application component binds to it by calling bindSe..
구글에서 찾아보면 대부분 소스코드 상에서 동적으로 변경하는 자료들이 많이 나온다. xml 상에서 적용하는 코드를 원했는데 대표적으로 나오는 솔루션들이 잘 먹히지가 않아서 이것저것 바꾸어보며 동작 조건을 알아보았다. 액티비티나 프래그먼트 상의 소스코드는 별로 다를 게 없고 xml을 조건에 맞게 작성하는 것이 중요하다. - 무슨 이유인지는 모르겠으나 ListView는 Hide가 동작하지 않으니 유의해야 한다. - 최상위 레이아웃은 반드시 CoordinatorLayout으로 선언해주어야 한다.