codelab 앞서 keyPositionType에서 좌표계에 대해 알아보았으니 적용해보자. Building complex paths framePosition별로 앞서 배운 keyPositionType을 이용해 위치를 명시한다. 그러면 달은 keyPosition에서
codelab(https://codelabs.developers.google.com/codelabs/motion-layout이번에도 code lab에서 MotionLayout부분을 따라해본다.keyPositionType에는 parentRelative, delt
codelab(https://codelabs.developers.google.com/codelabs/motion-layout이번에도 code lab에서 MotionLayout부분을 따라해본다.Transition에 onSwipe를 추가해 swipe action으
codelab에서 MotionLayout부분을 따라해본다.이번거는 기초중의 기초다.ConstraintLayout을 MotionLayou
Android DevelopersMotionLayout의 기본 문서를 읽어보자.MotionLayout은 ConstraintLayout의 subclass로 API 14까지 호환가능하다.MotionLayout은 property animation framework, Tran
코틀린 공식문서CoroutineContext에는 Dispatcher정보가 들어있고, Dispatcher정보를 통해 어떤 스레드에서 실행될지 정할 수 있다.Dispatchers에는 Default,IO, Main, Unconfined 등이 있다.Unconfined : ca
kotlinx.serialization jet brains 발표 블로그 포스트 블로그 포스트 Kotlin을 쓰면서 JSON (역)직렬화를 한다면 Jackson / Gson / Moshi 셋 중 하나를 쓰고 있었을 것이다. Kotlin은 Java랑 100% 호환성이 있
Kotlin 공식문서기본적으로 suspend function은 sequential하게 작동한다.위 예제에서 doSomethingUsefulOne()와 doSomethingUsefulTwo()가 dependency가 없다면 동시에 실행되도 될 것이다.이때 Deferred
Kotlin 공식문서더이상 필요없어진 coroutine은 job에 대한 레퍼런스를 갖고 있다가 cancel해주자.job.cancelAndJoin()으로 job.cancel()과 job.join()을 한번에 할 수 있다.모든 suspend function은 cancell
Kotlin 공식문서GlobalScope라는 CoroutineScope에서 CoroutineBuilder인 launch를 통해 Coroutine을 만들었다.runBlocking : Runs a new coroutine and blocks the current threa
영상개발을 편하게 해주는 단축키 관련 영상이다.안드로이드 스튜디오 버전이 달라서 그런지 영상과 다른 점이 있었다.이 글을 작성할 때의 안드로이드 스튜디오 버전은 4.1이다.select in (option + F1)을 통해 Project View 확인.다시 축소하기(co
영상Optimizing code for size, in android the dex file.Tree Shaking, Optimization, Obfuscating, Reduce Debug Informationthrid party library를 사용할 때 안쓰는 코드
사진영상Callbacks : 코드가 매우 복잡해짐. 콜백지옥. 예외처리 쉽지 않다.Rx/Promises/Futures : Compose하는 형식, 예외처리도 더 좋음(propagation). 아예 새로운 프로그래밍 방식을 학습해야함.Coroutines : 직관적인 코드
요약 이미지유튜브 영상Asynchronous code를 Syncrhonous code 처럼 작성할 수 있다. 그렇기 때문에 이해가 직관적이고, 스타일을 변경하는 것도 매우 쉽다.특히 Kotlin Corountines는 눈에는 잘 띄면서 적은 diff로 Async <
그전에는 뭐가 되었든 매주 포스팅을 했지만, 요새는 뜸했다.숨김없이 말하자면, 12월 중순부터 1월 초까지 많이 쉬었던 것 같다.원래는 1월이 시작하면서 다시 시작하려고 했지만 여러 핑계로 지금까지 퍼져있었던 것 같다.마음을 다잡고 다음과 같이 개인적인 2021 목표를
Inner Class 여러가지 목적이 있을 수 있지만, 클래스 내부에 클래스를 선언하는 경우가 있다. 이때 바깥쪽 클래스에 대한 참조가 가능한가의 여부로 경우를 나눌 수 있다. 첫번째로는 바깥쪽 클래스에 대한 참조를 저장하는 경우다. Java에서는 별다른 키워드 없이
스크롤 뷰 초기 위치 문제 한 화면 안에 모든 내용을 보이게 할 수는 없다. 그렇기 때문에 ScrollView를 이용해서 사용자가 현재 화면 밖의 화면을 볼 수 있게 구성한다. 사실 ScrollView 안에 있는 뷰들이 그나마 간단한 구조면 이럴 일은 거의 없다. 하
개발의 기본 중 기본은 게시판 만들기다.유저들은 게시판의 제목 등을 보고 게시판의 상세 내용 페이지로 들어간다.이때 게시판의 제목 대신 게시판의 상세 내용 일부를 통해 상세 내용 페이지로 들어가는 경우도 있다.아래 스샷을 참고하자. 예시안드로이드 TextView에서 B
요즘 세상에 어느정도 기능이 있는 앱이라면, 서버와의 통신이 없을 수 없다.클라이언트에 수많은 데이터를 저장해둔다던가, 고성능이 필요한 연산을 실행할 수는 없기 때문이다.그래서 안드로이드 개발의 경우 보통 OkHttp + Retrofit를 사용해서 통신을 한다.또한 보
Kotlin은 함수형 프로그래밍(Functional Programming)을 지원하는 언어다. 물론 Kotlin은 함수형 프로그래밍을 지원할 뿐, 굳이 함수형 프로그래밍을 하지 않아도 된다. 그렇지만 때때로 함수형 프로그래밍을 이용하면 편하게 구현할 수 있다. 또한 코