조금만 찾아보니 생각보다 빠르게 고칠 수 있었던 에러였지만 예전에도 한 번 겪었던 에러이기 때문에 이렇게 기록으로 남기려고 한다. 그리고 나와 같은 안드로이드 입문자들이 데이터 바인딩을 쓰다 보면 한 번씩 겪을 에러이기 때문에 조금이라도 시간을 아끼길 바라며 간략하게 글을 남기려고 한다. 원인 우선 에러 코드를 통해서 문제시 되는 코드는 다음과 같았다. ... android:text="@{myData.friendsNum}" ... xml에서 데이터바인딩을 통해서 friendsNum이라는 Int 값을 전달하게되면 내부적으로는 다음과 같은 자바 코드로 변환된다. // myDataFriendsNum Integer this.myTextView.setText(myDataFriendsNum); 하지만 위 함수의 m..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c0SlLv/btq6hTm9rPT/5TDqe2qzhiabByfRsNr7VK/img.png)
목표 퀵 정렬(quick sort)에 대해 설명할 수 있다. 퀵 정렬(quick sort) 과정에 대해 설명할 수 있다. 퀵 정렬(quick sort)를 Kotlin으로 구현할 수 있다. 퀵 정렬(quick sort) 의 특징을 이해하여 시간 복잡도와 공간 복잡도를 계산할 수 있다. 요약 합병 정렬과 같이 분할 정복 알고리즘 중 하나로 평균적으로 매우 빠른 수행 속도를 자랑하는 정렬 방법이다. 합병정렬과는 달리 리스트를 비균등하게 분할한다. 분할 정복 (divide and conquer) 방법 문제를 작은 2개의 문제로 분리하고 각각 해결한 다음, 결과를 모아서 원래의 문제를 해결하는 전략. 대개 순환 호출을 이용하여 구현한다. 과정 (오름차순) 리스트 안에 있는 한 요소(피벗)을 선택한다. 피벗을 기준..
목표 Insertion Sort에 대해 설명할 수 있다. Insertion Sort 과정에 대해 설명할 수 있다. Insertion Sort를 Kotlin으로 구현할 수 있다. Insertion Sort의 특징을 이해하여 시간 복잡도와 공간 복잡도를 계산할 수 있다. 요약 Insertion Sort는 Selection Sort와 비슷하여 헷갈릴 수 있지만 좀 더 효율적인 정렬 알고리즘이다. Insertion Sort는 2번째 요소부터 시작하여 그 앞의 요소들과 대소 비교하여 삽입할 위치를 지정한 후 삽입할 위치 이후의 요소들을 한 칸씩 뒤로 미루면서 삽입하는 정렬 알고리즘이다. 최선의 경우에는 O(N) 이라는 빠른 효율성을 가지고 있어 다른 정렬 알고리즘의 일부로 사용될 만큼 좋은 정렬 알고리즘이다. 과..
목표 Selection Sort에 대해 설명할 수 있다. Selection Sort 과정에 대해 설명할 수 있다. Selection Sort를 Kotlin으로 구현할 수 있다. Selection Sort 의 특징을 이해하여 시간 복잡도와 공간 복잡도를 계산할 수 있다. 요약 Selection Sort는 원소를 넣을 위치를 지정해놓고 해당 위치에 넣을 원소를 선택하는 알고리즘이다. Insertion Sort와 헷갈릴 수가 있는데 Insertion Sort는 한 원소를 정한 후에 해당 원소가 들어갈 위치를 탐색하는 것이고 Selection Sort는 위치를 지정하고 해당 위치에 넣을 원소를 탐색한다. 과정 (오름차순) 주어진 배열 중에서 최소값을 찾는다. 찾은 최소값을 첫 번째 위치와 값을 교체한다. 첫 번..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bpqZ41/btq59Ol3ZUr/jxHkKmKSJp44kBGRKMeQ11/img.png)
거품 정렬 (Bubble Sort) 목표 Bubble Sort에 대해 설명할 수 있다. Bubble Sort 과정에 대해 설명할 수 있다. Bubble Sort를 Kotlin으로 구현할 수 있다. Bubble Sort의 특징을 이해하여 시간 복잡도와 공간 복잡도를 계산할 수 있다. 요약 Bubble Sort는 인접한 두 원소의 대소 비교하여 조건에 충족하지 않으면 자리를 바꾸는 정렬 알고리즘이다. 정렬과정에서 요소가 천천히 정렬되는 모습이 거품이 수면 위로 떠오르는 것 같다고 해서 Bubble Sort라고 부른다. 과정 (오름차순) 첫 번째 요소와 두 번째 요소를 비교하여 앞의 요소가 더 크다면 두 요소의 위치를 교환(Swap)한다. 1번 과정을 n-1번째 요소와 n번째 요소까지 반복하면 n번째에 가장 ..
필요한 것은 총 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초 이상의..