Development

당겨서 새로고침(Pull-To-Refresh) 리스트뷰 라이브러리

당겨서 새로고침은 안드로이드가 제대로 흥하기 이전, iOS에서부터 인기를 끌기 시작했다. 크기가 작고, 따로 외부버튼이 없던 아이폰에서 당겨서 새로고침(Pull-To-Refresh)는 참 획기적인 UX중 하나였었다. 그런데, 운영체제의 차이 때문인지 이걸 안드로이드에서는 구현하기가 매우 어려웠던 모양이다.

Development

안드로이드 이미지 로드 라이브러리

안드로이드에서 비트맵을 로드하는 코드를 짤 때, 초보와 고수를 막론하고 항상 막히는 문제가 있다. 지긋지긋한 비트맵 메모리 누수 에러(Bitmap OutOfMemoryError)가 바로 그 문제인데, 이를 해결하기 위해 별별 방법이 동원되어왔다. 액티비티가 끝나면 가비지 컬렉팅을 하라는 둥, 이미지를 미리 줄여서 불러오라는 둥(BitmapFactory.Options.inSampleSize)…… 사실 본인의 경우도 이 문제로 무지막지하게 고생한 관계로 덕분에 이미지 다루는데는 꽤 능숙해졌지만 여전히 마음에 안드는 부분은 많이 존재한다.

어지간한 이미지 로드 코드도 OutOfMemoryError 앞에는 장사가 없었는데, 얼마전에 찾아낸 라이브러리는 개발자가 이미지 로드에 대해 더 이상 신경쓰지 않아도 되도록 해 주었다.

Development

슬라이딩 메뉴(Sliding Menu) 라이브러리

이 글은 매우 오래된 것으로, 네비게이션 드로어(Navigation Drawer)라는 구글이 제공하는 새로운 API를 사용하길 바란다. 이에 대하여 새로 글을 작성하였다.


화면을 왼쪽에서 오른쪽으로 드래그, 혹은 스와이프 하면 왼쪽에서 부드러운 애니메이션과 함께 짠 하고 나타나는 슬라이딩 메뉴는 요즘 앱들의 대세적인 UX/UI라고 보아도 과언이 아니다. 홈버튼을 제외하면 화면을 조작하기 위한 다른 하드웨어 버튼이 존재하지 않는 iPhone, iPad의 경우 이러한 슬라이딩 메뉴는 상당히 오래전부터 유행했었고, 구글의 기본 앱들이 최근들어 업데이트되면서 거의 모든 앱에 해당 기능이 나타났다.

Development

핀치 투 줌(Pinch-To-Zoom) 라이브러리

이미지를 표기하는 앱에 있어서 가장 중요한 것 중 하나라고 한다면, 이미지 화질이나 캐시같은 문제도 있겠지만 개인적으로는 핀치투줌 기능을 넣는 것이라 본다. (시코 모바일 V1에서는 이 기능을 귀찮아서 안넣었다가 필요성을 절실하게 깨닫고 V2에는 집어넣었다.) 헌데 안드로이드 쪽은 이 기능을 구현하기 위해서 쓰는 방법이 널리 알려진 안드로이드 1.5시절 소스를 가져다 쓰는 것인데, 이럴 필요 없이 이걸 아주 간단한 방법으로 해결해 주는 라이브러리를 찾았다.

Development

쓸만한 안드로이드 뷰 컴포넌트 모음

안드로이드 앱을 개발하다 보면 대부분의 사람들이 겪는 문제가, 이런 앱을 만들려고 하는데 뷰 컴포넌트를 어떻게 개발해야 할 것인가일 것이다. 인터렉티브하고 화려한 애니메이션과 함께 작동하는 뷰 컴포넌트는 누구나가 만들고 싶어하지만, 직접 개발하자니 어렵고 라이브러리를 찾아서 가져다 쓰자니 뭐라고 검색해야 할지가 꽤 어렵다.