본문 바로가기

전체 글

(73)
앱 제작 (4) 스타크래프트 실력 측정기 안녕하세요 Loner입니다. 바빠서 안드로이드 개발 정리보다 옛날에 만들었던 앱을 하나 더 open 해볼까합니다. (안드로이드 개발란에 Compose 이야기를 연속적으로 적어내고 싶어서 다른 안드로이드 개발 얘기는 일단 지양중입니다.) 다운링크 https://play.google.com/store/apps/details?id=kr.loner.starcarftpoll 스타크래프트 고인물 측정기 - Google Play 앱 당신이 20 년 이상의 역사를 가진 스타 크래프트 유저라면 한번 쯤 해보시길 바랍니다. play.google.com 1. 소개 애니메이션 효과좀 테스트 해볼려고 장난 삼아 만들었던 추억의 앱입니다. 크게 대단한 기능 없는 단순 문제 테스트 앱입니다. 개인 취미로 개발문서 읽기 , 사이드협..
kotlin (6) - lateinit 과 by lazy 용도 간단 정리 내일 토요일을 맞기 전에 java, kotlin , oop, solid , mvvm,mvc,mvp , AAC, android 등등을 한번에 복습을 해봤습니다. 과거에 공부했던 것들을 다시 보니 안보였던 부분들이 다시 보이기도하고 감회가 참 새로운거 같습니다. 이래서 영화를 여러번 돌려보나봅니다. 아무튼 마음 같아선 모두 한꺼번에 정리하는 글을 적고 싶지만 아쉽게도 시간은 한정적이네요 0. 지연 초기화 (lazy initialization) 프로퍼티의 초기화를 필요한 시점에서 하는 기법입니다. 그래서 소프트웨어 성능이나 효율의 이점을 얻을 수 있습니다. kotlin에서는 2가지 지연 초기화를 지원합니다. lateinit 과 by lazy입니다. 1. lateinit - var 프로퍼티에서 사용가능 - nu..
kotlin (5) Object 와 Companion Object 안녕하세요 loner 입니다. compose 관련 작성을 열심히 준비하다가 오랜만에 Kotlin 관련글로 돌아왔습니다. 어제 새벽에 지인 블로그를 살펴보다가 기본적인 지식들을 우연히 보게 되었습니다. https://jcchu.medium.com/ JCChu – Medium Read writing from JCChu on Medium. “기본부터”라는 말을 좋아하지만 정작 기본이 없는… 기본을 쌓아나가려고 합니다. 안드로이드 개발자로 성장하기 위해 열심히 책상앞에 앉아 두들겨보겠습니다. E jcchu.medium.com 위 블로그를 보다가 기본적인 내용이 몇가지 나왔는데 기본적인 것에 대한 상세내용이 기억이 나지않아서 복습할 필요성을 느꼇습니다.. 기본적인것에 대한 용도는 알고 평소에도 잘활용하지만 내부가..
안드로이드 개발 (9) Compose 상태 관리 jetpack compose 에 한창 포스팅 중입니다. https://gift123.tistory.com/33 안드로이드 개발 (8) Compose 이해 정리 이번 포스팅부터 Compose에 대해 차근히 파헤쳐 가보겠습니다. Android Compose 공식 문서를 보면서 정리한 내용들 입니다. https://developer.android.com/jetpack/compose/mental-model?hl=en Compose 이해 |.. gift123.tistory.com -이전편 Compose 이해정리 오늘은 Compose 상태관리를 알아보도록 하겠습니다. Compose에서의 상태 *앱의 상태는 시간에 따라 변할 수 있는 값을 모두 포함한 것을 이야기한다. (ex: Room 데이터베이스부터 클래스 변수까..
안드로이드 개발 (8) Compose 이해 정리 이번 포스팅부터 Compose에 대해 차근히 파헤쳐 가보겠습니다. Android Compose 공식 문서를 보면서 정리한 내용들 입니다. 기존 안드로이드 UI개발의 단점 - 일반적으로 뷰를 수동으로 조작하기 때문에 오류 발생률이 커짐 - 데이터를 여러 위치에서 렌더링 할 때 여러뷰 중에 업데이트를 잊어먹는 View가 생기기 쉬움 - 두개의 View 업데이트가 예기치 않는 방식으로 충돌 될 때 잘못된 상태로 UI가 그려질 수 있음 - 업데이트가 필요한 뷰가 많을 수록 소프트웨어 유지관리 복잡성 증가 선언형 프로그래밍 패러다임 - 프로그래밍 업계 전반적으로 선언형 UI 모델로 전환하기 시작함 - 인터페이스 빌드 및 업데이트와 관련된 엔지니어링이 크게 간소화 됨 - 화면 전체를 개념적으로 재생성하고 부분적으로..
안드로이드 개발 (7) Compose 를 사용하는 이유 안녕하세요 Loner입니다. 구글 IO 2018에서 처음 Compose가 공개 되었고, 3년 동안 제작기간을 거친 Compose는 현재 Beta 버전 입니다. Compose는 Kotlin으로 제작되는 라이브러리 이며 선언형 프로그래밍 방식으로 UI를 그립니다. 하지만 오랫동안 ui를 xml에 익숙한 안드로이드 개발자는 왜 compose라는 새로운 UI Tool를 만드는지 의아해 할것입니다. 1. 기존 Android UI 제작 특징 UI의 속성같은 경우 Xml에다가 UI 속성을 정의를 하는경우가 있고, Class에서 프로그래밍으로 정의를 하는 경우가 있습니다. 두개의 파일로 어디서든지 속성을 정의할 수 있습니다. 안드로이드는 기본적으로 Xml를 통해서 ui만든 다음에 class(Activity or Fra..
안드로이드 개발 (6) - Glide 캐시 처리 https://bumptech.github.io/glide/doc/caching.html#caching-in-glide Glide v4 : Caching Caching in Glide By default, Glide checks multiple layers of caches before starting a new request for an image: Active resources - Is this image displayed in another View right now? Memory cache - Was this image recently loaded and still in memory? Resourc bumptech.github.io 위의 내용에 따라 정리를 해봤습니다. Glide는 요즘 안드로이드..
안드로이드 개발 (5) - 메모리 누수 복습한 것을 정리합니다. 가비지 콜렉터 (GC)란? 모든 어플리케이션은 작업을 하는데 필요한 메모리가 필요한데 가비지 콜렉터가 이에 대한 메모리를 확보를 해줍니다. Android 의 경우 런타임에서 메모리가 부족한 경우에 가비지 콜렉터를 트리거해서 어플리케이션을 원활히 동작할 메모리를 다시 확보를 해줍니다. 가비지 콜렉터의 수집은 3단계로 진행이 됩니다. 1) 메모리에 있는 모든 객체 참조를 나열 해서 참조가 있는 활성객체를 표시 2) 1)에서 표시가 되지 않는 객체들을 메모리에서 제거 3) 살아있는 객체를 재 정렬 가비지 콜렉터는 이런식으로 수집해서 메모리를 확보해줍니다. 메모리 누수란? 어플리케이션에서 사용하지 않는 객체가 사용중인 어떠한 객체를 참조중이라서 사용되지 않는 객체를 GC가 결국 사용되지..