본문 바로가기

분류 전체보기

(104)
Compose / 선언형 UI(Declarative UI)란 무엇인가 (명령형 UI와의 차이) 기존 UI 방식 사용자 상호작용 등의 이유로 인해 앱의 상태가 변경되면, 현재 데이터를 표시하기 위해 UI 계층 구조를 업데이트해야 한다. UI를 업데이트하는 가장 일반적인 방법은 findViewById()와 같은 함수를 사용하여 트리를 탐색하고 button.setText(String), container.addChild(View) 또는 img.setImageBitmap(Bitmap)과 같은 메서드를 호출하여 노드를 변경하는 것이다. 이 기법은 처음부터 화면 전체를 개념적으로 재생성한 후 필요한 변경사항만 적용하는 방식으로 작동한다. 데이터를 여러 위치에서 렌더링한다면 데이터를 표시하는 뷰 중 하나를 업데이트하는 것을 잊기 쉽다. 또한 두 업데이트가 예기치 않은 방식으로 충돌할 경우 잘못된 상태를 야기하..
스터디 / 함수형 UI 스터디 - Compose https://github.com/LeeEunjeong1/Declarative-UI-Study GitHub - LeeEunjeong1/Declarative-UI-Study Contribute to LeeEunjeong1/Declarative-UI-Study development by creating an account on GitHub. github.com 무신사앱 클론코딩을 하며 컴포즈에 익숙해지자. ios - swift UI android - compose
안드로이드 스튜디오 / Configuration cache problems found in this build.1 problem was found storing the configuration cache.- 프로젝트 배포 aab 파일을 만들다가 다음과 같은 처음 보는 에러가 발생했다. Configuration cache problems found in this build. 1 problem was found storing the configuration cache. - Task `:app:collectReleaseDependencies` of type `com.android.build.gradle.internal.tasks.PerModuleReportDependenciesTask`: invocation of 'Task.project' at execution time is unsupported. See https://docs.gradle.org/7.3.3/userguide/configuration_cache...
안드로이드 스튜디오 / GoogleMap 클러스터링 마커에 uri를 통해 이미지 로드시 기본마커 나타날때 구글맵 클러스터링 마커에 glide를 이용하여 이미지를 표시하려고 했는데, 이미지를 로드하기 전에 마커가 먼저 찍혀버려서 기본 마커가 표시되고 난 다음에 이미지 마커가 표시되는 현상이 생겼다. >>> 마커render가 완료되기 전에는 마커를 안보이게 하고, 마커render가 완료된 시점에 마커를 보이게 해야 한다. onBeforeClusterItemRendered에서 marker visible을 false로 해주고, onClusterItemRenedred에서 marker visible을 true로 해주었다. override fun onBeforeClusterItemRendered( item: MyItem, markerOptions: MarkerOptions ) { super.onBeforeClusterI..
안드로이드 스튜디오 / navigation fragment backStack 없애기 (popupTo / popUpToInclusive) navigation component를 이용하여 fragment를 이동시켰는데, 뒤로가기를 누르면 원치 않는 backstack이 남아있는 문제가 생겼다. 예를들어, 회원가입시 아이디 중복확인 -> 핸드폰 인증 -> 회원 정보 입력 -> 회원가입 완료 플로우를 framgent 이동으로 한다. 회원가입이 완료가 되어도, 뒤로가기 누르면 회원정보 입력 fragment가 그대로 남아, 회원가입이 또 요청가능해지는 경우가 생길 수 있다. 이를 해결하기 위해 회원가입 activity를 따로 띄워, 회원가입 완료시 activity를 종료하는 방법이 있다. 프로젝트가 SAA(Single Activity Architecher)로 이루어져있으면 위의 방법으로는 해결하기 곤란하다. 같은 모든 화면이 fragment로 구성되..
안드로이드 스튜디오 / 버튼 중복 클릭 방지하기 - api 중복 요청 없애자 모든 사용자가 버튼을 의도한대로 한번만 누르면 참 좋겠지만.. 사용자를 다 통제할 수는 없었다. 버튼을 눌러 api를 요청하고, 응답을 기다리는 그 사이에 버튼을 한 번 더 클릭하여 api가 중복으로 호출되는 일이 발생했다. 해결방법은 다양하게 있을텐데 (interval 시간을 주는 등) 중복클릭 방지처리를 해야하는 버튼이 많아서 간단하게 enabled 설정값만 주었다. fun btnClick(view: View){ if(view.isEnabled){ api 호출 } view.isEnabled = false } dataBinding을 사용해서, viewModel에서 버튼 클릭 함수를 다뤄줬다. 버튼이 isEnabled이 true인 경우에만 호출을 해주었고, 클릭 이벤트가 생기면 isEnabled를 fal..
안드로이드 스튜디오 / 안드로이드 스튜디오에서 하드코딩 string 찾기 다국어 지원을 위해 string값들을 정리하고 있었는데, 숨어있는 하드코딩된 string이 자꾸 나왔다 과거의 나를 탓하며... 한 번에 찾는 방법 없을까 구글링을 해보니 역시 방법이 존재했다. 1. ctrl+shit+alt+i -> Hardcoded strings 2. 맨 마지막줄 Ignore lines whole content matches this regular expression 이 조건 잘 활용해야된다 그대로 냅두면 모든 문자열이 검색 안되는 상황 발생한다. 3. 짠 조건에 맞는 모든 스트링 파일들이 다 나온다 https://youngest-programming.tistory.com/225
윈도우 업데이트 후 소스트리 실행 안될때 (23.06.20) 소스트리 아이콘을 아무리 눌러도 소스트리 실행이 안되는 버그(?)가 있다. 오픈카톡방에서 이미 윈도우 업데이트 후에 소스트리가 안된다는 소식을 들어서 바로 구글링을 해봤다. 먼저 AppData/Local/Atlassian 경로에 들어간다. SourceTree.exe_Url 어쩌구 폴더를 클릭한다. (여러개가 있을 경우 수정한 날짜가 가장 최신인 것 선택) 이 파일들 중 Composition.cache 파일을 삭제하면 된다. https://jerryjerryjerry.tistory.com/179 SourceTree 실행 안됨/재설치해도 안됨/갑자기 안됨 소스트리 아이콘을 눌러도 아예 실행되지 않는다. 소스트리 스플레시 화면은 나타나지만, 그 다음 반응이 없다.. 본인은 윈도우를 사용중인데 생각해보니 윈도우..

반응형