이미지하나 때문에 정말 많은 시간이 걸렸습니다..이미지 관련 자료들이 옛날자료들이 많고(JAVA 코드 다수) 중간에 안드로이드 보안 정책에 따라 절대경로를 통해 이미지를 얻는 방법이 막혔더라구요작성된 글의 기능은 Q&A 관련 기능에 이미지 처리 관련 부분입니다!임시파일
클린 아키텍처를 왜 써야할까?RoomDB를 처음 배웠을 때 메모장 앱을 구현한 디렉터리안드로이드를 개발하다 보면 한번쯤은 마주치는 클린아키텍처란 무엇일까요?알아보기전에! 초심으로 돌아가서 저는 안드로이드를 처음 공부 할 때 Xml로 UI를 구성하고, 각 UI맞게 코드를
이전 글: \[Android] 클린 아키텍처+ Dagger Hilt 적용하기 - 1Dagger Hilt란?프로젝트에서 종속 항목 수동 삽입을 실행하려면 모든 클래스와 종속 항목을 수동으로 구성하고 컨테이너를 사용해 종속 항목을 재사용 및 관리해야 합니다.Hilt는 프로
\* 해당글은 gradle version 8.3 기준입니다.들어가기에 앞서...프로젝트를 진행하면서 app 모듈에서 패캐지 단위로 계층을 나눠보다가 언젠가 한번쯤은 멀티모듈을 사용해보고 싶었습니다. 멀티모듈은 재사용에 용이하고, 단위 테스트에도 유리하다고 합니다. 멀티
에러 원인보통 이런 오류는 gradle 설정 오류입니다 이런 오류는 마주치면 삽질하기 굉장히 쉽습니다android 개발을 하면서 gradle에 대해 공부하거나 깊게 다루는 기회가 흔치 않기 때문이라 생각합니다!아래는 제가 적용한 해결법입니다. (참고로 AGP버전은 8.
종속항목삽입(DI)은 프로그래밍에서 널리 사용되는 기법으로 안드로이드 개발에 적합합니다.예를들어 Car 클래스는 Engine 클래스 참조가 필요할겁니다. 이처럼 필요한 클래스를 종속항목이라 하며, 이 예에서 Car 클래스가 실행되기 위해선 Engine 클래스의 인스턴스
이전글\[Android] Dagger Hilt 집중탐구 - 1지난글에 이어서 이번엔 Hilt를 적용해보고 Hilt에 대한 개념을 좀 더 자세히 알아보려합니다!Hilt를 쓸 준비플러그인 (프로젝트 루트)build.gradle (app 수준)참고: Hilt는 자바 8기능을
위치정보에 권한에 대해 알기 전에 사전 지식이 필요합니다!출처 - 안드로이드 공식문서(https://developer.android.com/develop/sensors-and-location/location/permissions?hl=ko사진을 보면 알 수 있
RoomDB 버전 2.6부터 플러그인으로 자동으로 버전 마이그레이션을 해준다는 소식을 듣고 시도해봤습니다!우선 해당 자동 마이그레이션을 하기 위해\[안드로이드 공식문서 - 플러그인으로 RoomDB 자동 마이그레이션하기](https://developer.andr
Hilt와 Compose를 사용하면서 뷰모델을 생성할 때 hiltViewModel() 이라는 편한 기능이 있습니다. 하지만 @HiltViewModel 어노테이션을 볼 때 짐작 가능하듯이, 해당 뷰모델의 파라미터에는 Hilt에 관련된 것만 삽입할 수 있습니다. 즉 Hil
Android를 위한 현대적인 선언형 UI 도구 키트입니다.XML을 전혀 사용하지 않고 오직 코틀린으로만 사용하는 API라고 볼 수 있습니다!"동일한 버튼 클래스의 경우 코드의 규모가 10배 더 작았습니다.” \-트위터“RecyclerView로 빌드한 모든 화면에서 상
Medium에 메일 알람 설정을 해놓았는데 어느날 MVI 패턴 관련 레퍼런스가 업로드 된 것을 확인 할 수 있었습니다 (레퍼런스 찾으면서 읽기 귀찮을 때 설정하면 좋은것같아요 🤓)게시글로 이동 MVI 패턴은 예전 디자인 패턴아닌가?하고 궁금증에 게시글을 들어가봤습니다
먼저 Compose가 왜 MVI 패턴과 잘 어울리는지와 MVI 패턴에 대한 설명은 Compose에 MVI를 적용해야하는 이유를 참고해주시면 될 것 같습니다!해당 예제코드는 버튼을 누르면 값이 증가, 감소하고 다른화면으로 전환하는 아주 간단한 프로그램입니다!포스트 내용은
서론 이걸 이렇게 쓴다고...?! 개발하다보면 정말 예기치 않는 오류들을 마주 할 때가 많습니다 그 중 가장 찾기 힘든것이 개발자가 의도한 시나리오와 전혀 다른, 좋게말하면 창의적인 플로우 방식으로 서비스를 이용한다는 것입니다 기억나는일 중에 프로젝트 최종발표 시연
Medium에 올라오는 글중 흥미로운 글을 발견했습니다바로 Mastering Android ViewModels 시리즈물 중 첫번째인 ViewModel에 init{} 블록을 이용한 초기화를 하지마라라는 글인데요솔직히 처음봤을땐 의아했습니다해당 포스터를 자세히 보고싶으신
테스트 코드가 중요하다고 하지만 어떻게 어디서부터 시작해야할지 막막한 경우가 많습니다 (제가 그랬어요)이런 생각으로 테스트 코드 작성을 미루고 또 미뤘습니다솔직히 아직까진 테스트 코드에 대한 환상적인 경험을 하진 못하기도 했고 필요성도 못느꼈습니다하지만.. 진행중인 사
앱을 사용하다보면 강제종료 경험은 누구나 한번쯤 겪어보는 경험입니다 😡특히 앱은 웹과 다르게 빠른 업데이트가 불가능하기 때문에 더더욱 조심해서 개발해야합니다.하지만 어떤 프로그램이던 100% 완벽히 동작하는 앱은 거의 없습니다 (버그가 없는 서비스가 더 무서워요 😦