• Drag and Swipe RecyclerView

    RecyclerView에서 아이템을 편집할 때 사용하는 대표적인 제스처 2가지가 있다. Drag & Drop : 아이템 순서 바꾸기 Swipe to Dismiss : 아이템 제거하기 Android Support Library에는 RecyclerView에 위 기능 추가를 지원하는 유틸리티 클래스가 포함되어 있다. ItemTouchHelper ItemTouchHelper는 RecyclerView.ItemDecoration의 서브 클래스이다. RecyclerView 및 Callback 클래스와 함께 작동하며, 사용자가 이러한 액션을 수행할 때...


  • CharSequence와 String의 차이 (feat. StringSpannableBuilder)

    String? String은 하나의 클래스이다. Java 프로그램의 모든 문자열 리터럴은 이 클래스의 인스턴스로 구현된다. 중요한 점은 문자열 값은 작성된 후에 변경할 수 없다는 것이다. String 객체에 보관하는 문자열은 유니코드로 변형되므로 HTML과 같은 마크업 문자를 입출력할 때 문제가 발생한다. 이와 같이 마크업 문자를 입력하여 사용할 수 없기 때문에 변경할 수 없는 문자열이라고...


  • 코드 페스티벌 STAFF로 참여하다

    어제 즉, 9월 9일에 카카오 코드 페스티벌 본선이 진행되었다. 카카오에서 준비한 대학(원)생 프로그래밍 경진대회로 온라인 예선을 걸쳐서 오프라인 본선에 진출한 참가자들이 참여하였다. 나는 대회 참가자는 아니고 STAFF로서 참여하게 되었다. 그동안 행사나 컨퍼런스에는 항상 관람자(?)로서 아무도 모르게 조용히 가서 아무도 모르게 조용히 듣고 오는 입장이었다. 하지만 이번에는 STAFF로 지원했는데, 여러 가지...


  • Train my coding skills

    두 달여 전 알고리즘에 관련하여 온라인상에서 많은 논란이 있었던 것으로 기억한다. 물론 각자의 관점에 따라 생각이 다르겠지만, 어찌 되었건 현재에도 컴퓨터 과학에서 기초로 배우는 학문(?)이라는 것은 변함없다. 참고로 나는 알고리즘에 대한 지식이 얕고 퀴즈에 대해 두려움을 가지고 있는 상태다. 아직 실무에서 알고리즘의 중요성을 뼈저리게 느끼고 사용해본 입장은 아니다. 오히려 작년...


  • RecyclerView에 대한 고찰

    ListView Android 4.4(Kitkat) 까지는 아이템 목록을 보여주기 위해 ListView 위젯이 사용되었다. 그리고 더 좋은 성능(ex. smooth scroll)을 위해 사용 방법이 변해왔다. public class MyAdapter extends BaseAdapter { // override other abstract methods here @Override public View getView(int position, View convertView, ViewGroup parent) { View view = getLayoutInflater().inflate(R.layout.list_itme, parent, false); ((TextView)...