• [Android][Kotlin] Grid item 그리드 아이템 만들기

    Grid item GridView나 RecyclerView의 그리드 레이아웃을 사용하려면 우선 뷰를 채울 item을 새 레이아웃 파일로 만든다. 이미지를 정사각형으로 유지하려면 width와 height 값이 같아야 한다. 하지만 dp로 길이 값을 입력하면 화면 크기가 달라져도 이미지 크기가 고정이 되어서 예쁘게 배열되지 않는다. 이럴 때에는 이미지뷰를 클릭하고 attributes 창 왼쪽에서 ratio 1:1 설정과 match_constraint 설정을...


  • [GitHub] 깃허브 브랜치 기초 사용

    깃허브에 연습용 프로젝트를 올리면서 드디어 git branch의 필요성을 느꼈다. 이전에는 무조건 master 브랜치로만 작업하고, 틀렸을땐 강제로 reset과 --force로 돌려놓는 식으로 일했었다. 그러지 않기 위해서, 일단 깊은 이해보다는 빠르게 적용하기 위한 최소한의 내용만 기재했다. git branch 처음에 기본 브랜치는 자동으로 master로 생성, 설정된다. 이 브랜치 하나로만 작업을 하면 이전 버전으로 돌아가거나...


  • [Android][Kotlin] 코틀린 RecyclerView(2)

    마지막 수정 : 2018-06-29 RecyclerView(1) 포스트에서는 리사이클러뷰를 통해 데이터를 출력하는 과정까지 정리했다. 이번 포스트에서는 코틀린 프로젝트에서 각 item을 클릭했을 때에 이벤트를 처리하는 방법을 정리했다. itemClick Listener ListView에서는 메인 액티비티 코드에서 setOnClickListener를 통해 각 item별 클릭 처리를 할 수 있었지만, RecyclerView에서는 별도로 클릭 리스너를 생성해주어야 한다. 이 처리는 Adapter에서 람다를 통해...


  • [Android][Kotlin] 코틀린 RecyclerView(1)

    마지막 수정 : 2018-06-29 ListView와 RecyclerView ListView에서는 모든 데이터에 대한 View를 만들고, View가 사라졌다가 나타날 때마다 리소스를 불러와야 한다. 예를 들어, 화면을 아래로 스크롤 했다가 다시 위로 올릴 때마다 리소스를 불러오게 된다. 이 방법은 많은 메모리와 저장 공간을 사용하므로, 대용량의 데이터를 이용하면 앱이 느려지거나 충돌할 가능성이 있다. RecyclerView는 ListView의 단점을...


  • [Android][Kotlin] 코틀린 ViewHolder 뷰홀더

    ViewHolder의 필요성 ListView에서 발견된 문제점은, 스크롤을 움직이는 등 View가 보이거나 사라지면 그 때마다 findViewById를 통해 convertView에 들어갈 요소를 찾는다는 점이었다. 스크롤 할 때마다 View를 찾으면 리소스를 많이 사용하게 되고, 속도가 느려진다. ViewHolder를 이용하면 이 View의 재활용(recycle)이 가능하다. ViewHolder 활용 ListView의 각 View와 실제 데이터를 매칭하는 것이 Adapter의 역할이다. 따라서 ViewHolder를...