문제회사에서 병원에 판매하는 제품 중 전광판이라는 안드로이드 애플리케이션이 있다. 이 애플리케이션은 두 가지 역할을 하는데접수, 진료실, 상담실 등 순서대로 입장해야 하는 곳에 입장할 환자 표출병동 병실 별 입원 환자 목록 표출역할을 한다. 환자를 표출하는 로직은 의료진 선생님들께서 사용하시는 PC에서 병원 프로그램을 통해 환자 정보를 변경하면 앱으로 소켓 통신을 하게 되고 앱에선 받은 데이터를 화면에 보이게 된다. 이때 병원에 설치된 수많은 전광판마다 다르게 보여야 하는 정보가 있다. 대표적으로는 해당 전광판이 설치된 위치이다. 전광판을 설치할 땐 셋톱박스에 앱을 설치한 완제품 형태로 제공되고 셋톱박스는 고장 등의 이유로 수거가 되기도, 다른 위치에 재설치가 되기도 한다. 셋톱박스와 설치된 위치가 1:..
이전에 올린 안드로이드 라이브러리 배포에 대한 포스팅을 올렸다. 당연하게 인터넷에 주로 포스팅되어있는 방법대로 진행했으니 문제가 없을거라 생각했다. 하지만 역시 개발이란 생각대로 되는게 없었고......... 잘 배포가 됐나 확인을 안한채로 신나서 블로그 포스팅을 올려버린게 화근이었다. 라이브러리 의존성을 주입하고 내가만든 ScrollPager 레이아웃을 추가하려는데 보이지가 않는것이었다. 그래서 gradle sync 과정에서 문제가 생겼다 보고 로그를 확인해보니 이런 로그가 남아있었다..... 뭐가 문젠지 도저히 감이 안잡혀서 검색과 다시 만들어서 배포하고를 수없이 반복해서 놓친부분을 찾았다. 이 블로그에서 jitpack에 올리면 로그 아이콘이 남는데 빨간 아이콘은 라이브러리에 문제가 있는것이라 한다...
삼성서울병원의 회진용 태블릿 앱 개발중 진료과별 기본 이미지 업로드를 위해 상하 스크롤처럼 동작하지만, 스크롤을 막아두고 버튼을 누르면 페이지 이동이 되는거처럼 보이는 레이아웃를 만든적이 있다. 예시를 들기엔 생각이 잘 나지 않지만 회원가입에서 이런식의 레이아웃을 본적이 있는거 같았다. 꼭 이전 절차를 해야 다음으로 넘어가는 그런 느낌? 앱 개발을 끝낸 후 그 레이아웃을 라이브러리로 Github에 올렸었다. 대단하진 않지만 언젠간 배포도 하고 기능 업데이트를 해야지 생각만 하고 미루다 드디어 시도했다. 작동 일단 작동 방식은 다음과 같다 ViewGroup으로 ScrollPager를 넣고 그 안에 자식 View들을 넣은 다음, ScrollPager의 함수인 scrollToView()를 호출하면 해당 Vie..
이전 포스팅에서 RecyclerView.Adapter를 ListAdapter로 변경하면 에러가나는 모습을 보여드렸습니다. 이번 포스팅에선 ListAdapter에서 문제없이 ItemTouchHelper를 사용하는 방법을 적어보겠습니다. ListAdapter 우선 ListAdapter에 대해 간략히 알아보고 가겠습니다. RecyclerView.Adapter base class for presenting List data in a RecyclerView, including computing diffs between Lists on a background thread. This class is a convenience wrapper around AsyncListDiffer that implements Adapt..
RecyclerView의 아이템을 드래그 앤 드롭으로 순서를 변경하는 방법을 알아보겠습니다. RecyclerView의 아이템을 드래그&드롭할 때 onTouchListener, onInterceptTouchEvent, GestureDetector 등을 통해 이벤트 감지를 할 수 있지만, 안드로이드 RecyclerView 라이브러리에서 지원하는 ItemTuchHelper 클래스를 통해 쉽게 감지할 수 있습니다. ItemTuchHelper This is a utility class to add swipe to dismiss and drag & drop support to RecyclerView. It works with a RecyclerView and a Callback class, which configu..