같이 일하시는 분께서 지금 작업하고 있는 프로젝트에 클린 아키텍처 개념을 적용해보면 좋을 것 같다고 말씀해주셔서 과감하게 도전해보기로 하였다. 우선 개발에 공통적으로 적용할 수 있는 클린 아키텍처 개념은 다른 페이지에 따로 정리를 해놨다. 공통적으로 적용되는 클린 아키텍처에 대한 개념은 Entities, Use cases, Interface Adapters, Frameworks & Drivers로 4가지 계층으로 나타나는데 안드로이드에 맞춘 클린 아키텍처는 이를 응용하여 3가지 계층으로 나타낸다. 그림은 다음과 같다. 일반적으로 Presentation, Domain, Data의 총 3개의 계층으로 나눠지게 됩니다. Presentation UI(Activity, Fragment), Presenter 및 V..
RecyclerView의 item에 Custom View를 넣고 싶을 때 이슈 RecyclerView가 10개의 아이템을 가지고 있다고 하였을 때, 0번째 item에서의 Custom View에서 특정 작업을 했던 것이 7번째 item의 Custom View에도 영향을 줍니다. 즉, 별개의 Custom View로 동작해야하는데 서로가 서로에게 영향을 줬습니다. 0번째, 7번째가 서로 영향을 주는 것은 특정 상황에서만 나온 것이고 서로 영향을 주는 객체는 매번 달라졌습니다. 수정 전 코드 지금껏 해왔던대로 RecyclerView의 item 레이아웃(item_layout.xml)에 직접 만든 Custom View를 넣어서 사용함. (저 같은 경우에는 GraphView를 만들었습니다.) RecyclerView ..
조금만 찾아보니 생각보다 빠르게 고칠 수 있었던 에러였지만 예전에도 한 번 겪었던 에러이기 때문에 이렇게 기록으로 남기려고 한다. 그리고 나와 같은 안드로이드 입문자들이 데이터 바인딩을 쓰다 보면 한 번씩 겪을 에러이기 때문에 조금이라도 시간을 아끼길 바라며 간략하게 글을 남기려고 한다. 원인 우선 에러 코드를 통해서 문제시 되는 코드는 다음과 같았다. ... android:text="@{myData.friendsNum}" ... xml에서 데이터바인딩을 통해서 friendsNum이라는 Int 값을 전달하게되면 내부적으로는 다음과 같은 자바 코드로 변환된다. // myDataFriendsNum Integer this.myTextView.setText(myDataFriendsNum); 하지만 위 함수의 m..
필요한 것은 총 4가지 입니다. Layout 파일에 ProgressBar 배치 ProgressBar에 적용할 애니메이션 xml 파일 애니메이션을 불러와서 progressBar에 적용하고 애니메이션을 실행하는 로직 적절한 때에 애니메이션을 취소해주는 로직 1. Layout 파일에 ProgressBar 배치 ... ... 원하는 곳에다가 ProgressBar를 배치해줍니다. 본 글의 내용과는 상관없지만 indeterminateTint와 indeterminateDrawable을 통해서 ProgressBar를 대체할 이미지와 색을 지정할 수 있습니다. 2. ProgressBar에 적용할 애니메이션 xml 파일 저 같은 경우에는 중앙을 중심점으로 0.8초를 주기로 한 바퀴를 무한히 도는 애니메이션을 적용하였습니다..
본 포스팅의 내용은 [깡샘의 안드로이드 프로그래밍]을 공부하고 작성자가 생각을 정리하기 위해서 작성한 글이므로 더욱 자세한 내용을 알고 싶으신 분은 [깡샘의 안드로이드 프로그래밍]을 강력 추천합니다!! ANR(Application Not Responding) ANR은 액티비티가 사용자 이벤트에 반응하지 못 하는 상황을 이야기합니다. 좀더 자세히 말하자면 액티비티가 출력된 상황에서 사용자 이벤트에 5초 이내에 반응하지 못하면 시스템에서 액티비티를 강제로 종료하게 됩니다. 사용자들은 보통 이를 버그라고 인식하게 되겠죠. ANR은 특정 업무가 5초 이상의 시간이 걸려 사용자의 이벤트를 처리하지 못 하게 되는 경우에 발생합니다. 긴 시간이 걸리는 업무 처리가 많지 않을 것 같지만 앱을 개발하다 보면 5초 이상의..