본문 바로가기

전체 글

(73)
안드로이드 개발(35) 안드로이드 설계 - Layered Architecture 잠이 안오는 밤에 생각을 정리하기 위해 글을 작성 하게 되었습니다. 안드로이드 설계 관한 이야기를 하기전에, 안드로이드 개발을 이야기 해보자면 안드로이드 개발은 Activity, Service, ContentProvider, BroadCastReceiver 크게 4개의 컴포넌트가 존재합니다. 이 네가지는 공통적으로 Context를 제공해주며 앱에 진입할 수 있는 진입점이 됩니다. 또한 안드로이드에서 어플리케이션은 기본적으로 반드시 1개 이상의 Activity가 필요합니다. Activity가 없는 어플리케이션은 실행 할 수 가 없습니다. 그로므로 manifest에 최소 1개의 Activity 가 있어야 하며 앱 실행의 시작점을 Activity intent-filter안에서 명시 해놔야 합니다. Activi..
홍드방 입문자님을 위한 파이어베이스 그레들리 셋팅 방법(gradle 7.x 이상) 이글은 홍드로이드 단톡방에 계신 입문자 분들을 위해 작성합니다. https://open.kakao.com/o/gWIiEKWc 왕초보 안드로이드 개발 질문 답변 #유튜브구독후1:1인증 #홍드로이드 #안드로이드 #개발자 #취준생 #앱개발 #android #개발공부 #java # kotlin #프로그래밍 open.kakao.com 파베 프로젝트 셋팅할때 이렇게 하라고 나옵니다. (1)build.gradle(Project:플젝명) buildscript { repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository } dependencies { ... // Add this..
안드로이드 개발 (34) RecyclerView 성능 향상 Android 개발을 하다보면 불가피 하게 RecyclerView를 사용해야 하는 순간이 대부분 옵니다. 요새 Compose열풍이 휩쓸고 있지만 아직은 회사에서 사용하는 목록형 UI는 RecyclerView를 통해 만들었을 겁니다. 저 또한 마찬가지로 RecyclerView를 활용하여 목록형 UI를 만들던 도중이었습니다. 하지만 테스트 기기중에 저사양 기기는 RecyclerView를 단순하게 사용하면 버벅거림을 피할 수 없었습니다. 저사양 기기에서 최상의 퍼포먼스를 내기 위해 연구했습니다. 내가 만든 소프트웨어는 기기에 차별받지 않고 항상 사랑받고 싶은 욕심으로.. 연구했던 내용을 블로그에 정리하려고 합니다. 0. 느린 렌더링 "UI 렌더링은 앱에서 프레임을 생성하여 화면에 표시하는 작업입니다. 사용자와..
Kotlin (8) kotin in practice "Kotlin의 장점을 내가 활용하는 걸까?" 스스로에게 질문은 던졌고 내 스스로 내린 대답은 No 였습니다. 항상 변해가는 안드로이드 개발은 언제나 공부 투성이이고 예전 시나리오들을 모르는 개발자들은 어떻게 발전해왔는지도 함께 공부를 해야합니다. 같은 발자취를 걷다가 어느새 Android 의존적인 개발 보다 Kotlin 이나 Java에 충실하고 변하는 안드로이드 플랫폼에 너무 의존적이지 않고 본질을 파고 들고 싶다는 생각이 듭니다. 여러 생각이 들어서 공부하면서 Kotlin 글을 작성해야겠다는 생각이 들었습니다. 이 게시글은 막막한 생각 앞에 특별한 주제 없이 즉흥적으로,, Kotlin을 사용하는 production 개발 업무를 하다가 다시 기본적인 것을 뒤돌아보고 정리한 내용 입니다. 1. 변경 가능..
안드로이드 개발 일기 2 - 핵심은 기본기 안드로이드 개발을 시작하고 여러 사람을 봽기도 하고 짦은 시간안에 다양한 경험을 했던 것은 놀랍다. 뒤돌아 생각해보니 사이드 협업프로젝트 4개, 외주 큰 일 2개, 개인앱 3개, 공모전 2번 수상 등등 개발을 좋아했던 마음은 다채로운 경험을 하게 도왔고 정신 차려보니 가슴을 뛰게하는 스타트업에 와서 열정을 불태우고 있었다. 회사의 일을 함부로 언급해서는 안되지만 그나마 언급할 수 있는 것은 기존 리액트 네이티브로 만든 앱에서 네이티브로 전환점을 가지는 시기에 안드로이드 개발자를 채용하였고, 회사의 재밌는 사업 아이템이 진정 스타트업의 느낌이 물씬 나서 감히 채용에 도전했었다. 고맙게도 이 회사는 나를 반겨주었다. 문제는 기존 리액트 네이티브 앱을 버리고 새롭게 네이티브로 시작하는 건 단순하게 말하면 안드..
안드로이드 개발 (33) Coroutine Flow on Android 안녕하세요 Loner 입니다. 스터디에서 발표를 했던 Android 에서의 Coroutine Flow 활용을 블로그에 다시 정리합니다. 입문용에 가까운 내용이기 때문에 설명이 축약된 부분이 많을 수 있습니다. 판초라는 청년이 산에 살고 있었습니다. 판초는 물을 길러오기 위해서 호수에 가야합니다. 하지만 호수를 찾아갔더니 호수의 물이 말라있었습니다. 직접 호수를 찾아가지 않고 물을 길러오는 동시에 물이 말랐는지 확인할 방법을 찾던 판초는 호수와 연결된 기나긴 통로를 만들면 어떨까 생각을 하게 됩니다. 결국 판초는 집에서 호수까지 연결되는 기나긴 파이프를 설치합니다. 그렇게 직접 호수에 찾아갈 일은 사라졌습니다. 호수에 물이 말라 있다면 파이프에 물이 흐르지 않을 것이고 호수에 물이 남아있다면 파이프에 물이..
안드로이드 개발 시 실수 모음 안녕하세요 Loner 입니다. 언제나 열심히 앱 개발 작업중 입니다. 정신 차려보니 벌써, 추석 명절을 맞았고 앱개발 때문에 시간이 항상 바빳지만 오랜만에 여유가 생겨서 블로그를 작성합니다. 명절 이벤트로 안드로이드 개발하면서 한번쯤 경험 할 수 있는 실수들을 모아봤습니다. 제 경험과 함께, 다른 안드로이드 개발자님들의 의견을 모아서 만들어봤습니다. 0. Manifest.xml - 필요한 permission을 추가 안함 - Activity의 export를 추가안함 - useClearTextTraffic 설정을 하지 않아서 삽질 - Service나 receiver 클래스를 만들어두고 manifest 에 설정 안함 1. RecyclerView 사용시 - 어댑터, xml , 로직 다 멋지게 만들었으나 layo..
안드로이드 개발 (32) LiveData와 MutableLiveData LiveData는 이미 내부적으로 setValue와 postValue가 존재하지만 이를 외부로 공개하지 않고 상속을 받은 서브클래스를 통해 외부로 공개합니다. 그렇기 때문에 이미 안드로이드에서 지원하는 LiveData는 MutableLive라는 서브클래스를 만들어두고 MutableLive에서 set을 허용하도록 개발자에게 환경을 제공합니다. 그렇게 View는 LiveData 에서 읽기만 할 수있고, ViewModel 에서 MutableLiveData를 통해 변경할 수 있는 권한이 생깁니다. 불변과 가변의 차이를 가진 LiveData와 MutableLiveData에 대해 각각 정리해봤습니다. 1.MutableLiveData package androidx.lifecycle; /** * {@link LiveD..