전체보기 (217) 썸네일형 리스트형 [AOS] Dagger Hilt - DI 요즘 mvvm 검색하면 항상 붙어 나오는 키워드중 하나가 DI인것 같습니다. ( 요즘이 아니라 한참 오래전이긴 함 ) MVVM을 적용해보면서 코인은 써봤지만 hilt는 'Dagger'의 학습곡선이 상당하다는 얘기만 들어서 엄두도 못내다가 이직한 회사에 힐트가 적용되어 있어 공부한 내용을 정리해봅니닷 | DI 필요성 ( 의존성 주입 ) A 클래스에서 B 클래스를 객체화 해서 사용하는 경우를 예를 들어보면 아래와 같습니다. class A{ val b = B() ... } class B{ ... } 만약 B클래스의 기능 변화로 객체화시 넘겨줘야 하는 변수가 생긴다면 B클래스를 객체화 하는 클래스를 모두 찾아서 그에 맞게 변경 해줘야 합니다. class B constructor(val number: Int){ .. [AOS] ParseError at [row,col]:[4,2] - 명확하지 않은 에러 잡기 브런치 머지하는 과정에서 충돌을 해결할때 위와 같은 에러가 발생했습니다. 형상관리 툴로는 소스트리를 사용하고 있고, 충돌된 파일들을 알맞게 수정했는데 빌드시 'ParseError at [row,col]:[4,2]' 에러가 발생했습니다. 어떤 파일이 문제가 있는지 명확하게 나오지 않아 구글링을 해보니 xml 파일의 태그를 닫지 않았거나, 잘못된 문자가 들어갈 경우 발생하는 문제라는걸 알 수 있었습니다. 그래서 할 수 있었던건 변경된 xml 파일들을 뒤져서 충돌이 미쳐 해결되지 못했다거나, 잘못된 파일이 있는지 모두 검사했을때 발견할 수 있었습니다. 요약 정확한 에러 파일이 나타나지 않으면 변경한 xml 파일 모두를 뒤져봅시다. [AOS] 하단 네비게이션 배경색 변경 안드로이드 유저에게 익숙한 하단 네비게이션의 색상을 변경해 조금 더 자연스럽게 연출할 수 있습니다. 작은 부분이지만 일부 유저에겐 감동(?)을 줄수 있습니다. 아래 예시 사진을 보면 제가 개발한 '식물일기'입니다. 안타깝게도 제 앱에도 아직 적용하지 못했네요.. 지금 한창 디자인 개선중에 있는데 언능 출시해야하는데 맘처럼 쉽지 않네요 ㅠ 코드 구글링 했을때 배경색 바꾸는 코드들은 많았는데 버튼 색상 변경하는 코드들이 버전을 타는 이슈들이 있었는데 아래 코드는 minSDk 21인 앱에도 문제 없지 작동했습니다. window.navigationBarColor = ContextCompat.getColor(this,R.color.white) // 배경색 변경 WindowInsetsControllerCompat(.. [AOS] adb pair로 빌드 간편하게 하기 adb pair 기능으로 빌드를 USB 연결을 하지 않아도 가능합니다. 있다는건 알고 있었지만 나중에 해야지 하면서 익숙함에... 실제로 usb 연결이 잘 안되서 ( 전력문제인지 종종 끊겨서 재연결 하거나 그래야함 ) 불편했는데, 연동 방법은 5분도 안걸리니 다들 적용하셔서 편하게 개발 하세요 ! adb는 앱 설치 및 디버깅과 관련된 작업을 도와주는 라이브러리로 브릿지 말고도 편리하게 사용할 수 있으니 사용 안해보신 분은 꼭 사용해보세요 ! [포스팅] [안드로이드/Android] ADB 사용하기 이번 포스팅은 ADB(Android Debug Bridge)입니다. ADB는 애뮬레이터나 연결된 안드로이드 기기에 통신을 통해 앱 설치, 캐시삭제등을 명령해 생산성을 높히는 관리도구 입니다. 테스트 환경 Win.. [AOS] 텍스트 영역에 대한 타 파트와 협의 일지 해당 포스팅은 개인적 견해로 작성했습니다. 이견이 있으신분들은 댓글로 남겨주시면 감사하겠습니다. 텍스트뷰 영역보다 글자수가 많으면 줄바꿈이 생깁니다. 당연한 결과이지만 개발중인 앱의 디자인을 헤치지 않기 위해선 디자이너 및 기획자와 협의를 해야합니다. 최대 몇글자까지 올수 있는지, 해당 영역을 넘길 경우 줄바꿈을 할건지, 말줄임표를 할건지 정해야합니다. 정답이 있는건 아니지만 저는 보통 앱이 이쁘게 보이는 방향으로 설득을 합니다. 하지만 상대 의견이 타당하면 들어주는 편입니다. 그게 개발자의 역할이라고 생각합니다. ( 가능/불가능을 진단하고, 개발자 선에서 또 다른을 의견을 제안 해주는것 ) | 예시 아래는 네이버 앱의 캡쳐본인데 실시간 추천 영상 리스트를 보면 제목은 한줄, 내용은 두줄로 통일성을 갖고.. [AOS] TextView에 Auto size 적용하기 textview에 auto size를 적용시 한정된 영역에 글자를 모두 담지 못할 경우 사이즈가 줄어 드는 원리기 때문에 원칙적은 width / height를 고정 해줘야합니다. ( 구글은 wrap_content 비권장 ) 하지만 height를 고정하면서 글자가 짤리지 않고 불필요한 여백을 갖지 않게 하는건 번거롭기 때문에 wrap_content를 사용하고 maxLines를 1로 지정해주면 됩니다. - autoSizeTextType : uniform으로 지정 - autoSizeMinTextSize : 작아질 최소 사이즈를 지정합니다. - autoSizeStepGranularity : 영역에 넘칠 경우 크기를 줄일 단위를 지정합니다. ( 위 코드는 1dp씩 줄어듬, 클수록 부자연스러움 ) - autoSiz.. [AOS] kaptDebugKotlin 빌드 이슈 해결 ( feat. m1 ) 이직한 회사에서 m1을 구매해 사용하고 있는데, 기존 프로젝트가 빌드에러가 발생 했습니다. Execution failed for task ':app:kaptQADebugKotlin'. > A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction > java.lang.reflect.InvocationTargetException (no error message) 읭? 코드를 바꾼게 없는데 발생한 에러가 발생해서 m1산거를 후회하던 찰나에 비슷한 이슈를 겪은 분을 발견해 에러를 고칠수 있었습니다. Room과 m1이 제대로 호환이 안되서 발생한 문제로 해결책.. [AOS] 무한 롤링 배너 구현 일정 아이템들이 무한으로 흐르는 배너를 구현하게 됐습니다. 위 앱은 솔드아웃 앱으로 상단 프로모션 밑에 각종 상품들이 유저 액션 없이도 흐르는걸 볼수 있는데 이와 같은 UI를 Recyclerview를 이용하여 구현 했습니다. | ListApdater.kt 다른 무한 스크롤과 동일하게 실제로 무한은 아니지만 무한처럼 보이게 하기 위해 ItemCount를 'Int_MAX_VALUE'로 설정합니다. 'position % items.size' 로 매 아이템이 반복됩니다. class ListAdapter: RecyclerView.Adapter() { private val items = listOf() inner class ItemViewHolder(private val binding: ItemBinding): R.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 28 다음