본문 바로가기
반응형

분류 전체보기88

jetpack compose - 코드 기반 UI 작성 안드로이드로 열심히 작업을 하는 중에 jetpack compose라는 친구를 발견하게 되었습니다. 사실 이전에도 다른 아티클들 사이에서 여러번 봤었던 키워드이긴 한데, 그냥 jetpack의 구성요소겠거니 싶어 아는 내용(필요할 때 그때 찾아봐도 충분할 거라는 오만?)이라고 생각하고 덮어뒀던게 화근이 된 것 같습니다. 그래서 이번에 제대로 발견한 김에 이 jetpack compose가 무엇인지 알아보려고 합니다.(근데 사실 이게 안드로이드 UI 제작 기법이긴 한데 코틀린으로 작성해둬서 안드로이드 태그에 넣을지 코틀린 태그에 넣을지 한참 고민했습니다.) jetpack compose가 무엇인지? jetpack compose는 코틀린 안드로이드에서 사용되는 코드 기반 UI로, 선언형 UI입니다. 안드로이드를 위.. 2022. 2. 11.
swift를 공부하기 전에(2) 이전 글에서는 왜 스위프트를 공부해야 하는지에 대한 푸념글(?)이 었다면, 이번에는 아직 스위프트를 배우지 않은 제가 봤을 때 코틀린과 비슷한 점과 달라보이는 점들을 먼저 학습하고 들어가겠습니다. 정적 타입 검사 스위프트는 코틀린과 동일하게 언어에서 사용되는 변수들의 타입이 올바른지 런타임 이전에 검사하는 정적 타입 언어입니다. 프로그래밍에서 타입이란 int, string, double과 같은 자료형을 의미하는데 이러한 정적 타입 검사 프로그래밍 언어는 컴파일 시에 각 변수의 타입이 고정되는 것을 의미합니다. var a : Int = 3 a = "5" //type mismatching 위 코드와 같이 이미 Int형으로 타입이 고정된 a라는 변수는 더 이상 Int 이외의 값을 저장하지 못하게 됩니다. 이러.. 2022. 1. 19.
swift를 공부하기 전에(1) 이제 어느덧 안드로이드를 이용해 돈을 벌게 된 지도 1년 반이 되었습니다. 만 2년을 채우기 전에 슬슬 모바일 개발자라는 직함이 탐이 나기 시작해 swift를 시작해보려고 합니다. 이 글을 작성하는 지금에서는 어떻게 될 지 모르겠지만, 예전에 코프링을 회사에서 사용하게 되어 코프링을 공부한 적이 있는데, 그때처럼 깔짝대는 수준이 아니라 스위프트로 벌어먹고 살 수 있는 수준이 됐으면 좋겠네요. Swift를 공부하는 이유 역시 공부를 하기에 앞서 가장 중요한 것은 왜 그것을 공부해야 하는가가 아닌가 싶습니다. 저의 경우에야 안드로이드 뿐 만 아니라 ios 코드를 작성하겠다는 의지로 시작했습니다. 아마 대부분이 스위프트를 공부하는 이유가 ios에 있을 거라고 생각 합니다. (크게 보면 애플사에서 만든 OS에 .. 2022. 1. 16.
안드로이드 리사이클러뷰 데코 이번 게시글은 지극히 주관적인 사유로 쓰는 글입니다. (물론 이전 게시글도 전부 지극히 개인적인 목적이긴 하지만...) 회사에서 작업을 하다보니 조금씩 다른 margin을 이용한 gridLayout 리사이클러뷰를 사용하게 되었습니다. 그래서 그냥 xml에서 마진과 패딩을 먹여 작업을 할까 했었는데 그렇게 되면 기존에 리사이클러뷰를 감싸고 있는 Layout에 먹인 패딩이나 마진과 중복되어 원하는 값을 찾는 것이 매우 번거로워졌습니다. 그래서 그런 부분을 신경쓰지 않고 리사이클러뷰 내부에서만 돌리는 방법을 위해 ItemDeco라는 친구를 결국 사용하게 되었네요.(이때까지 작업하기 귀찮아서 어떻게든 안쓰던 건 비밀...) 하여튼! 안만들게 되었으면 모를까, 만들게 되었으니 한 번 만들어놓고 계속해서 쓰려면 되.. 2022. 1. 7.
recyclerView 스크롤 이벤트 작성 jetpack이 나오고 난 후로 페이징 관련해서 paging이라는 친절한 친구를 제공하고 있습니다. 하지만 아직까지도 여러가지 이유로 인해 리사이클러뷰의 스크롤링을 조절해야줘야 하는 상황이 생기죠. 이를 사용하기 위해 간단하게 작성한 코드를 까먹을 때 마다 보러 오기 위해 남겨둡니다. 사실 리사이클러뷰 자체에 대해서 잘 모르는 경우에는 이 코드를 보고 단번에 이해하지 못하실 가능성이 높을지도...? /** * 스크롤 아래로 퍼센트 계산 * @return % */ fun scrollPercent(recyclerView: RecyclerView): Double { return (recyclerView.computeVerticalScrollOffset() * 1.0 / (recyclerView.computeV.. 2021. 12. 29.
안드로이드 앱 실행 시간(cold, hot, warm start) 안드로이드 애플리케이션은 결국, 사용자에게 빠르고 편리한 시스템을 제공하는데 목적을 둡니다. 편리한 시스템은 기획에서부터 UI/UX에 대한 고찰을 통해 이루어집니다. 물론 개발 단계에서도 추가적으로 지속적인 수정이 이루어져야 하지만요. 사실 이때까지 만들어온 애플리케이션은 볼륨이 크지 않아 충분히 실행 속도를 신경써야 할 정도로 느리지 않았습니다. 그저 스플래시 화면에서 대기하고 넘어가는 시간보다 훨씬 더 적은 시간동안 애플리케이션 로딩을 끝마쳤습니다. 그래서 오늘의 주제는 어떻게 더 효율적으로 애플리케이션의 속도를 올려서 쓸모 있는 애플리케이션을 만들까가 아니라 어느 정도의 속도를 보장해주어야 하는지, 그리고 cold start, hot start, warm start에 대한 정의 정도가 되겠습니다. .. 2021. 10. 20.
728x90